Upgrading server dependancies (#8154)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
8d66523ba7
Коммит
961c04cae9
131
vendor/github.com/stretchr/objx/mutations_test.go
сгенерированный
поставляемый
131
vendor/github.com/stretchr/objx/mutations_test.go
сгенерированный
поставляемый
@@ -1,77 +1,106 @@
|
||||
package objx
|
||||
package objx_test
|
||||
|
||||
import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/objx"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestExclude(t *testing.T) {
|
||||
m := objx.Map{
|
||||
"name": "Mat",
|
||||
"age": 29,
|
||||
"secret": "ABC",
|
||||
}
|
||||
|
||||
d := make(Map)
|
||||
d["name"] = "Mat"
|
||||
d["age"] = 29
|
||||
d["secret"] = "ABC"
|
||||
excluded := m.Exclude([]string{"secret"})
|
||||
|
||||
excluded := d.Exclude([]string{"secret"})
|
||||
|
||||
assert.Equal(t, d["name"], excluded["name"])
|
||||
assert.Equal(t, d["age"], excluded["age"])
|
||||
assert.Equal(t, m["name"], excluded["name"])
|
||||
assert.Equal(t, m["age"], excluded["age"])
|
||||
assert.False(t, excluded.Has("secret"), "secret should be excluded")
|
||||
|
||||
}
|
||||
|
||||
func TestCopy(t *testing.T) {
|
||||
m1 := objx.Map{
|
||||
"name": "Tyler",
|
||||
"location": "UT",
|
||||
}
|
||||
|
||||
d1 := make(map[string]interface{})
|
||||
d1["name"] = "Tyler"
|
||||
d1["location"] = "UT"
|
||||
m2 := m1.Copy()
|
||||
require.NotNil(t, m2)
|
||||
m2["name"] = "Mat"
|
||||
|
||||
d1Obj := New(d1)
|
||||
d2Obj := d1Obj.Copy()
|
||||
|
||||
d2Obj["name"] = "Mat"
|
||||
|
||||
assert.Equal(t, d1Obj.Get("name").Str(), "Tyler")
|
||||
assert.Equal(t, d2Obj.Get("name").Str(), "Mat")
|
||||
assert.Equal(t, m1.Get("name").Str(), "Tyler")
|
||||
assert.Equal(t, m2.Get("name").Str(), "Mat")
|
||||
|
||||
}
|
||||
|
||||
func TestMerge(t *testing.T) {
|
||||
m1 := objx.Map{
|
||||
"name": "Mat",
|
||||
}
|
||||
m2 := objx.Map{
|
||||
"name": "Tyler",
|
||||
"location": "UT",
|
||||
}
|
||||
|
||||
d := make(map[string]interface{})
|
||||
d["name"] = "Mat"
|
||||
|
||||
d1 := make(map[string]interface{})
|
||||
d1["name"] = "Tyler"
|
||||
d1["location"] = "UT"
|
||||
|
||||
dObj := New(d)
|
||||
d1Obj := New(d1)
|
||||
|
||||
merged := dObj.Merge(d1Obj)
|
||||
|
||||
assert.Equal(t, merged.Get("name").Str(), d1Obj.Get("name").Str())
|
||||
assert.Equal(t, merged.Get("location").Str(), d1Obj.Get("location").Str())
|
||||
assert.Empty(t, dObj.Get("location").Str())
|
||||
merged := m1.Merge(m2)
|
||||
|
||||
assert.Equal(t, merged.Get("name").Str(), m2.Get("name").Str())
|
||||
assert.Equal(t, merged.Get("location").Str(), m2.Get("location").Str())
|
||||
assert.Empty(t, m1.Get("location").Str())
|
||||
}
|
||||
|
||||
func TestMergeHere(t *testing.T) {
|
||||
m1 := objx.Map{
|
||||
"name": "Mat",
|
||||
}
|
||||
m2 := objx.Map{
|
||||
"name": "Tyler",
|
||||
"location": "UT",
|
||||
}
|
||||
|
||||
d := make(map[string]interface{})
|
||||
d["name"] = "Mat"
|
||||
merged := m1.MergeHere(m2)
|
||||
|
||||
d1 := make(map[string]interface{})
|
||||
d1["name"] = "Tyler"
|
||||
d1["location"] = "UT"
|
||||
|
||||
dObj := New(d)
|
||||
d1Obj := New(d1)
|
||||
|
||||
merged := dObj.MergeHere(d1Obj)
|
||||
|
||||
assert.Equal(t, dObj, merged, "With MergeHere, it should return the first modified map")
|
||||
assert.Equal(t, merged.Get("name").Str(), d1Obj.Get("name").Str())
|
||||
assert.Equal(t, merged.Get("location").Str(), d1Obj.Get("location").Str())
|
||||
assert.Equal(t, merged.Get("location").Str(), dObj.Get("location").Str())
|
||||
assert.Equal(t, m1, merged, "With MergeHere, it should return the first modified map")
|
||||
assert.Equal(t, merged.Get("name").Str(), m2.Get("name").Str())
|
||||
assert.Equal(t, merged.Get("location").Str(), m2.Get("location").Str())
|
||||
assert.Equal(t, merged.Get("location").Str(), m1.Get("location").Str())
|
||||
}
|
||||
|
||||
func TestTransform(t *testing.T) {
|
||||
m := objx.Map{
|
||||
"name": "Mat",
|
||||
"location": "UK",
|
||||
}
|
||||
r := m.Transform(keyToUpper)
|
||||
assert.Equal(t, objx.Map{
|
||||
"NAME": "Mat",
|
||||
"LOCATION": "UK",
|
||||
}, r)
|
||||
}
|
||||
|
||||
func TestTransformKeys(t *testing.T) {
|
||||
m := objx.Map{
|
||||
"a": "1",
|
||||
"b": "2",
|
||||
"c": "3",
|
||||
}
|
||||
mapping := map[string]string{
|
||||
"a": "d",
|
||||
"b": "e",
|
||||
}
|
||||
r := m.TransformKeys(mapping)
|
||||
assert.Equal(t, objx.Map{
|
||||
"c": "3",
|
||||
"d": "1",
|
||||
"e": "2",
|
||||
}, r)
|
||||
}
|
||||
|
||||
func keyToUpper(s string, v interface{}) (string, interface{}) {
|
||||
return strings.ToUpper(s), v
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user