Compare commits

...

5 Commits

Author SHA1 Message Date
ea7e2ec5ec remove go version limit in go.mod 2019-04-28 21:10:22 +08:00
237c58f2b0 Merge branch 'master' of https://github.com/gogf/gf 2019-04-26 13:46:47 +08:00
efa23e4a1d README updates 2019-04-26 13:46:42 +08:00
c109cee7ef Merge pull request #115 from touzijiao/master
Merge pull request #115 from touzijiao/master
2019-04-26 13:44:51 +08:00
e111d39c54 测试文件 2019-04-26 10:38:27 +08:00
5 changed files with 268 additions and 2 deletions

View File

@ -76,6 +76,7 @@ func main() {
- [pibigstar](https://github.com/pibigstar)
- [qq1054000800](https://gitee.com/qq1054000800)
- [qq976739120](https://github.com/qq976739120)
- [touzijiao](https://github.com/touzijiao)
- [wenzi1](https://gitee.com/wenzi1)
- [wxkj001](https://github.com/wxkj001)
- [ymrjqyy](https://gitee.com/ymrjqyy)

View File

@ -94,6 +94,7 @@ func main() {
- [pibigstar](https://github.com/pibigstar)
- [qq1054000800](https://gitee.com/qq1054000800)
- [qq976739120](https://github.com/qq976739120)
- [touzijiao](https://github.com/touzijiao)
- [wenzi1](https://gitee.com/wenzi1)
- [wxkj001](https://github.com/wxkj001)
- [ymrjqyy](https://gitee.com/ymrjqyy)

View File

@ -0,0 +1,265 @@
package gvar_test
import (
"bytes"
"encoding/binary"
"testing"
"github.com/gogf/gf/g/container/gvar"
"github.com/gogf/gf/g/test/gtest"
)
func TestReadOnly(t *testing.T) {
gtest.Case(t, func() {
obj := gvar.New(nil, true)
var result string
switch obj.ReadOnly().(type) {
case gvar.VarRead:
result = "yes"
default:
result = "no"
}
gtest.Assert(result, "yes")
})
}
func TestSet(t *testing.T) {
gtest.Case(t, func() {
objOne := gvar.New("old", true)
objOneOld, _ := objOne.Set("new").(string)
gtest.Assert(objOneOld, "old")
objTwo := gvar.New("old", false)
objTwoOld, _ := objTwo.Set("new").(string)
gtest.Assert(objTwoOld, "old")
})
}
func TestVal(t *testing.T) {
gtest.Case(t, func() {
objOne := gvar.New(1, true)
objOneOld, _ := objOne.Val().(int)
gtest.Assert(objOneOld, 1)
objTwo := gvar.New(1, false)
objTwoOld, _ := objTwo.Val().(int)
gtest.Assert(objTwoOld, 1)
})
}
func TestInterface(t *testing.T) {
gtest.Case(t, func() {
objOne := gvar.New(1, true)
objOneOld, _ := objOne.Interface().(int)
gtest.Assert(objOneOld, 1)
objTwo := gvar.New(1, false)
objTwoOld, _ := objTwo.Interface().(int)
gtest.Assert(objTwoOld, 1)
})
}
func TestIsNil(t *testing.T) {
gtest.Case(t, func() {
objOne := gvar.New(nil, true)
gtest.Assert(objOne.IsNil(), true)
objTwo := gvar.New("noNil", false)
gtest.Assert(objTwo.IsNil(), false)
})
}
func TestBytes(t *testing.T) {
gtest.Case(t, func() {
x := int32(1)
bytesBuffer := bytes.NewBuffer([]byte{})
binary.Write(bytesBuffer, binary.BigEndian, x)
objOne := gvar.New(bytesBuffer.Bytes(), true)
bBuf := bytes.NewBuffer(objOne.Bytes())
var y int32
binary.Read(bBuf, binary.BigEndian, &y)
gtest.Assert(x, y)
})
}
func TestString(t *testing.T) {
gtest.Case(t, func() {
var str string = "hello"
objOne := gvar.New(str, true)
gtest.Assert(objOne.String(), str)
})
}
func TestBool(t *testing.T) {
gtest.Case(t, func() {
var ok bool = true
objOne := gvar.New(ok, true)
gtest.Assert(objOne.Bool(), ok)
ok = false
objTwo := gvar.New(ok, true)
gtest.Assert(objTwo.Bool(), ok)
})
}
func TestInt(t *testing.T) {
gtest.Case(t, func() {
var num int = 1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Int(), num)
})
}
func TestInt8(t *testing.T) {
gtest.Case(t, func() {
var num int8 = 1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Int8(), num)
})
}
func TestInt16(t *testing.T) {
gtest.Case(t, func() {
var num int16 = 1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Int16(), num)
})
}
func TestInt32(t *testing.T) {
gtest.Case(t, func() {
var num int32 = 1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Int32(), num)
})
}
func TestInt64(t *testing.T) {
gtest.Case(t, func() {
var num int64 = 1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Int64(), num)
})
}
func TestUint(t *testing.T) {
gtest.Case(t, func() {
var num uint = 1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Uint(), num)
})
}
func TestUint8(t *testing.T) {
gtest.Case(t, func() {
var num uint8 = 1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Uint8(), num)
})
}
func TestUint16(t *testing.T) {
gtest.Case(t, func() {
var num uint16 = 1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Uint16(), num)
})
}
func TestUint32(t *testing.T) {
gtest.Case(t, func() {
var num uint32 = 1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Uint32(), num)
})
}
func TestUint64(t *testing.T) {
gtest.Case(t, func() {
var num uint64 = 1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Uint64(), num)
})
}
func TestFloat32(t *testing.T) {
gtest.Case(t, func() {
var num float32 = 1.1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Float32(), num)
})
}
func TestFloat64(t *testing.T) {
gtest.Case(t, func() {
var num float64 = 1.1
objOne := gvar.New(num, true)
gtest.Assert(objOne.Float64(), num)
})
}
func TestInts(t *testing.T) {
gtest.Case(t, func() {
var arr = []int{1, 2, 3, 4, 5}
objOne := gvar.New(arr, true)
gtest.Assert(objOne.Ints()[0], arr[0])
})
}
func TestFloats(t *testing.T) {
gtest.Case(t, func() {
var arr = []float64{1, 2, 3, 4, 5}
objOne := gvar.New(arr, true)
gtest.Assert(objOne.Floats()[0], arr[0])
})
}
func TestStrings(t *testing.T) {
gtest.Case(t, func() {
var arr = []string{"hello", "world"}
objOne := gvar.New(arr, true)
gtest.Assert(objOne.Strings()[0], arr[0])
})
}
func TestTime(t *testing.T) {
gtest.Case(t, func() {
var timeUnix int64 = 1556242660
objOne := gvar.New(timeUnix, true)
gtest.Assert(objOne.Time().Unix(), timeUnix)
})
}
type StTest struct {
Test int
}
func TestStruct(t *testing.T) {
gtest.Case(t, func() {
Kv := make(map[string]int, 1)
Kv["Test"] = 100
testObj := &StTest{}
objOne := gvar.New(Kv, true)
objOne.Struct(testObj)
gtest.Assert(testObj.Test, Kv["Test"])
})
}

1
go.mod
View File

@ -1,3 +1,2 @@
module github.com/gogf/gf
go 1.12

View File

@ -1,4 +1,4 @@
package gf
const VERSION = "v1.6.5"
const VERSION = "v1.6.6"
const AUTHORS = "john<john@goframe.org>"