jsoniter_any_bool_test.go 764 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. `"123"`: true,
  14. "0": false,
  15. `"0"`: false,
  16. "-1": true,
  17. `"-1"`: true,
  18. "1.1": true,
  19. "0.0": false,
  20. "-1.1": true,
  21. `""`: false,
  22. "[1,2]": true,
  23. "[]": false,
  24. "{}": true,
  25. `{"abc":1}`: true,
  26. }
  27. func Test_read_bool_as_any(t *testing.T) {
  28. should := require.New(t)
  29. var any Any
  30. for k, v := range boolConvertMap {
  31. any = Get([]byte(k))
  32. if v {
  33. should.True(any.ToBool(), fmt.Sprintf("origin val is %v", k))
  34. } else {
  35. should.False(any.ToBool(), fmt.Sprintf("origin val is %v", k))
  36. }
  37. }
  38. }