button_test.go 1.1 KB

12345678910111213141516171819202122232425262728
  1. package menu
  2. import (
  3. "encoding/json"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. )
  7. func TestNewButtonFun(t *testing.T) {
  8. buttons := []*Button{
  9. NewSubButton("1", []*Button{
  10. NewViewButton("1.1", "https://baidu.com"),
  11. NewViewButton("1.2", "https://baidu.com"),
  12. NewViewButton("1.3", "https://baidu.com"),
  13. }),
  14. NewSubButton("2", []*Button{
  15. NewViewButton("2.1", "https://baidu.com"),
  16. NewViewButton("2.2", "https://baidu.com"),
  17. NewViewButton("2.3", "https://baidu.com"),
  18. }),
  19. NewViewButton("3", "https://baidu.com"),
  20. }
  21. data, err := json.Marshal(buttons)
  22. assert.Nil(t, err)
  23. assert.Equal(t, `[{"name":"1","sub_button":[{"type":"view","name":"1.1","url":"https://baidu.com"},{"type":"view","name":"1.2","url":"https://baidu.com"},{"type":"view","name":"1.3","url":"https://baidu.com"}]},{"name":"2","sub_button":[{"type":"view","name":"2.1","url":"https://baidu.com"},{"type":"view","name":"2.2","url":"https://baidu.com"},{"type":"view","name":"2.3","url":"https://baidu.com"}]},{"type":"view","name":"3","url":"https://baidu.com"}]`, string(data))
  24. }