Files
acme-dns/vendor/github.com/gavv/httpexpect/helpers_test.go
2018-01-22 11:19:33 +02:00

138 lines
2.9 KiB
Go

package httpexpect
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestCanonNumber(t *testing.T) {
type (
myInt int
)
chain := makeChain(newMockReporter(t))
d1, ok := canonNumber(&chain, 123)
assert.True(t, ok)
assert.Equal(t, 123.0, d1)
chain.assertOK(t)
chain.reset()
d2, ok := canonNumber(&chain, 123.0)
assert.True(t, ok)
assert.Equal(t, 123.0, d2)
chain.assertOK(t)
chain.reset()
d3, ok := canonNumber(&chain, myInt(123))
assert.True(t, ok)
assert.Equal(t, 123.0, d3)
chain.assertOK(t)
chain.reset()
_, ok = canonNumber(&chain, "123")
assert.False(t, ok)
chain.assertFailed(t)
chain.reset()
_, ok = canonNumber(&chain, nil)
assert.False(t, ok)
chain.assertFailed(t)
chain.reset()
}
func TestCanonArray(t *testing.T) {
type (
myArray []interface{}
myInt int
)
chain := makeChain(newMockReporter(t))
d1, ok := canonArray(&chain, []interface{}{123.0, 456.0})
assert.True(t, ok)
assert.Equal(t, []interface{}{123.0, 456.0}, d1)
chain.assertOK(t)
chain.reset()
d2, ok := canonArray(&chain, myArray{myInt(123), 456.0})
assert.True(t, ok)
assert.Equal(t, []interface{}{123.0, 456.0}, d2)
chain.assertOK(t)
chain.reset()
_, ok = canonArray(&chain, "123")
assert.False(t, ok)
chain.assertFailed(t)
chain.reset()
_, ok = canonArray(&chain, func() {})
assert.False(t, ok)
chain.assertFailed(t)
chain.reset()
_, ok = canonArray(&chain, nil)
assert.False(t, ok)
chain.assertFailed(t)
chain.reset()
_, ok = canonArray(&chain, []interface{}(nil))
assert.False(t, ok)
chain.assertFailed(t)
chain.reset()
}
func TestCanonMap(t *testing.T) {
type (
myMap map[string]interface{}
myInt int
)
chain := makeChain(newMockReporter(t))
d1, ok := canonMap(&chain, map[string]interface{}{"foo": 123.0})
assert.True(t, ok)
assert.Equal(t, map[string]interface{}{"foo": 123.0}, d1)
chain.assertOK(t)
chain.reset()
d2, ok := canonMap(&chain, myMap{"foo": myInt(123)})
assert.True(t, ok)
assert.Equal(t, map[string]interface{}{"foo": 123.0}, d2)
chain.assertOK(t)
chain.reset()
_, ok = canonMap(&chain, "123")
assert.False(t, ok)
chain.assertFailed(t)
chain.reset()
_, ok = canonMap(&chain, func() {})
assert.False(t, ok)
chain.assertFailed(t)
chain.reset()
_, ok = canonMap(&chain, nil)
assert.False(t, ok)
chain.assertFailed(t)
chain.reset()
_, ok = canonMap(&chain, map[string]interface{}(nil))
assert.False(t, ok)
chain.assertFailed(t)
chain.reset()
}
func TestDiffErrors(t *testing.T) {
na := " (unavailable)"
assert.Equal(t, na, diffValues(map[string]interface{}{}, []interface{}{}))
assert.Equal(t, na, diffValues([]interface{}{}, map[string]interface{}{}))
assert.Equal(t, na, diffValues("foo", "bar"))
assert.Equal(t, na, diffValues(func() {}, func() {}))
assert.NotEqual(t, na, diffValues(map[string]interface{}{}, map[string]interface{}{}))
assert.NotEqual(t, na, diffValues([]interface{}{}, []interface{}{}))
}