summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/stretchr/objx/accessors_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/stretchr/objx/accessors_test.go')
-rw-r--r--vendor/github.com/stretchr/objx/accessors_test.go271
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)
}