12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package any_tests
- import (
- "testing"
- "github.com/json-iterator/go"
- "github.com/stretchr/testify/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]",
- "{}": "{}",
- `{"a":1, "stream":true}`: `{"a":1, "stream":true}`,
- }
- func Test_read_any_to_string(t *testing.T) {
- should := require.New(t)
- for k, v := range stringConvertMap {
- any := jsoniter.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 := jsoniter.Get([]byte(`"hello"`))
- should.Equal("hello", any.ToString())
- should.True(any.ToBool())
- any = jsoniter.Get([]byte(`" "`))
- should.False(any.ToBool())
- any = jsoniter.Get([]byte(`"false"`))
- should.True(any.ToBool())
- any = jsoniter.Get([]byte(`"123"`))
- should.Equal(123, any.ToInt())
- }
- func Test_wrap_string(t *testing.T) {
- should := require.New(t)
- any := jsoniter.Get([]byte("-32000")).MustBeValid()
- should.Equal(-32000, any.ToInt())
- should.NoError(any.LastError())
- }
|