github.com/gogf/gf@v1.16.9/container/gvar/gvar_z_unit_json_test.go (about) 1 // Copyright GoFrame Author(https://goframe.org). All Rights Reserved. 2 // 3 // This Source Code Form is subject to the terms of the MIT License. 4 // If a copy of the MIT was not distributed with this file, 5 // You can obtain one at https://github.com/gogf/gf. 6 7 package gvar_test 8 9 import ( 10 "github.com/gogf/gf/container/gvar" 11 "github.com/gogf/gf/internal/json" 12 "github.com/gogf/gf/test/gtest" 13 "math" 14 "testing" 15 ) 16 17 func TestVar_Json(t *testing.T) { 18 // Marshal 19 gtest.C(t, func(t *gtest.T) { 20 s := "i love gf" 21 v := gvar.New(s) 22 b1, err1 := json.Marshal(v) 23 b2, err2 := json.Marshal(s) 24 t.Assert(err1, err2) 25 t.Assert(b1, b2) 26 }) 27 28 gtest.C(t, func(t *gtest.T) { 29 s := int64(math.MaxInt64) 30 v := gvar.New(s) 31 b1, err1 := json.Marshal(v) 32 b2, err2 := json.Marshal(s) 33 t.Assert(err1, err2) 34 t.Assert(b1, b2) 35 }) 36 37 // Unmarshal 38 gtest.C(t, func(t *gtest.T) { 39 s := "i love gf" 40 v := gvar.New(nil) 41 b, err := json.Marshal(s) 42 t.Assert(err, nil) 43 44 err = json.UnmarshalUseNumber(b, v) 45 t.Assert(err, nil) 46 t.Assert(v.String(), s) 47 }) 48 49 gtest.C(t, func(t *gtest.T) { 50 var v gvar.Var 51 s := "i love gf" 52 b, err := json.Marshal(s) 53 t.Assert(err, nil) 54 55 err = json.UnmarshalUseNumber(b, &v) 56 t.Assert(err, nil) 57 t.Assert(v.String(), s) 58 }) 59 }