Pārlūkot izejas kodu

add string tests

Xargin 8 gadi atpakaļ
vecāks
revīzija
ee3313111c
2 mainītis faili ar 38 papildinājumiem un 7 dzēšanām
  1. 7 7
      fuzzy_mode_convert_table.md
  2. 31 0
      jsoniter_any_string_test.go

+ 7 - 7
fuzzy_mode_convert_table.md

@@ -1,7 +1,7 @@
-| json type \ dest type | bool | int | uint | string |
-| --- | --- | --- | --- |--|
-| number | positive => true <br/> negative => true <br/> zero => false| 23.2 => 23 <br/> -32.1 => -32| 12.1 => 12 <br/> -12.1 => 0||
-| string | empty string => false <br/> string "0" => false <br/> other strings => true | "123.32" => 123 <br/> "-123.4" => -123 <br/> "123.23xxxw" => 123 <br/>  "abcde12" => 0 <br/> "-32.1" => -32| 13.2 => 13 <br/> -1.1 => 0 ||
-| bool | true => true <br/> false => false| true => 1 <br/> false => 0 | true => 1 <br/> false => 0 ||
-| object | true | 0 | 0 ||
-| array | empty array => false <br/> nonempty array => true| [] => 0 <br/> [1,2] => 1 | [] => 0 <br/> [1,2] => 1 ||
+| json type \ dest type | bool | int | uint | float |string|
+| --- | --- | --- | --- |--|--|
+| number | positive => true <br/> negative => true <br/> zero => false| 23.2 => 23 <br/> -32.1 => -32| 12.1 => 12 <br/> -12.1 => 0|as normal||
+| string | empty string => false <br/> string "0" => false <br/> other strings => true | "123.32" => 123 <br/> "-123.4" => -123 <br/> "123.23xxxw" => 123 <br/>  "abcde12" => 0 <br/> "-32.1" => -32| 13.2 => 13 <br/> -1.1 => 0 |12.1 => 12.1 <br/> -12.3 => -12.3<br/> 12.4xxa => 12.4 <br/> +1.1e2 =>110 ||
+| bool | true => true <br/> false => false| true => 1 <br/> false => 0 | true => 1 <br/> false => 0 |true => 1 <br/>false => 0||
+| object | true | 0 | 0 |0||
+| array | empty array => false <br/> nonempty array => true| [] => 0 <br/> [1,2] => 1 | [] => 0 <br/> [1,2] => 1 |[] => 0<br/>[1,2] => 1||

+ 31 - 0
jsoniter_any_string_test.go

@@ -6,6 +6,37 @@ import (
 	"github.com/json-iterator/go/require"
 )
 
+var stringConvertMap = map[string]string{
+	"null":              "",
+	"321.1":             "321.1",
+	`"1.1"`:             "1.1",
+	`"-123.1"`:          "-123.1",
+	"0.0":               "0.0",
+	"0":                 "0",
+	`"0"`:               "0",
+	`"0.0"`:             "0.0",
+	`"00.0"`:            "00.0",
+	"true":              "true",
+	"false":             "false",
+	`"true"`:            "true",
+	`"false"`:           "false",
+	`"true123"`:         "true123",
+	`"+1"`:              "+1",
+	"[]":                "[]",
+	"[1,2]":             "[1,2]",
+	"{}":                "{}",
+	"{1,2}":             "{1,2}",
+	`{"a":1, "b":true}`: `{"a":1, "b":true}`,
+}
+
+func Test_read_any_to_string(t *testing.T) {
+	should := require.New(t)
+	for k, v := range stringConvertMap {
+		any := Get([]byte(k))
+		should.Equal(v, any.ToString(), "original val "+k)
+	}
+}
+
 func Test_read_string_as_any(t *testing.T) {
 	should := require.New(t)
 	any := Get([]byte(`"hello"`))