jsoniter_any_bool_test.go 741 B

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