浏览代码

add bool convert test map

Xargin 8 年之前
父节点
当前提交
a743df1b8a
共有 1 个文件被更改,包括 35 次插入3 次删除
  1. 35 3
      jsoniter_any_bool_test.go

+ 35 - 3
jsoniter_any_bool_test.go

@@ -1,12 +1,44 @@
 package jsoniter
 
 import (
-	"github.com/json-iterator/go/require"
+	"fmt"
 	"testing"
+
+	"github.com/json-iterator/go/require"
 )
 
+var boolConvertMap = map[string]bool{
+	"true":  true,
+	"false": false,
+
+	`"true"`:  true,
+	`"false"`: true,
+
+	"123": true,
+	"0":   false,
+	`"0"`: false,
+	"-1":  true,
+
+	"1.1":       true,
+	"0.0":       false,
+	"-1.1":      true,
+	`""`:        false,
+	"[1,2]":     true,
+	"[]":        false,
+	"{}":        true,
+	`{"abc":1}`: true,
+}
+
 func Test_read_bool_as_any(t *testing.T) {
 	should := require.New(t)
-	any := Get([]byte("true"))
-	should.True(any.ToBool())
+
+	var any Any
+	for k, v := range boolConvertMap {
+		any = Get([]byte(k))
+		if v {
+			should.True(any.ToBool(), fmt.Sprintf("origin val is %v", k))
+		} else {
+			should.False(any.ToBool(), fmt.Sprintf("origin val is %v", k))
+		}
+	}
 }