diff options
author | Christopher Speller <crspeller@gmail.com> | 2018-01-29 14:17:40 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-29 14:17:40 -0800 |
commit | 961c04cae992eadb42d286d2f85f8a675bdc68c8 (patch) | |
tree | 3408f2d06f847e966c53485e2d54c692cdd037c1 /vendor/github.com/stretchr/objx/accessors_test.go | |
parent | 8d66523ba7d9a77129844be476732ebfd5272d64 (diff) | |
download | chat-961c04cae992eadb42d286d2f85f8a675bdc68c8.tar.gz chat-961c04cae992eadb42d286d2f85f8a675bdc68c8.tar.bz2 chat-961c04cae992eadb42d286d2f85f8a675bdc68c8.zip |
Upgrading server dependancies (#8154)
Diffstat (limited to 'vendor/github.com/stretchr/objx/accessors_test.go')
-rw-r--r-- | vendor/github.com/stretchr/objx/accessors_test.go | 271 |
1 files changed, 182 insertions, 89 deletions
diff --git a/vendor/github.com/stretchr/objx/accessors_test.go b/vendor/github.com/stretchr/objx/accessors_test.go index ce5d8e4aa..f6be310f7 100644 --- a/vendor/github.com/stretchr/objx/accessors_test.go +++ b/vendor/github.com/stretchr/objx/accessors_test.go @@ -1,145 +1,238 @@ package objx import ( - "github.com/stretchr/testify/assert" "testing" + + "github.com/stretchr/testify/assert" ) func TestAccessorsAccessGetSingleField(t *testing.T) { + current := Map{"name": "Tyler"} - current := map[string]interface{}{"name": "Tyler"} - assert.Equal(t, "Tyler", access(current, "name", nil, false, true)) - + assert.Equal(t, "Tyler", current.Get("name").Data()) } -func TestAccessorsAccessGetDeep(t *testing.T) { - current := map[string]interface{}{"name": map[string]interface{}{"first": "Tyler", "last": "Bunnell"}} - assert.Equal(t, "Tyler", access(current, "name.first", nil, false, true)) - assert.Equal(t, "Bunnell", access(current, "name.last", nil, false, true)) +func TestAccessorsAccessGetSingleFieldInt(t *testing.T) { + current := Map{"name": 10} + assert.Equal(t, 10, current.Get("name").Data()) } -func TestAccessorsAccessGetDeepDeep(t *testing.T) { - - current := map[string]interface{}{"one": map[string]interface{}{"two": map[string]interface{}{"three": map[string]interface{}{"four": 4}}}} - assert.Equal(t, 4, access(current, "one.two.three.four", nil, false, true)) +func TestAccessorsAccessGetDeep(t *testing.T) { + current := Map{ + "name": Map{ + "first": "Tyler", + "last": "Bunnell", + }, + } + + assert.Equal(t, "Tyler", current.Get("name.first").Data()) + assert.Equal(t, "Bunnell", current.Get("name.last").Data()) } -func TestAccessorsAccessGetInsideArray(t *testing.T) { - current := map[string]interface{}{"names": []interface{}{map[string]interface{}{"first": "Tyler", "last": "Bunnell"}, map[string]interface{}{"first": "Capitol", "last": "Bollocks"}}} - assert.Equal(t, "Tyler", access(current, "names[0].first", nil, false, true)) - assert.Equal(t, "Bunnell", access(current, "names[0].last", nil, false, true)) - assert.Equal(t, "Capitol", access(current, "names[1].first", nil, false, true)) - assert.Equal(t, "Bollocks", access(current, "names[1].last", nil, false, true)) - - assert.Panics(t, func() { - access(current, "names[2]", nil, false, true) - }) - assert.Nil(t, access(current, "names[2]", nil, false, false)) +func TestAccessorsAccessGetDeepDeep(t *testing.T) { + current := Map{ + "one": Map{ + "two": Map{ + "three": Map{ + "four": 4, + }, + }, + }, + } + + assert.Equal(t, 4, current.Get("one.two.three.four").Data()) +} +func TestAccessorsAccessGetInsideArray(t *testing.T) { + current := Map{ + "names": []interface{}{ + Map{ + "first": "Tyler", + "last": "Bunnell", + }, + Map{ + "first": "Capitol", + "last": "Bollocks", + }, + }, + } + + assert.Equal(t, "Tyler", current.Get("names[0].first").Data()) + assert.Equal(t, "Bunnell", current.Get("names[0].last").Data()) + assert.Equal(t, "Capitol", current.Get("names[1].first").Data()) + assert.Equal(t, "Bollocks", current.Get("names[1].last").Data()) + + assert.Nil(t, current.Get("names[2]").Data()) } func TestAccessorsAccessGetFromArrayWithInt(t *testing.T) { - - current := []interface{}{map[string]interface{}{"first": "Tyler", "last": "Bunnell"}, map[string]interface{}{"first": "Capitol", "last": "Bollocks"}} - one := access(current, 0, nil, false, false) - two := access(current, 1, nil, false, false) - three := access(current, 2, nil, false, false) + current := []interface{}{ + map[string]interface{}{ + "first": "Tyler", + "last": "Bunnell", + }, + map[string]interface{}{ + "first": "Capitol", + "last": "Bollocks", + }, + } + one := access(current, 0, nil, false) + two := access(current, 1, nil, false) + three := access(current, 2, nil, false) assert.Equal(t, "Tyler", one.(map[string]interface{})["first"]) assert.Equal(t, "Capitol", two.(map[string]interface{})["first"]) assert.Nil(t, three) +} +func TestAccessorsAccessGetFromArrayWithIntTypes(t *testing.T) { + current := []interface{}{ + "abc", + "def", + } + assert.Equal(t, "abc", access(current, 0, nil, false)) + assert.Equal(t, "def", access(current, 1, nil, false)) + assert.Nil(t, access(current, 2, nil, false)) + + assert.Equal(t, "abc", access(current, int8(0), nil, false)) + assert.Equal(t, "def", access(current, int8(1), nil, false)) + assert.Nil(t, access(current, int8(2), nil, false)) + + assert.Equal(t, "abc", access(current, int16(0), nil, false)) + assert.Equal(t, "def", access(current, int16(1), nil, false)) + assert.Nil(t, access(current, int16(2), nil, false)) + + assert.Equal(t, "abc", access(current, int32(0), nil, false)) + assert.Equal(t, "def", access(current, int32(1), nil, false)) + assert.Nil(t, access(current, int32(2), nil, false)) + + assert.Equal(t, "abc", access(current, int64(0), nil, false)) + assert.Equal(t, "def", access(current, int64(1), nil, false)) + assert.Nil(t, access(current, int64(2), nil, false)) + + assert.Equal(t, "abc", access(current, uint(0), nil, false)) + assert.Equal(t, "def", access(current, uint(1), nil, false)) + assert.Nil(t, access(current, uint(2), nil, false)) + + assert.Equal(t, "abc", access(current, uint8(0), nil, false)) + assert.Equal(t, "def", access(current, uint8(1), nil, false)) + assert.Nil(t, access(current, uint8(2), nil, false)) + + assert.Equal(t, "abc", access(current, uint16(0), nil, false)) + assert.Equal(t, "def", access(current, uint16(1), nil, false)) + assert.Nil(t, access(current, uint16(2), nil, false)) + + assert.Equal(t, "abc", access(current, uint32(0), nil, false)) + assert.Equal(t, "def", access(current, uint32(1), nil, false)) + assert.Nil(t, access(current, uint32(2), nil, false)) + + assert.Equal(t, "abc", access(current, uint64(0), nil, false)) + assert.Equal(t, "def", access(current, uint64(1), nil, false)) + assert.Nil(t, access(current, uint64(2), nil, false)) } -func TestAccessorsGet(t *testing.T) { +func TestAccessorsAccessGetFromArrayWithIntError(t *testing.T) { + current := Map{"name": "Tyler"} - current := New(map[string]interface{}{"name": "Tyler"}) - assert.Equal(t, "Tyler", current.Get("name").data) + assert.Nil(t, access(current, 0, nil, false)) +} +func TestAccessorsGet(t *testing.T) { + current := Map{"name": "Tyler"} + + assert.Equal(t, "Tyler", current.Get("name").Data()) } func TestAccessorsAccessSetSingleField(t *testing.T) { + current := Map{"name": "Tyler"} - current := map[string]interface{}{"name": "Tyler"} - access(current, "name", "Mat", true, false) - assert.Equal(t, current["name"], "Mat") + current.Set("name", "Mat") + current.Set("age", 29) - access(current, "age", 29, true, true) + assert.Equal(t, current["name"], "Mat") assert.Equal(t, current["age"], 29) - } func TestAccessorsAccessSetSingleFieldNotExisting(t *testing.T) { + current := Map{ + "first": "Tyler", + "last": "Bunnell", + } - current := map[string]interface{}{} - access(current, "name", "Mat", true, false) - assert.Equal(t, current["name"], "Mat") + current.Set("name", "Mat") + assert.Equal(t, current["name"], "Mat") } func TestAccessorsAccessSetDeep(t *testing.T) { - - current := map[string]interface{}{"name": map[string]interface{}{"first": "Tyler", "last": "Bunnell"}} - - access(current, "name.first", "Mat", true, true) - access(current, "name.last", "Ryer", true, true) - - assert.Equal(t, "Mat", access(current, "name.first", nil, false, true)) - assert.Equal(t, "Ryer", access(current, "name.last", nil, false, true)) - + current := Map{ + "name": Map{ + "first": "Tyler", + "last": "Bunnell", + }, + } + + current.Set("name.first", "Mat") + current.Set("name.last", "Ryer") + + assert.Equal(t, "Mat", current.Get("name.first").Data()) + assert.Equal(t, "Ryer", current.Get("name.last").Data()) } -func TestAccessorsAccessSetDeepDeep(t *testing.T) { - - current := map[string]interface{}{"one": map[string]interface{}{"two": map[string]interface{}{"three": map[string]interface{}{"four": 4}}}} - - access(current, "one.two.three.four", 5, true, true) - - assert.Equal(t, 5, access(current, "one.two.three.four", nil, false, true)) +func TestAccessorsAccessSetDeepDeep(t *testing.T) { + current := Map{ + "one": Map{ + "two": Map{ + "three": Map{ + "four": 4}, + }, + }, + } + + current.Set("one.two.three.four", 5) + + assert.Equal(t, 5, current.Get("one.two.three.four").Data()) } -func TestAccessorsAccessSetArray(t *testing.T) { - - current := map[string]interface{}{"names": []interface{}{"Tyler"}} - - access(current, "names[0]", "Mat", true, true) - assert.Equal(t, "Mat", access(current, "names[0]", nil, false, true)) - -} -func TestAccessorsAccessSetInsideArray(t *testing.T) { - - current := map[string]interface{}{"names": []interface{}{map[string]interface{}{"first": "Tyler", "last": "Bunnell"}, map[string]interface{}{"first": "Capitol", "last": "Bollocks"}}} - - access(current, "names[0].first", "Mat", true, true) - access(current, "names[0].last", "Ryer", true, true) - access(current, "names[1].first", "Captain", true, true) - access(current, "names[1].last", "Underpants", true, true) - - assert.Equal(t, "Mat", access(current, "names[0].first", nil, false, true)) - assert.Equal(t, "Ryer", access(current, "names[0].last", nil, false, true)) - assert.Equal(t, "Captain", access(current, "names[1].first", nil, false, true)) - assert.Equal(t, "Underpants", access(current, "names[1].last", nil, false, true)) +func TestAccessorsAccessSetArray(t *testing.T) { + current := Map{ + "names": []interface{}{"Tyler"}, + } + current.Set("names[0]", "Mat") + assert.Equal(t, "Mat", current.Get("names[0]").Data()) } -func TestAccessorsAccessSetFromArrayWithInt(t *testing.T) { - - current := []interface{}{map[string]interface{}{"first": "Tyler", "last": "Bunnell"}, map[string]interface{}{"first": "Capitol", "last": "Bollocks"}} - one := access(current, 0, nil, false, false) - two := access(current, 1, nil, false, false) - three := access(current, 2, nil, false, false) - - assert.Equal(t, "Tyler", one.(map[string]interface{})["first"]) - assert.Equal(t, "Capitol", two.(map[string]interface{})["first"]) - assert.Nil(t, three) - +func TestAccessorsAccessSetInsideArray(t *testing.T) { + current := Map{ + "names": []interface{}{ + Map{ + "first": "Tyler", + "last": "Bunnell", + }, + Map{ + "first": "Capitol", + "last": "Bollocks", + }, + }, + } + + current.Set("names[0].first", "Mat") + current.Set("names[0].last", "Ryer") + current.Set("names[1].first", "Captain") + current.Set("names[1].last", "Underpants") + + assert.Equal(t, "Mat", current.Get("names[0].first").Data()) + assert.Equal(t, "Ryer", current.Get("names[0].last").Data()) + assert.Equal(t, "Captain", current.Get("names[1].first").Data()) + assert.Equal(t, "Underpants", current.Get("names[1].last").Data()) } func TestAccessorsSet(t *testing.T) { + current := Map{"name": "Tyler"} - current := New(map[string]interface{}{"name": "Tyler"}) current.Set("name", "Mat") - assert.Equal(t, "Mat", current.Get("name").data) + assert.Equal(t, "Mat", current.Get("name").data) } |