diff --git a/encoding/gjson/gjson_z_example_load_test.go b/encoding/gjson/gjson_z_example_load_test.go index 31f7360c1..efe92e712 100644 --- a/encoding/gjson/gjson_z_example_load_test.go +++ b/encoding/gjson/gjson_z_example_load_test.go @@ -15,7 +15,7 @@ import ( func ExampleLoad() { jsonFilePath := gdebug.TestDataPath("json", "data1.json") - j, _ := gjson.Load(jsonFilePath, true) + j, _ := gjson.Load(jsonFilePath) fmt.Println(j.Get("name")) fmt.Println(j.Get("score")) @@ -30,7 +30,7 @@ func ExampleLoad() { func ExampleLoadJson() { jsonContent := `{"name":"john", "score":"100"}` - j, _ := gjson.LoadJson(jsonContent, true) + j, _ := gjson.LoadJson(jsonContent) fmt.Println(j.Get("name")) fmt.Println(j.Get("score")) @@ -45,7 +45,7 @@ func ExampleLoadXml() { john 100 ` - j, _ := gjson.LoadXml(xmlContent, true) + j, _ := gjson.LoadXml(xmlContent) fmt.Println(j.Get("base.name")) fmt.Println(j.Get("base.score")) @@ -60,7 +60,7 @@ func ExampleLoadIni() { name = john score = 100 ` - j, _ := gjson.LoadIni(iniContent, true) + j, _ := gjson.LoadIni(iniContent) fmt.Println(j.Get("base.name")) fmt.Println(j.Get("base.score")) @@ -75,7 +75,7 @@ func ExampleLoadYaml() { name: john score: 100` - j, _ := gjson.LoadYaml(yamlContent, true) + j, _ := gjson.LoadYaml(yamlContent) fmt.Println(j.Get("base.name")) fmt.Println(j.Get("base.score")) @@ -90,7 +90,7 @@ func ExampleLoadToml() { name = "john" score = 100` - j, _ := gjson.LoadToml(tomlContent, true) + j, _ := gjson.LoadToml(tomlContent) fmt.Println(j.Get("base.name")) fmt.Println(j.Get("base.score")) @@ -156,7 +156,7 @@ func ExampleLoadContentType() { 100 ` - j, _ := gjson.LoadContentType("json", jsonContent, true) + j, _ := gjson.LoadContentType("json", jsonContent) x, _ := gjson.LoadContentType("xml", xmlContent) j1, _ := gjson.LoadContentType("json", "") diff --git a/encoding/gjson/gjson_z_unit_feature_load_test.go b/encoding/gjson/gjson_z_unit_feature_load_test.go index d517e8de9..c4ae26bff 100644 --- a/encoding/gjson/gjson_z_unit_feature_load_test.go +++ b/encoding/gjson/gjson_z_unit_feature_load_test.go @@ -28,11 +28,17 @@ func Test_Load_JSON1(t *testing.T) { t.Assert(j.Get("a.1").Int(), 2) }) // JSON + gtest.C(t, func(t *gtest.T) { + errData := []byte(`{"n":123456789, "m":{"k":"v"}, "a":[1,2,3]`) + _, err := gjson.LoadContentType("json", errData, true) + t.AssertNE(err, nil) + }) + // JSON gtest.C(t, func(t *gtest.T) { path := "test.json" gfile.PutBytes(path, data) defer gfile.Remove(path) - j, err := gjson.Load(path) + j, err := gjson.Load(path, true) t.Assert(err, nil) t.Assert(j.Get("n").String(), "123456789") t.Assert(j.Get("m").Map(), g.Map{"k": "v"}) @@ -68,6 +74,22 @@ func Test_Load_XML(t *testing.T) { t.Assert(j.Get("doc.a.1").Int(), 2) }) // XML + gtest.C(t, func(t *gtest.T) { + j, err := gjson.LoadXml(data, true) + t.Assert(err, nil) + t.Assert(j.Get("doc.n").String(), "123456789") + t.Assert(j.Get("doc.m").Map(), g.Map{"k": "v"}) + t.Assert(j.Get("doc.m.k").String(), "v") + t.Assert(j.Get("doc.a").Slice(), g.Slice{"1", "2", "3"}) + t.Assert(j.Get("doc.a.1").Int(), 2) + }) + // XML + gtest.C(t, func(t *gtest.T) { + errData := []byte(`123v123456789`) + _, err := gjson.LoadContentType("xml", errData, true) + t.AssertNE(err, nil) + }) + // XML gtest.C(t, func(t *gtest.T) { path := "test.xml" gfile.PutBytes(path, data) @@ -121,6 +143,16 @@ m: t.Assert(j.Get("a.1").Int(), 2) }) // YAML + gtest.C(t, func(t *gtest.T) { + j, err := gjson.LoadYaml(data, true) + t.Assert(err, nil) + t.Assert(j.Get("n").String(), "123456789") + t.Assert(j.Get("m").Map(), g.Map{"k": "v"}) + t.Assert(j.Get("m.k").String(), "v") + t.Assert(j.Get("a").Slice(), g.Slice{1, 2, 3}) + t.Assert(j.Get("a.1").Int(), 2) + }) + // YAML gtest.C(t, func(t *gtest.T) { path := "test.yaml" gfile.PutBytes(path, data) @@ -142,6 +174,11 @@ func Test_Load_YAML2(t *testing.T) { t.Assert(err, nil) t.Assert(j.Get("i"), "123456789") }) + gtest.C(t, func(t *gtest.T) { + errData := []byte("i # 123456789") + _, err := gjson.LoadContentType("yaml", errData, true) + t.AssertNE(err, nil) + }) } func Test_Load_TOML1(t *testing.T) { @@ -163,6 +200,16 @@ n = 123456789 t.Assert(j.Get("a.1").Int(), 2) }) // TOML + gtest.C(t, func(t *gtest.T) { + j, err := gjson.LoadToml(data, true) + t.Assert(err, nil) + t.Assert(j.Get("n").String(), "123456789") + t.Assert(j.Get("m").Map(), g.Map{"k": "v"}) + t.Assert(j.Get("m.k").String(), "v") + t.Assert(j.Get("a").Slice(), g.Slice{"1", "2", "3"}) + t.Assert(j.Get("a.1").Int(), 2) + }) + // TOML gtest.C(t, func(t *gtest.T) { path := "test.toml" gfile.PutBytes(path, data) @@ -184,6 +231,11 @@ func Test_Load_TOML2(t *testing.T) { t.Assert(err, nil) t.Assert(j.Get("i"), "123456789") }) + gtest.C(t, func(t *gtest.T) { + errData := []byte("i : 123456789") + _, err := gjson.LoadContentType("toml", errData, true) + t.AssertNE(err, nil) + }) } func Test_Load_Basic(t *testing.T) { @@ -245,6 +297,26 @@ enable=true gtest.Fatal(err) } }) + + gtest.C(t, func(t *gtest.T) { + j, err := gjson.LoadIni(data, true) + if err != nil { + gtest.Fatal(err) + } + + t.Assert(j.Get("addr.ip").String(), "127.0.0.1") + t.Assert(j.Get("addr.port").String(), "9001") + t.Assert(j.Get("addr.enable").String(), "true") + t.Assert(j.Get("DBINFO.type").String(), "mysql") + t.Assert(j.Get("DBINFO.user").String(), "root") + t.Assert(j.Get("DBINFO.password").String(), "password") + }) + + gtest.C(t, func(t *gtest.T) { + errData := []byte("i : 123456789") + _, err := gjson.LoadContentType("ini", errData, true) + t.AssertNE(err, nil) + }) } func Test_Load_YamlWithV3(t *testing.T) { diff --git a/encoding/gjson/gjson_z_unit_feature_struct_test.go b/encoding/gjson/gjson_z_unit_feature_struct_test.go index f6e2b7415..b7c514ff2 100644 --- a/encoding/gjson/gjson_z_unit_feature_struct_test.go +++ b/encoding/gjson/gjson_z_unit_feature_struct_test.go @@ -197,7 +197,7 @@ func Test_Struct1(t *testing.T) { }] }` data := new(UserCollectionAddReq) - j, err := gjson.LoadJson(jsonContent) + j, err := gjson.LoadJson(jsonContent, true) t.Assert(err, nil) err = j.Scan(data) t.Assert(err, nil)