util_test.go 839 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package tsgen
  2. import (
  3. "github.com/stretchr/testify/assert"
  4. "github.com/zeromicro/go-zero/tools/goctl/api/spec"
  5. "testing"
  6. )
  7. func TestGenTsType(t *testing.T) {
  8. member := spec.Member{
  9. Name: "foo",
  10. Type: spec.PrimitiveType{RawName: "string"},
  11. Tag: `json:"foo,options=foo|bar|options|123"`,
  12. Comment: "",
  13. Docs: nil,
  14. IsInline: false,
  15. }
  16. ty, err := genTsType(member)
  17. if err != nil {
  18. t.Fatal(err)
  19. }
  20. assert.Equal(t, `'foo' | 'bar' | 'options' | '123'`, ty)
  21. member.IsInline = true
  22. ty, err = genTsType(member)
  23. if err != nil {
  24. t.Fatal(err)
  25. }
  26. assert.Equal(t, `'foo' | 'bar' | 'options' | '123'`, ty)
  27. member.Type = spec.PrimitiveType{RawName: "int"}
  28. member.Tag = `json:"foo,options=1|3|4|123"`
  29. ty, err = genTsType(member)
  30. if err != nil {
  31. t.Fatal(err)
  32. }
  33. assert.Equal(t, `1 | 3 | 4 | 123`, ty)
  34. }