go.mod: github.com/stretchr/testify v1.8.0
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
This commit is contained in:
		
							
								
								
									
										24
									
								
								vendor/github.com/stretchr/testify/assert/assertion_compare.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/github.com/stretchr/testify/assert/assertion_compare.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,6 +1,7 @@ | ||||
| package assert | ||||
|  | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"fmt" | ||||
| 	"reflect" | ||||
| 	"time" | ||||
| @@ -32,7 +33,8 @@ var ( | ||||
|  | ||||
| 	stringType = reflect.TypeOf("") | ||||
|  | ||||
| 	timeType = reflect.TypeOf(time.Time{}) | ||||
| 	timeType  = reflect.TypeOf(time.Time{}) | ||||
| 	bytesType = reflect.TypeOf([]byte{}) | ||||
| ) | ||||
|  | ||||
| func compare(obj1, obj2 interface{}, kind reflect.Kind) (CompareType, bool) { | ||||
| @@ -323,6 +325,26 @@ func compare(obj1, obj2 interface{}, kind reflect.Kind) (CompareType, bool) { | ||||
|  | ||||
| 			return compare(timeObj1.UnixNano(), timeObj2.UnixNano(), reflect.Int64) | ||||
| 		} | ||||
| 	case reflect.Slice: | ||||
| 		{ | ||||
| 			// We only care about the []byte type. | ||||
| 			if !canConvert(obj1Value, bytesType) { | ||||
| 				break | ||||
| 			} | ||||
|  | ||||
| 			// []byte can be compared! | ||||
| 			bytesObj1, ok := obj1.([]byte) | ||||
| 			if !ok { | ||||
| 				bytesObj1 = obj1Value.Convert(bytesType).Interface().([]byte) | ||||
|  | ||||
| 			} | ||||
| 			bytesObj2, ok := obj2.([]byte) | ||||
| 			if !ok { | ||||
| 				bytesObj2 = obj2Value.Convert(bytesType).Interface().([]byte) | ||||
| 			} | ||||
|  | ||||
| 			return CompareType(bytes.Compare(bytesObj1, bytesObj2)), true | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return compareEqual, false | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/stretchr/testify/assert/assertion_compare_can_convert.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/stretchr/testify/assert/assertion_compare_can_convert.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -9,7 +9,7 @@ package assert | ||||
|  | ||||
| import "reflect" | ||||
|  | ||||
| // Wrapper around reflect.Value.CanConvert, for compatability | ||||
| // Wrapper around reflect.Value.CanConvert, for compatibility | ||||
| // reasons. | ||||
| func canConvert(value reflect.Value, to reflect.Type) bool { | ||||
| 	return value.CanConvert(to) | ||||
|   | ||||
							
								
								
									
										10
									
								
								vendor/github.com/stretchr/testify/assert/assertion_format.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/github.com/stretchr/testify/assert/assertion_format.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -736,6 +736,16 @@ func WithinDurationf(t TestingT, expected time.Time, actual time.Time, delta tim | ||||
| 	return WithinDuration(t, expected, actual, delta, append([]interface{}{msg}, args...)...) | ||||
| } | ||||
|  | ||||
| // WithinRangef asserts that a time is within a time range (inclusive). | ||||
| // | ||||
| //   assert.WithinRangef(t, time.Now(), time.Now().Add(-time.Second), time.Now().Add(time.Second), "error message %s", "formatted") | ||||
| func WithinRangef(t TestingT, actual time.Time, start time.Time, end time.Time, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 	return WithinRange(t, actual, start, end, append([]interface{}{msg}, args...)...) | ||||
| } | ||||
|  | ||||
| // YAMLEqf asserts that two YAML strings are equivalent. | ||||
| func YAMLEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
|   | ||||
							
								
								
									
										20
									
								
								vendor/github.com/stretchr/testify/assert/assertion_forward.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/github.com/stretchr/testify/assert/assertion_forward.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1461,6 +1461,26 @@ func (a *Assertions) WithinDurationf(expected time.Time, actual time.Time, delta | ||||
| 	return WithinDurationf(a.t, expected, actual, delta, msg, args...) | ||||
| } | ||||
|  | ||||
| // WithinRange asserts that a time is within a time range (inclusive). | ||||
| // | ||||
| //   a.WithinRange(time.Now(), time.Now().Add(-time.Second), time.Now().Add(time.Second)) | ||||
| func (a *Assertions) WithinRange(actual time.Time, start time.Time, end time.Time, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := a.t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 	return WithinRange(a.t, actual, start, end, msgAndArgs...) | ||||
| } | ||||
|  | ||||
| // WithinRangef asserts that a time is within a time range (inclusive). | ||||
| // | ||||
| //   a.WithinRangef(time.Now(), time.Now().Add(-time.Second), time.Now().Add(time.Second), "error message %s", "formatted") | ||||
| func (a *Assertions) WithinRangef(actual time.Time, start time.Time, end time.Time, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := a.t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 	return WithinRangef(a.t, actual, start, end, msg, args...) | ||||
| } | ||||
|  | ||||
| // YAMLEq asserts that two YAML strings are equivalent. | ||||
| func (a *Assertions) YAMLEq(expected string, actual string, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := a.t.(tHelper); ok { | ||||
|   | ||||
							
								
								
									
										78
									
								
								vendor/github.com/stretchr/testify/assert/assertions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										78
									
								
								vendor/github.com/stretchr/testify/assert/assertions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -8,6 +8,7 @@ import ( | ||||
| 	"fmt" | ||||
| 	"math" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"reflect" | ||||
| 	"regexp" | ||||
| 	"runtime" | ||||
| @@ -144,7 +145,8 @@ func CallerInfo() []string { | ||||
| 		if len(parts) > 1 { | ||||
| 			dir := parts[len(parts)-2] | ||||
| 			if (dir != "assert" && dir != "mock" && dir != "require") || file == "mock_test.go" { | ||||
| 				callers = append(callers, fmt.Sprintf("%s:%d", file, line)) | ||||
| 				path, _ := filepath.Abs(file) | ||||
| 				callers = append(callers, fmt.Sprintf("%s:%d", path, line)) | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| @@ -563,16 +565,17 @@ func isEmpty(object interface{}) bool { | ||||
|  | ||||
| 	switch objValue.Kind() { | ||||
| 	// collection types are empty when they have no element | ||||
| 	case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: | ||||
| 	case reflect.Chan, reflect.Map, reflect.Slice: | ||||
| 		return objValue.Len() == 0 | ||||
| 		// pointers are empty if nil or if the value they point to is empty | ||||
| 	// pointers are empty if nil or if the value they point to is empty | ||||
| 	case reflect.Ptr: | ||||
| 		if objValue.IsNil() { | ||||
| 			return true | ||||
| 		} | ||||
| 		deref := objValue.Elem().Interface() | ||||
| 		return isEmpty(deref) | ||||
| 		// for all other types, compare against the zero value | ||||
| 	// for all other types, compare against the zero value | ||||
| 	// array types are empty when they match their zero-initialized state | ||||
| 	default: | ||||
| 		zero := reflect.Zero(objValue.Type()) | ||||
| 		return reflect.DeepEqual(object, zero.Interface()) | ||||
| @@ -815,7 +818,6 @@ func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok | ||||
| 		return true // we consider nil to be equal to the nil set | ||||
| 	} | ||||
|  | ||||
| 	subsetValue := reflect.ValueOf(subset) | ||||
| 	defer func() { | ||||
| 		if e := recover(); e != nil { | ||||
| 			ok = false | ||||
| @@ -825,14 +827,32 @@ func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok | ||||
| 	listKind := reflect.TypeOf(list).Kind() | ||||
| 	subsetKind := reflect.TypeOf(subset).Kind() | ||||
|  | ||||
| 	if listKind != reflect.Array && listKind != reflect.Slice { | ||||
| 	if listKind != reflect.Array && listKind != reflect.Slice && listKind != reflect.Map { | ||||
| 		return Fail(t, fmt.Sprintf("%q has an unsupported type %s", list, listKind), msgAndArgs...) | ||||
| 	} | ||||
|  | ||||
| 	if subsetKind != reflect.Array && subsetKind != reflect.Slice { | ||||
| 	if subsetKind != reflect.Array && subsetKind != reflect.Slice && listKind != reflect.Map { | ||||
| 		return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...) | ||||
| 	} | ||||
|  | ||||
| 	subsetValue := reflect.ValueOf(subset) | ||||
| 	if subsetKind == reflect.Map && listKind == reflect.Map { | ||||
| 		listValue := reflect.ValueOf(list) | ||||
| 		subsetKeys := subsetValue.MapKeys() | ||||
|  | ||||
| 		for i := 0; i < len(subsetKeys); i++ { | ||||
| 			subsetKey := subsetKeys[i] | ||||
| 			subsetElement := subsetValue.MapIndex(subsetKey).Interface() | ||||
| 			listElement := listValue.MapIndex(subsetKey).Interface() | ||||
|  | ||||
| 			if !ObjectsAreEqual(subsetElement, listElement) { | ||||
| 				return Fail(t, fmt.Sprintf("\"%s\" does not contain \"%s\"", list, subsetElement), msgAndArgs...) | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		return true | ||||
| 	} | ||||
|  | ||||
| 	for i := 0; i < subsetValue.Len(); i++ { | ||||
| 		element := subsetValue.Index(i).Interface() | ||||
| 		ok, found := containsElement(list, element) | ||||
| @@ -859,7 +879,6 @@ func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) | ||||
| 		return Fail(t, "nil is the empty set which is a subset of every set", msgAndArgs...) | ||||
| 	} | ||||
|  | ||||
| 	subsetValue := reflect.ValueOf(subset) | ||||
| 	defer func() { | ||||
| 		if e := recover(); e != nil { | ||||
| 			ok = false | ||||
| @@ -869,14 +888,32 @@ func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) | ||||
| 	listKind := reflect.TypeOf(list).Kind() | ||||
| 	subsetKind := reflect.TypeOf(subset).Kind() | ||||
|  | ||||
| 	if listKind != reflect.Array && listKind != reflect.Slice { | ||||
| 	if listKind != reflect.Array && listKind != reflect.Slice && listKind != reflect.Map { | ||||
| 		return Fail(t, fmt.Sprintf("%q has an unsupported type %s", list, listKind), msgAndArgs...) | ||||
| 	} | ||||
|  | ||||
| 	if subsetKind != reflect.Array && subsetKind != reflect.Slice { | ||||
| 	if subsetKind != reflect.Array && subsetKind != reflect.Slice && listKind != reflect.Map { | ||||
| 		return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...) | ||||
| 	} | ||||
|  | ||||
| 	subsetValue := reflect.ValueOf(subset) | ||||
| 	if subsetKind == reflect.Map && listKind == reflect.Map { | ||||
| 		listValue := reflect.ValueOf(list) | ||||
| 		subsetKeys := subsetValue.MapKeys() | ||||
|  | ||||
| 		for i := 0; i < len(subsetKeys); i++ { | ||||
| 			subsetKey := subsetKeys[i] | ||||
| 			subsetElement := subsetValue.MapIndex(subsetKey).Interface() | ||||
| 			listElement := listValue.MapIndex(subsetKey).Interface() | ||||
|  | ||||
| 			if !ObjectsAreEqual(subsetElement, listElement) { | ||||
| 				return true | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		return Fail(t, fmt.Sprintf("%q is a subset of %q", subset, list), msgAndArgs...) | ||||
| 	} | ||||
|  | ||||
| 	for i := 0; i < subsetValue.Len(); i++ { | ||||
| 		element := subsetValue.Index(i).Interface() | ||||
| 		ok, found := containsElement(list, element) | ||||
| @@ -1109,6 +1146,27 @@ func WithinDuration(t TestingT, expected, actual time.Time, delta time.Duration, | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| // WithinRange asserts that a time is within a time range (inclusive). | ||||
| // | ||||
| //   assert.WithinRange(t, time.Now(), time.Now().Add(-time.Second), time.Now().Add(time.Second)) | ||||
| func WithinRange(t TestingT, actual, start, end time.Time, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
|  | ||||
| 	if end.Before(start) { | ||||
| 		return Fail(t, "Start should be before end", msgAndArgs...) | ||||
| 	} | ||||
|  | ||||
| 	if actual.Before(start) { | ||||
| 		return Fail(t, fmt.Sprintf("Time %v expected to be in time range %v to %v, but is before the range", actual, start, end), msgAndArgs...) | ||||
| 	} else if actual.After(end) { | ||||
| 		return Fail(t, fmt.Sprintf("Time %v expected to be in time range %v to %v, but is after the range", actual, start, end), msgAndArgs...) | ||||
| 	} | ||||
|  | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| func toFloat(x interface{}) (float64, bool) { | ||||
| 	var xf float64 | ||||
| 	xok := true | ||||
|   | ||||
							
								
								
									
										26
									
								
								vendor/github.com/stretchr/testify/require/require.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								vendor/github.com/stretchr/testify/require/require.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1864,6 +1864,32 @@ func WithinDurationf(t TestingT, expected time.Time, actual time.Time, delta tim | ||||
| 	t.FailNow() | ||||
| } | ||||
|  | ||||
| // WithinRange asserts that a time is within a time range (inclusive). | ||||
| // | ||||
| //   assert.WithinRange(t, time.Now(), time.Now().Add(-time.Second), time.Now().Add(time.Second)) | ||||
| func WithinRange(t TestingT, actual time.Time, start time.Time, end time.Time, msgAndArgs ...interface{}) { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 	if assert.WithinRange(t, actual, start, end, msgAndArgs...) { | ||||
| 		return | ||||
| 	} | ||||
| 	t.FailNow() | ||||
| } | ||||
|  | ||||
| // WithinRangef asserts that a time is within a time range (inclusive). | ||||
| // | ||||
| //   assert.WithinRangef(t, time.Now(), time.Now().Add(-time.Second), time.Now().Add(time.Second), "error message %s", "formatted") | ||||
| func WithinRangef(t TestingT, actual time.Time, start time.Time, end time.Time, msg string, args ...interface{}) { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 	if assert.WithinRangef(t, actual, start, end, msg, args...) { | ||||
| 		return | ||||
| 	} | ||||
| 	t.FailNow() | ||||
| } | ||||
|  | ||||
| // YAMLEq asserts that two YAML strings are equivalent. | ||||
| func YAMLEq(t TestingT, expected string, actual string, msgAndArgs ...interface{}) { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
|   | ||||
							
								
								
									
										20
									
								
								vendor/github.com/stretchr/testify/require/require_forward.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/github.com/stretchr/testify/require/require_forward.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1462,6 +1462,26 @@ func (a *Assertions) WithinDurationf(expected time.Time, actual time.Time, delta | ||||
| 	WithinDurationf(a.t, expected, actual, delta, msg, args...) | ||||
| } | ||||
|  | ||||
| // WithinRange asserts that a time is within a time range (inclusive). | ||||
| // | ||||
| //   a.WithinRange(time.Now(), time.Now().Add(-time.Second), time.Now().Add(time.Second)) | ||||
| func (a *Assertions) WithinRange(actual time.Time, start time.Time, end time.Time, msgAndArgs ...interface{}) { | ||||
| 	if h, ok := a.t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 	WithinRange(a.t, actual, start, end, msgAndArgs...) | ||||
| } | ||||
|  | ||||
| // WithinRangef asserts that a time is within a time range (inclusive). | ||||
| // | ||||
| //   a.WithinRangef(time.Now(), time.Now().Add(-time.Second), time.Now().Add(time.Second), "error message %s", "formatted") | ||||
| func (a *Assertions) WithinRangef(actual time.Time, start time.Time, end time.Time, msg string, args ...interface{}) { | ||||
| 	if h, ok := a.t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 	WithinRangef(a.t, actual, start, end, msg, args...) | ||||
| } | ||||
|  | ||||
| // YAMLEq asserts that two YAML strings are equivalent. | ||||
| func (a *Assertions) YAMLEq(expected string, actual string, msgAndArgs ...interface{}) { | ||||
| 	if h, ok := a.t.(tHelper); ok { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Akihiro Suda
					Akihiro Suda