jsoniter_any_bool_test.go 724 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package jsoniter
  2. import (
  3. "fmt"
  4. "testing"
  5. "github.com/json-iterator/go/require"
  6. )
  7. var boolConvertMap = map[string]bool{
  8. "true": true,
  9. "false": false,
  10. `"true"`: true,
  11. `"false"`: true,
  12. "123": true,
  13. "0": false,
  14. `"0"`: false,
  15. "-1": true,
  16. "1.1": true,
  17. "0.0": false,
  18. "-1.1": true,
  19. `""`: false,
  20. "[1,2]": true,
  21. "[]": false,
  22. "{}": true,
  23. `{"abc":1}`: true,
  24. }
  25. func Test_read_bool_as_any(t *testing.T) {
  26. should := require.New(t)
  27. var any Any
  28. for k, v := range boolConvertMap {
  29. any = Get([]byte(k))
  30. if v {
  31. should.True(any.ToBool(), fmt.Sprintf("origin val is %v", k))
  32. } else {
  33. should.False(any.ToBool(), fmt.Sprintf("origin val is %v", k))
  34. }
  35. }
  36. }