fix(deps): update module github.com/stretchr/testify to v1.8.3
Signed-off-by: Renovate Bot <bot@renovateapp.com>
This commit is contained in:
		
							parent
							
								
									a58ea23b17
								
							
						
					
					
						commit
						18c3de596a
					
				
							
								
								
									
										2
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										2
									
								
								go.mod
								
								
								
								
							|  | @ -56,7 +56,7 @@ require ( | |||
| 	github.com/sirupsen/logrus v1.9.0 | ||||
| 	github.com/spf13/cobra v1.7.0 | ||||
| 	github.com/spf13/pflag v1.0.5 | ||||
| 	github.com/stretchr/testify v1.8.2 | ||||
| 	github.com/stretchr/testify v1.8.3 | ||||
| 	github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 | ||||
| 	github.com/ulikunitz/xz v0.5.11 | ||||
| 	github.com/vbauerster/mpb/v8 v8.4.0 | ||||
|  |  | |||
							
								
								
									
										4
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										4
									
								
								go.sum
								
								
								
								
							|  | @ -942,8 +942,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ | |||
| github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||
| github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= | ||||
| github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= | ||||
| github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= | ||||
| github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= | ||||
| github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= | ||||
| github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= | ||||
| github.com/sylabs/sif/v2 v2.11.3 h1:EQxi5zl6i5DsbVal9HHpk/zuSx7aNLeZBy8vmvFz838= | ||||
| github.com/sylabs/sif/v2 v2.11.3/go.mod h1:0ryivqvvsncJOJjU5QQIEc77a5zKK46F+urBXMdA07w= | ||||
| github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= | ||||
|  |  | |||
|  | @ -352,9 +352,9 @@ func compare(obj1, obj2 interface{}, kind reflect.Kind) (CompareType, bool) { | |||
| 
 | ||||
| // Greater asserts that the first element is greater than the second
 | ||||
| //
 | ||||
| //    assert.Greater(t, 2, 1)
 | ||||
| //    assert.Greater(t, float64(2), float64(1))
 | ||||
| //    assert.Greater(t, "b", "a")
 | ||||
| //	assert.Greater(t, 2, 1)
 | ||||
| //	assert.Greater(t, float64(2), float64(1))
 | ||||
| //	assert.Greater(t, "b", "a")
 | ||||
| func Greater(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -364,10 +364,10 @@ func Greater(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface | |||
| 
 | ||||
| // GreaterOrEqual asserts that the first element is greater than or equal to the second
 | ||||
| //
 | ||||
| //    assert.GreaterOrEqual(t, 2, 1)
 | ||||
| //    assert.GreaterOrEqual(t, 2, 2)
 | ||||
| //    assert.GreaterOrEqual(t, "b", "a")
 | ||||
| //    assert.GreaterOrEqual(t, "b", "b")
 | ||||
| //	assert.GreaterOrEqual(t, 2, 1)
 | ||||
| //	assert.GreaterOrEqual(t, 2, 2)
 | ||||
| //	assert.GreaterOrEqual(t, "b", "a")
 | ||||
| //	assert.GreaterOrEqual(t, "b", "b")
 | ||||
| func GreaterOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -377,9 +377,9 @@ func GreaterOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...in | |||
| 
 | ||||
| // Less asserts that the first element is less than the second
 | ||||
| //
 | ||||
| //    assert.Less(t, 1, 2)
 | ||||
| //    assert.Less(t, float64(1), float64(2))
 | ||||
| //    assert.Less(t, "a", "b")
 | ||||
| //	assert.Less(t, 1, 2)
 | ||||
| //	assert.Less(t, float64(1), float64(2))
 | ||||
| //	assert.Less(t, "a", "b")
 | ||||
| func Less(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -389,10 +389,10 @@ func Less(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) | |||
| 
 | ||||
| // LessOrEqual asserts that the first element is less than or equal to the second
 | ||||
| //
 | ||||
| //    assert.LessOrEqual(t, 1, 2)
 | ||||
| //    assert.LessOrEqual(t, 2, 2)
 | ||||
| //    assert.LessOrEqual(t, "a", "b")
 | ||||
| //    assert.LessOrEqual(t, "b", "b")
 | ||||
| //	assert.LessOrEqual(t, 1, 2)
 | ||||
| //	assert.LessOrEqual(t, 2, 2)
 | ||||
| //	assert.LessOrEqual(t, "a", "b")
 | ||||
| //	assert.LessOrEqual(t, "b", "b")
 | ||||
| func LessOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -402,8 +402,8 @@ func LessOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...inter | |||
| 
 | ||||
| // Positive asserts that the specified element is positive
 | ||||
| //
 | ||||
| //    assert.Positive(t, 1)
 | ||||
| //    assert.Positive(t, 1.23)
 | ||||
| //	assert.Positive(t, 1)
 | ||||
| //	assert.Positive(t, 1.23)
 | ||||
| func Positive(t TestingT, e interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -414,8 +414,8 @@ func Positive(t TestingT, e interface{}, msgAndArgs ...interface{}) bool { | |||
| 
 | ||||
| // Negative asserts that the specified element is negative
 | ||||
| //
 | ||||
| //    assert.Negative(t, -1)
 | ||||
| //    assert.Negative(t, -1.23)
 | ||||
| //	assert.Negative(t, -1)
 | ||||
| //	assert.Negative(t, -1.23)
 | ||||
| func Negative(t TestingT, e interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  |  | |||
|  | @ -22,9 +22,9 @@ func Conditionf(t TestingT, comp Comparison, msg string, args ...interface{}) bo | |||
| // Containsf asserts that the specified string, list(array, slice...) or map contains the
 | ||||
| // specified substring or element.
 | ||||
| //
 | ||||
| //    assert.Containsf(t, "Hello World", "World", "error message %s", "formatted")
 | ||||
| //    assert.Containsf(t, ["Hello", "World"], "World", "error message %s", "formatted")
 | ||||
| //    assert.Containsf(t, {"Hello": "World"}, "Hello", "error message %s", "formatted")
 | ||||
| //	assert.Containsf(t, "Hello World", "World", "error message %s", "formatted")
 | ||||
| //	assert.Containsf(t, ["Hello", "World"], "World", "error message %s", "formatted")
 | ||||
| //	assert.Containsf(t, {"Hello": "World"}, "Hello", "error message %s", "formatted")
 | ||||
| func Containsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -56,7 +56,7 @@ func ElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg string | |||
| // Emptyf asserts that the specified object is empty.  I.e. nil, "", false, 0 or either
 | ||||
| // a slice or a channel with len == 0.
 | ||||
| //
 | ||||
| //  assert.Emptyf(t, obj, "error message %s", "formatted")
 | ||||
| //	assert.Emptyf(t, obj, "error message %s", "formatted")
 | ||||
| func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -66,7 +66,7 @@ func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) boo | |||
| 
 | ||||
| // Equalf asserts that two objects are equal.
 | ||||
| //
 | ||||
| //    assert.Equalf(t, 123, 123, "error message %s", "formatted")
 | ||||
| //	assert.Equalf(t, 123, 123, "error message %s", "formatted")
 | ||||
| //
 | ||||
| // Pointer variable equality is determined based on the equality of the
 | ||||
| // referenced values (as opposed to the memory addresses). Function equality
 | ||||
|  | @ -81,8 +81,8 @@ func Equalf(t TestingT, expected interface{}, actual interface{}, msg string, ar | |||
| // EqualErrorf asserts that a function returned an error (i.e. not `nil`)
 | ||||
| // and that it is equal to the provided error.
 | ||||
| //
 | ||||
| //   actualObj, err := SomeFunction()
 | ||||
| //   assert.EqualErrorf(t, err,  expectedErrorString, "error message %s", "formatted")
 | ||||
| //	actualObj, err := SomeFunction()
 | ||||
| //	assert.EqualErrorf(t, err,  expectedErrorString, "error message %s", "formatted")
 | ||||
| func EqualErrorf(t TestingT, theError error, errString string, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -90,10 +90,27 @@ func EqualErrorf(t TestingT, theError error, errString string, msg string, args | |||
| 	return EqualError(t, theError, errString, append([]interface{}{msg}, args...)...) | ||||
| } | ||||
| 
 | ||||
| // EqualExportedValuesf asserts that the types of two objects are equal and their public
 | ||||
| // fields are also equal. This is useful for comparing structs that have private fields
 | ||||
| // that could potentially differ.
 | ||||
| //
 | ||||
| //	 type S struct {
 | ||||
| //		Exported     	int
 | ||||
| //		notExported   	int
 | ||||
| //	 }
 | ||||
| //	 assert.EqualExportedValuesf(t, S{1, 2}, S{1, 3}, "error message %s", "formatted") => true
 | ||||
| //	 assert.EqualExportedValuesf(t, S{1, 2}, S{2, 3}, "error message %s", "formatted") => false
 | ||||
| func EqualExportedValuesf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 	return EqualExportedValues(t, expected, actual, append([]interface{}{msg}, args...)...) | ||||
| } | ||||
| 
 | ||||
| // EqualValuesf asserts that two objects are equal or convertable to the same types
 | ||||
| // and equal.
 | ||||
| //
 | ||||
| //    assert.EqualValuesf(t, uint32(123), int32(123), "error message %s", "formatted")
 | ||||
| //	assert.EqualValuesf(t, uint32(123), int32(123), "error message %s", "formatted")
 | ||||
| func EqualValuesf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -103,10 +120,10 @@ func EqualValuesf(t TestingT, expected interface{}, actual interface{}, msg stri | |||
| 
 | ||||
| // Errorf asserts that a function returned an error (i.e. not `nil`).
 | ||||
| //
 | ||||
| //   actualObj, err := SomeFunction()
 | ||||
| //   if assert.Errorf(t, err, "error message %s", "formatted") {
 | ||||
| // 	   assert.Equal(t, expectedErrorf, err)
 | ||||
| //   }
 | ||||
| //	  actualObj, err := SomeFunction()
 | ||||
| //	  if assert.Errorf(t, err, "error message %s", "formatted") {
 | ||||
| //		   assert.Equal(t, expectedErrorf, err)
 | ||||
| //	  }
 | ||||
| func Errorf(t TestingT, err error, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -126,8 +143,8 @@ func ErrorAsf(t TestingT, err error, target interface{}, msg string, args ...int | |||
| // ErrorContainsf asserts that a function returned an error (i.e. not `nil`)
 | ||||
| // and that the error contains the specified substring.
 | ||||
| //
 | ||||
| //   actualObj, err := SomeFunction()
 | ||||
| //   assert.ErrorContainsf(t, err,  expectedErrorSubString, "error message %s", "formatted")
 | ||||
| //	actualObj, err := SomeFunction()
 | ||||
| //	assert.ErrorContainsf(t, err,  expectedErrorSubString, "error message %s", "formatted")
 | ||||
| func ErrorContainsf(t TestingT, theError error, contains string, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -147,7 +164,7 @@ func ErrorIsf(t TestingT, err error, target error, msg string, args ...interface | |||
| // Eventuallyf asserts that given condition will be met in waitFor time,
 | ||||
| // periodically checking target function each tick.
 | ||||
| //
 | ||||
| //    assert.Eventuallyf(t, func() bool { return true; }, time.Second, 10*time.Millisecond, "error message %s", "formatted")
 | ||||
| //	assert.Eventuallyf(t, func() bool { return true; }, time.Second, 10*time.Millisecond, "error message %s", "formatted")
 | ||||
| func Eventuallyf(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -155,9 +172,34 @@ func Eventuallyf(t TestingT, condition func() bool, waitFor time.Duration, tick | |||
| 	return Eventually(t, condition, waitFor, tick, append([]interface{}{msg}, args...)...) | ||||
| } | ||||
| 
 | ||||
| // EventuallyWithTf asserts that given condition will be met in waitFor time,
 | ||||
| // periodically checking target function each tick. In contrast to Eventually,
 | ||||
| // it supplies a CollectT to the condition function, so that the condition
 | ||||
| // function can use the CollectT to call other assertions.
 | ||||
| // The condition is considered "met" if no errors are raised in a tick.
 | ||||
| // The supplied CollectT collects all errors from one tick (if there are any).
 | ||||
| // If the condition is not met before waitFor, the collected errors of
 | ||||
| // the last tick are copied to t.
 | ||||
| //
 | ||||
| //	externalValue := false
 | ||||
| //	go func() {
 | ||||
| //		time.Sleep(8*time.Second)
 | ||||
| //		externalValue = true
 | ||||
| //	}()
 | ||||
| //	assert.EventuallyWithTf(t, func(c *assert.CollectT, "error message %s", "formatted") {
 | ||||
| //		// add assertions as needed; any assertion failure will fail the current tick
 | ||||
| //		assert.True(c, externalValue, "expected 'externalValue' to be true")
 | ||||
| //	}, 1*time.Second, 10*time.Second, "external state has not changed to 'true'; still false")
 | ||||
| func EventuallyWithTf(t TestingT, condition func(collect *CollectT), waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 	return EventuallyWithT(t, condition, waitFor, tick, append([]interface{}{msg}, args...)...) | ||||
| } | ||||
| 
 | ||||
| // Exactlyf asserts that two objects are equal in value and type.
 | ||||
| //
 | ||||
| //    assert.Exactlyf(t, int32(123), int64(123), "error message %s", "formatted")
 | ||||
| //	assert.Exactlyf(t, int32(123), int64(123), "error message %s", "formatted")
 | ||||
| func Exactlyf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -183,7 +225,7 @@ func FailNowf(t TestingT, failureMessage string, msg string, args ...interface{} | |||
| 
 | ||||
| // Falsef asserts that the specified value is false.
 | ||||
| //
 | ||||
| //    assert.Falsef(t, myBool, "error message %s", "formatted")
 | ||||
| //	assert.Falsef(t, myBool, "error message %s", "formatted")
 | ||||
| func Falsef(t TestingT, value bool, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -202,9 +244,9 @@ func FileExistsf(t TestingT, path string, msg string, args ...interface{}) bool | |||
| 
 | ||||
| // Greaterf asserts that the first element is greater than the second
 | ||||
| //
 | ||||
| //    assert.Greaterf(t, 2, 1, "error message %s", "formatted")
 | ||||
| //    assert.Greaterf(t, float64(2), float64(1), "error message %s", "formatted")
 | ||||
| //    assert.Greaterf(t, "b", "a", "error message %s", "formatted")
 | ||||
| //	assert.Greaterf(t, 2, 1, "error message %s", "formatted")
 | ||||
| //	assert.Greaterf(t, float64(2), float64(1), "error message %s", "formatted")
 | ||||
| //	assert.Greaterf(t, "b", "a", "error message %s", "formatted")
 | ||||
| func Greaterf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -214,10 +256,10 @@ func Greaterf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...in | |||
| 
 | ||||
| // GreaterOrEqualf asserts that the first element is greater than or equal to the second
 | ||||
| //
 | ||||
| //    assert.GreaterOrEqualf(t, 2, 1, "error message %s", "formatted")
 | ||||
| //    assert.GreaterOrEqualf(t, 2, 2, "error message %s", "formatted")
 | ||||
| //    assert.GreaterOrEqualf(t, "b", "a", "error message %s", "formatted")
 | ||||
| //    assert.GreaterOrEqualf(t, "b", "b", "error message %s", "formatted")
 | ||||
| //	assert.GreaterOrEqualf(t, 2, 1, "error message %s", "formatted")
 | ||||
| //	assert.GreaterOrEqualf(t, 2, 2, "error message %s", "formatted")
 | ||||
| //	assert.GreaterOrEqualf(t, "b", "a", "error message %s", "formatted")
 | ||||
| //	assert.GreaterOrEqualf(t, "b", "b", "error message %s", "formatted")
 | ||||
| func GreaterOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -228,7 +270,7 @@ func GreaterOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, arg | |||
| // HTTPBodyContainsf asserts that a specified handler returns a
 | ||||
| // body that contains a string.
 | ||||
| //
 | ||||
| //  assert.HTTPBodyContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted")
 | ||||
| //	assert.HTTPBodyContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted")
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPBodyContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool { | ||||
|  | @ -241,7 +283,7 @@ func HTTPBodyContainsf(t TestingT, handler http.HandlerFunc, method string, url | |||
| // HTTPBodyNotContainsf asserts that a specified handler returns a
 | ||||
| // body that does not contain a string.
 | ||||
| //
 | ||||
| //  assert.HTTPBodyNotContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted")
 | ||||
| //	assert.HTTPBodyNotContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted")
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPBodyNotContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool { | ||||
|  | @ -253,7 +295,7 @@ func HTTPBodyNotContainsf(t TestingT, handler http.HandlerFunc, method string, u | |||
| 
 | ||||
| // HTTPErrorf asserts that a specified handler returns an error status code.
 | ||||
| //
 | ||||
| //  assert.HTTPErrorf(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}}
 | ||||
| //	assert.HTTPErrorf(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}}
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPErrorf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { | ||||
|  | @ -265,7 +307,7 @@ func HTTPErrorf(t TestingT, handler http.HandlerFunc, method string, url string, | |||
| 
 | ||||
| // HTTPRedirectf asserts that a specified handler returns a redirect status code.
 | ||||
| //
 | ||||
| //  assert.HTTPRedirectf(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}}
 | ||||
| //	assert.HTTPRedirectf(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}}
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPRedirectf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { | ||||
|  | @ -277,7 +319,7 @@ func HTTPRedirectf(t TestingT, handler http.HandlerFunc, method string, url stri | |||
| 
 | ||||
| // HTTPStatusCodef asserts that a specified handler returns a specified status code.
 | ||||
| //
 | ||||
| //  assert.HTTPStatusCodef(t, myHandler, "GET", "/notImplemented", nil, 501, "error message %s", "formatted")
 | ||||
| //	assert.HTTPStatusCodef(t, myHandler, "GET", "/notImplemented", nil, 501, "error message %s", "formatted")
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPStatusCodef(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, statuscode int, msg string, args ...interface{}) bool { | ||||
|  | @ -289,7 +331,7 @@ func HTTPStatusCodef(t TestingT, handler http.HandlerFunc, method string, url st | |||
| 
 | ||||
| // HTTPSuccessf asserts that a specified handler returns a success status code.
 | ||||
| //
 | ||||
| //  assert.HTTPSuccessf(t, myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted")
 | ||||
| //	assert.HTTPSuccessf(t, myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted")
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPSuccessf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { | ||||
|  | @ -301,7 +343,7 @@ func HTTPSuccessf(t TestingT, handler http.HandlerFunc, method string, url strin | |||
| 
 | ||||
| // Implementsf asserts that an object is implemented by the specified interface.
 | ||||
| //
 | ||||
| //    assert.Implementsf(t, (*MyInterface)(nil), new(MyObject), "error message %s", "formatted")
 | ||||
| //	assert.Implementsf(t, (*MyInterface)(nil), new(MyObject), "error message %s", "formatted")
 | ||||
| func Implementsf(t TestingT, interfaceObject interface{}, object interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -311,7 +353,7 @@ func Implementsf(t TestingT, interfaceObject interface{}, object interface{}, ms | |||
| 
 | ||||
| // InDeltaf asserts that the two numerals are within delta of each other.
 | ||||
| //
 | ||||
| // 	 assert.InDeltaf(t, math.Pi, 22/7.0, 0.01, "error message %s", "formatted")
 | ||||
| //	assert.InDeltaf(t, math.Pi, 22/7.0, 0.01, "error message %s", "formatted")
 | ||||
| func InDeltaf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -353,9 +395,9 @@ func InEpsilonSlicef(t TestingT, expected interface{}, actual interface{}, epsil | |||
| 
 | ||||
| // IsDecreasingf asserts that the collection is decreasing
 | ||||
| //
 | ||||
| //    assert.IsDecreasingf(t, []int{2, 1, 0}, "error message %s", "formatted")
 | ||||
| //    assert.IsDecreasingf(t, []float{2, 1}, "error message %s", "formatted")
 | ||||
| //    assert.IsDecreasingf(t, []string{"b", "a"}, "error message %s", "formatted")
 | ||||
| //	assert.IsDecreasingf(t, []int{2, 1, 0}, "error message %s", "formatted")
 | ||||
| //	assert.IsDecreasingf(t, []float{2, 1}, "error message %s", "formatted")
 | ||||
| //	assert.IsDecreasingf(t, []string{"b", "a"}, "error message %s", "formatted")
 | ||||
| func IsDecreasingf(t TestingT, object interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -365,9 +407,9 @@ func IsDecreasingf(t TestingT, object interface{}, msg string, args ...interface | |||
| 
 | ||||
| // IsIncreasingf asserts that the collection is increasing
 | ||||
| //
 | ||||
| //    assert.IsIncreasingf(t, []int{1, 2, 3}, "error message %s", "formatted")
 | ||||
| //    assert.IsIncreasingf(t, []float{1, 2}, "error message %s", "formatted")
 | ||||
| //    assert.IsIncreasingf(t, []string{"a", "b"}, "error message %s", "formatted")
 | ||||
| //	assert.IsIncreasingf(t, []int{1, 2, 3}, "error message %s", "formatted")
 | ||||
| //	assert.IsIncreasingf(t, []float{1, 2}, "error message %s", "formatted")
 | ||||
| //	assert.IsIncreasingf(t, []string{"a", "b"}, "error message %s", "formatted")
 | ||||
| func IsIncreasingf(t TestingT, object interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -377,9 +419,9 @@ func IsIncreasingf(t TestingT, object interface{}, msg string, args ...interface | |||
| 
 | ||||
| // IsNonDecreasingf asserts that the collection is not decreasing
 | ||||
| //
 | ||||
| //    assert.IsNonDecreasingf(t, []int{1, 1, 2}, "error message %s", "formatted")
 | ||||
| //    assert.IsNonDecreasingf(t, []float{1, 2}, "error message %s", "formatted")
 | ||||
| //    assert.IsNonDecreasingf(t, []string{"a", "b"}, "error message %s", "formatted")
 | ||||
| //	assert.IsNonDecreasingf(t, []int{1, 1, 2}, "error message %s", "formatted")
 | ||||
| //	assert.IsNonDecreasingf(t, []float{1, 2}, "error message %s", "formatted")
 | ||||
| //	assert.IsNonDecreasingf(t, []string{"a", "b"}, "error message %s", "formatted")
 | ||||
| func IsNonDecreasingf(t TestingT, object interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -389,9 +431,9 @@ func IsNonDecreasingf(t TestingT, object interface{}, msg string, args ...interf | |||
| 
 | ||||
| // IsNonIncreasingf asserts that the collection is not increasing
 | ||||
| //
 | ||||
| //    assert.IsNonIncreasingf(t, []int{2, 1, 1}, "error message %s", "formatted")
 | ||||
| //    assert.IsNonIncreasingf(t, []float{2, 1}, "error message %s", "formatted")
 | ||||
| //    assert.IsNonIncreasingf(t, []string{"b", "a"}, "error message %s", "formatted")
 | ||||
| //	assert.IsNonIncreasingf(t, []int{2, 1, 1}, "error message %s", "formatted")
 | ||||
| //	assert.IsNonIncreasingf(t, []float{2, 1}, "error message %s", "formatted")
 | ||||
| //	assert.IsNonIncreasingf(t, []string{"b", "a"}, "error message %s", "formatted")
 | ||||
| func IsNonIncreasingf(t TestingT, object interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -409,7 +451,7 @@ func IsTypef(t TestingT, expectedType interface{}, object interface{}, msg strin | |||
| 
 | ||||
| // JSONEqf asserts that two JSON strings are equivalent.
 | ||||
| //
 | ||||
| //  assert.JSONEqf(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted")
 | ||||
| //	assert.JSONEqf(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted")
 | ||||
| func JSONEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -420,7 +462,7 @@ func JSONEqf(t TestingT, expected string, actual string, msg string, args ...int | |||
| // Lenf asserts that the specified object has specific length.
 | ||||
| // Lenf also fails if the object has a type that len() not accept.
 | ||||
| //
 | ||||
| //    assert.Lenf(t, mySlice, 3, "error message %s", "formatted")
 | ||||
| //	assert.Lenf(t, mySlice, 3, "error message %s", "formatted")
 | ||||
| func Lenf(t TestingT, object interface{}, length int, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -430,9 +472,9 @@ func Lenf(t TestingT, object interface{}, length int, msg string, args ...interf | |||
| 
 | ||||
| // Lessf asserts that the first element is less than the second
 | ||||
| //
 | ||||
| //    assert.Lessf(t, 1, 2, "error message %s", "formatted")
 | ||||
| //    assert.Lessf(t, float64(1), float64(2), "error message %s", "formatted")
 | ||||
| //    assert.Lessf(t, "a", "b", "error message %s", "formatted")
 | ||||
| //	assert.Lessf(t, 1, 2, "error message %s", "formatted")
 | ||||
| //	assert.Lessf(t, float64(1), float64(2), "error message %s", "formatted")
 | ||||
| //	assert.Lessf(t, "a", "b", "error message %s", "formatted")
 | ||||
| func Lessf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -442,10 +484,10 @@ func Lessf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...inter | |||
| 
 | ||||
| // LessOrEqualf asserts that the first element is less than or equal to the second
 | ||||
| //
 | ||||
| //    assert.LessOrEqualf(t, 1, 2, "error message %s", "formatted")
 | ||||
| //    assert.LessOrEqualf(t, 2, 2, "error message %s", "formatted")
 | ||||
| //    assert.LessOrEqualf(t, "a", "b", "error message %s", "formatted")
 | ||||
| //    assert.LessOrEqualf(t, "b", "b", "error message %s", "formatted")
 | ||||
| //	assert.LessOrEqualf(t, 1, 2, "error message %s", "formatted")
 | ||||
| //	assert.LessOrEqualf(t, 2, 2, "error message %s", "formatted")
 | ||||
| //	assert.LessOrEqualf(t, "a", "b", "error message %s", "formatted")
 | ||||
| //	assert.LessOrEqualf(t, "b", "b", "error message %s", "formatted")
 | ||||
| func LessOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -455,8 +497,8 @@ func LessOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, args . | |||
| 
 | ||||
| // Negativef asserts that the specified element is negative
 | ||||
| //
 | ||||
| //    assert.Negativef(t, -1, "error message %s", "formatted")
 | ||||
| //    assert.Negativef(t, -1.23, "error message %s", "formatted")
 | ||||
| //	assert.Negativef(t, -1, "error message %s", "formatted")
 | ||||
| //	assert.Negativef(t, -1.23, "error message %s", "formatted")
 | ||||
| func Negativef(t TestingT, e interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -467,7 +509,7 @@ func Negativef(t TestingT, e interface{}, msg string, args ...interface{}) bool | |||
| // Neverf asserts that the given condition doesn't satisfy in waitFor time,
 | ||||
| // periodically checking the target function each tick.
 | ||||
| //
 | ||||
| //    assert.Neverf(t, func() bool { return false; }, time.Second, 10*time.Millisecond, "error message %s", "formatted")
 | ||||
| //	assert.Neverf(t, func() bool { return false; }, time.Second, 10*time.Millisecond, "error message %s", "formatted")
 | ||||
| func Neverf(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -477,7 +519,7 @@ func Neverf(t TestingT, condition func() bool, waitFor time.Duration, tick time. | |||
| 
 | ||||
| // Nilf asserts that the specified object is nil.
 | ||||
| //
 | ||||
| //    assert.Nilf(t, err, "error message %s", "formatted")
 | ||||
| //	assert.Nilf(t, err, "error message %s", "formatted")
 | ||||
| func Nilf(t TestingT, object interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -496,10 +538,10 @@ func NoDirExistsf(t TestingT, path string, msg string, args ...interface{}) bool | |||
| 
 | ||||
| // NoErrorf asserts that a function returned no error (i.e. `nil`).
 | ||||
| //
 | ||||
| //   actualObj, err := SomeFunction()
 | ||||
| //   if assert.NoErrorf(t, err, "error message %s", "formatted") {
 | ||||
| // 	   assert.Equal(t, expectedObj, actualObj)
 | ||||
| //   }
 | ||||
| //	  actualObj, err := SomeFunction()
 | ||||
| //	  if assert.NoErrorf(t, err, "error message %s", "formatted") {
 | ||||
| //		   assert.Equal(t, expectedObj, actualObj)
 | ||||
| //	  }
 | ||||
| func NoErrorf(t TestingT, err error, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -519,9 +561,9 @@ func NoFileExistsf(t TestingT, path string, msg string, args ...interface{}) boo | |||
| // NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the
 | ||||
| // specified substring or element.
 | ||||
| //
 | ||||
| //    assert.NotContainsf(t, "Hello World", "Earth", "error message %s", "formatted")
 | ||||
| //    assert.NotContainsf(t, ["Hello", "World"], "Earth", "error message %s", "formatted")
 | ||||
| //    assert.NotContainsf(t, {"Hello": "World"}, "Earth", "error message %s", "formatted")
 | ||||
| //	assert.NotContainsf(t, "Hello World", "Earth", "error message %s", "formatted")
 | ||||
| //	assert.NotContainsf(t, ["Hello", "World"], "Earth", "error message %s", "formatted")
 | ||||
| //	assert.NotContainsf(t, {"Hello": "World"}, "Earth", "error message %s", "formatted")
 | ||||
| func NotContainsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -532,9 +574,9 @@ func NotContainsf(t TestingT, s interface{}, contains interface{}, msg string, a | |||
| // NotEmptyf asserts that the specified object is NOT empty.  I.e. not nil, "", false, 0 or either
 | ||||
| // a slice or a channel with len == 0.
 | ||||
| //
 | ||||
| //  if assert.NotEmptyf(t, obj, "error message %s", "formatted") {
 | ||||
| //    assert.Equal(t, "two", obj[1])
 | ||||
| //  }
 | ||||
| //	if assert.NotEmptyf(t, obj, "error message %s", "formatted") {
 | ||||
| //	  assert.Equal(t, "two", obj[1])
 | ||||
| //	}
 | ||||
| func NotEmptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -544,7 +586,7 @@ func NotEmptyf(t TestingT, object interface{}, msg string, args ...interface{}) | |||
| 
 | ||||
| // NotEqualf asserts that the specified values are NOT equal.
 | ||||
| //
 | ||||
| //    assert.NotEqualf(t, obj1, obj2, "error message %s", "formatted")
 | ||||
| //	assert.NotEqualf(t, obj1, obj2, "error message %s", "formatted")
 | ||||
| //
 | ||||
| // Pointer variable equality is determined based on the equality of the
 | ||||
| // referenced values (as opposed to the memory addresses).
 | ||||
|  | @ -557,7 +599,7 @@ func NotEqualf(t TestingT, expected interface{}, actual interface{}, msg string, | |||
| 
 | ||||
| // NotEqualValuesf asserts that two objects are not equal even when converted to the same type
 | ||||
| //
 | ||||
| //    assert.NotEqualValuesf(t, obj1, obj2, "error message %s", "formatted")
 | ||||
| //	assert.NotEqualValuesf(t, obj1, obj2, "error message %s", "formatted")
 | ||||
| func NotEqualValuesf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -576,7 +618,7 @@ func NotErrorIsf(t TestingT, err error, target error, msg string, args ...interf | |||
| 
 | ||||
| // NotNilf asserts that the specified object is not nil.
 | ||||
| //
 | ||||
| //    assert.NotNilf(t, err, "error message %s", "formatted")
 | ||||
| //	assert.NotNilf(t, err, "error message %s", "formatted")
 | ||||
| func NotNilf(t TestingT, object interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -586,7 +628,7 @@ func NotNilf(t TestingT, object interface{}, msg string, args ...interface{}) bo | |||
| 
 | ||||
| // NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic.
 | ||||
| //
 | ||||
| //   assert.NotPanicsf(t, func(){ RemainCalm() }, "error message %s", "formatted")
 | ||||
| //	assert.NotPanicsf(t, func(){ RemainCalm() }, "error message %s", "formatted")
 | ||||
| func NotPanicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -596,8 +638,8 @@ func NotPanicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bo | |||
| 
 | ||||
| // NotRegexpf asserts that a specified regexp does not match a string.
 | ||||
| //
 | ||||
| //  assert.NotRegexpf(t, regexp.MustCompile("starts"), "it's starting", "error message %s", "formatted")
 | ||||
| //  assert.NotRegexpf(t, "^start", "it's not starting", "error message %s", "formatted")
 | ||||
| //	assert.NotRegexpf(t, regexp.MustCompile("starts"), "it's starting", "error message %s", "formatted")
 | ||||
| //	assert.NotRegexpf(t, "^start", "it's not starting", "error message %s", "formatted")
 | ||||
| func NotRegexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -607,7 +649,7 @@ func NotRegexpf(t TestingT, rx interface{}, str interface{}, msg string, args .. | |||
| 
 | ||||
| // NotSamef asserts that two pointers do not reference the same object.
 | ||||
| //
 | ||||
| //    assert.NotSamef(t, ptr1, ptr2, "error message %s", "formatted")
 | ||||
| //	assert.NotSamef(t, ptr1, ptr2, "error message %s", "formatted")
 | ||||
| //
 | ||||
| // Both arguments must be pointer variables. Pointer variable sameness is
 | ||||
| // determined based on the equality of both type and value.
 | ||||
|  | @ -621,7 +663,7 @@ func NotSamef(t TestingT, expected interface{}, actual interface{}, msg string, | |||
| // NotSubsetf asserts that the specified list(array, slice...) contains not all
 | ||||
| // elements given in the specified subset(array, slice...).
 | ||||
| //
 | ||||
| //    assert.NotSubsetf(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted")
 | ||||
| //	assert.NotSubsetf(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted")
 | ||||
| func NotSubsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -639,7 +681,7 @@ func NotZerof(t TestingT, i interface{}, msg string, args ...interface{}) bool { | |||
| 
 | ||||
| // Panicsf asserts that the code inside the specified PanicTestFunc panics.
 | ||||
| //
 | ||||
| //   assert.Panicsf(t, func(){ GoCrazy() }, "error message %s", "formatted")
 | ||||
| //	assert.Panicsf(t, func(){ GoCrazy() }, "error message %s", "formatted")
 | ||||
| func Panicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -651,7 +693,7 @@ func Panicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool | |||
| // panics, and that the recovered panic value is an error that satisfies the
 | ||||
| // EqualError comparison.
 | ||||
| //
 | ||||
| //   assert.PanicsWithErrorf(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted")
 | ||||
| //	assert.PanicsWithErrorf(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted")
 | ||||
| func PanicsWithErrorf(t TestingT, errString string, f PanicTestFunc, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -662,7 +704,7 @@ func PanicsWithErrorf(t TestingT, errString string, f PanicTestFunc, msg string, | |||
| // PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that
 | ||||
| // the recovered panic value equals the expected panic value.
 | ||||
| //
 | ||||
| //   assert.PanicsWithValuef(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted")
 | ||||
| //	assert.PanicsWithValuef(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted")
 | ||||
| func PanicsWithValuef(t TestingT, expected interface{}, f PanicTestFunc, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -672,8 +714,8 @@ func PanicsWithValuef(t TestingT, expected interface{}, f PanicTestFunc, msg str | |||
| 
 | ||||
| // Positivef asserts that the specified element is positive
 | ||||
| //
 | ||||
| //    assert.Positivef(t, 1, "error message %s", "formatted")
 | ||||
| //    assert.Positivef(t, 1.23, "error message %s", "formatted")
 | ||||
| //	assert.Positivef(t, 1, "error message %s", "formatted")
 | ||||
| //	assert.Positivef(t, 1.23, "error message %s", "formatted")
 | ||||
| func Positivef(t TestingT, e interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -683,8 +725,8 @@ func Positivef(t TestingT, e interface{}, msg string, args ...interface{}) bool | |||
| 
 | ||||
| // Regexpf asserts that a specified regexp matches a string.
 | ||||
| //
 | ||||
| //  assert.Regexpf(t, regexp.MustCompile("start"), "it's starting", "error message %s", "formatted")
 | ||||
| //  assert.Regexpf(t, "start...$", "it's not starting", "error message %s", "formatted")
 | ||||
| //	assert.Regexpf(t, regexp.MustCompile("start"), "it's starting", "error message %s", "formatted")
 | ||||
| //	assert.Regexpf(t, "start...$", "it's not starting", "error message %s", "formatted")
 | ||||
| func Regexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -694,7 +736,7 @@ func Regexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...in | |||
| 
 | ||||
| // Samef asserts that two pointers reference the same object.
 | ||||
| //
 | ||||
| //    assert.Samef(t, ptr1, ptr2, "error message %s", "formatted")
 | ||||
| //	assert.Samef(t, ptr1, ptr2, "error message %s", "formatted")
 | ||||
| //
 | ||||
| // Both arguments must be pointer variables. Pointer variable sameness is
 | ||||
| // determined based on the equality of both type and value.
 | ||||
|  | @ -708,7 +750,7 @@ func Samef(t TestingT, expected interface{}, actual interface{}, msg string, arg | |||
| // Subsetf asserts that the specified list(array, slice...) contains all
 | ||||
| // elements given in the specified subset(array, slice...).
 | ||||
| //
 | ||||
| //    assert.Subsetf(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted")
 | ||||
| //	assert.Subsetf(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted")
 | ||||
| func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -718,7 +760,7 @@ func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args | |||
| 
 | ||||
| // Truef asserts that the specified value is true.
 | ||||
| //
 | ||||
| //    assert.Truef(t, myBool, "error message %s", "formatted")
 | ||||
| //	assert.Truef(t, myBool, "error message %s", "formatted")
 | ||||
| func Truef(t TestingT, value bool, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -728,7 +770,7 @@ func Truef(t TestingT, value bool, msg string, args ...interface{}) bool { | |||
| 
 | ||||
| // WithinDurationf asserts that the two times are within duration delta of each other.
 | ||||
| //
 | ||||
| //   assert.WithinDurationf(t, time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted")
 | ||||
| //	assert.WithinDurationf(t, time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted")
 | ||||
| func WithinDurationf(t TestingT, expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -738,7 +780,7 @@ func WithinDurationf(t TestingT, expected time.Time, actual time.Time, delta tim | |||
| 
 | ||||
| // 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")
 | ||||
| //	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() | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -46,36 +46,36 @@ func isOrdered(t TestingT, object interface{}, allowedComparesResults []CompareT | |||
| 
 | ||||
| // IsIncreasing asserts that the collection is increasing
 | ||||
| //
 | ||||
| //    assert.IsIncreasing(t, []int{1, 2, 3})
 | ||||
| //    assert.IsIncreasing(t, []float{1, 2})
 | ||||
| //    assert.IsIncreasing(t, []string{"a", "b"})
 | ||||
| //	assert.IsIncreasing(t, []int{1, 2, 3})
 | ||||
| //	assert.IsIncreasing(t, []float{1, 2})
 | ||||
| //	assert.IsIncreasing(t, []string{"a", "b"})
 | ||||
| func IsIncreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	return isOrdered(t, object, []CompareType{compareLess}, "\"%v\" is not less than \"%v\"", msgAndArgs...) | ||||
| } | ||||
| 
 | ||||
| // IsNonIncreasing asserts that the collection is not increasing
 | ||||
| //
 | ||||
| //    assert.IsNonIncreasing(t, []int{2, 1, 1})
 | ||||
| //    assert.IsNonIncreasing(t, []float{2, 1})
 | ||||
| //    assert.IsNonIncreasing(t, []string{"b", "a"})
 | ||||
| //	assert.IsNonIncreasing(t, []int{2, 1, 1})
 | ||||
| //	assert.IsNonIncreasing(t, []float{2, 1})
 | ||||
| //	assert.IsNonIncreasing(t, []string{"b", "a"})
 | ||||
| func IsNonIncreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	return isOrdered(t, object, []CompareType{compareEqual, compareGreater}, "\"%v\" is not greater than or equal to \"%v\"", msgAndArgs...) | ||||
| } | ||||
| 
 | ||||
| // IsDecreasing asserts that the collection is decreasing
 | ||||
| //
 | ||||
| //    assert.IsDecreasing(t, []int{2, 1, 0})
 | ||||
| //    assert.IsDecreasing(t, []float{2, 1})
 | ||||
| //    assert.IsDecreasing(t, []string{"b", "a"})
 | ||||
| //	assert.IsDecreasing(t, []int{2, 1, 0})
 | ||||
| //	assert.IsDecreasing(t, []float{2, 1})
 | ||||
| //	assert.IsDecreasing(t, []string{"b", "a"})
 | ||||
| func IsDecreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	return isOrdered(t, object, []CompareType{compareGreater}, "\"%v\" is not greater than \"%v\"", msgAndArgs...) | ||||
| } | ||||
| 
 | ||||
| // IsNonDecreasing asserts that the collection is not decreasing
 | ||||
| //
 | ||||
| //    assert.IsNonDecreasing(t, []int{1, 1, 2})
 | ||||
| //    assert.IsNonDecreasing(t, []float{1, 2})
 | ||||
| //    assert.IsNonDecreasing(t, []string{"a", "b"})
 | ||||
| //	assert.IsNonDecreasing(t, []int{1, 1, 2})
 | ||||
| //	assert.IsNonDecreasing(t, []float{1, 2})
 | ||||
| //	assert.IsNonDecreasing(t, []string{"a", "b"})
 | ||||
| func IsNonDecreasing(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	return isOrdered(t, object, []CompareType{compareLess, compareEqual}, "\"%v\" is not less than or equal to \"%v\"", msgAndArgs...) | ||||
| } | ||||
|  |  | |||
|  | @ -75,6 +75,77 @@ func ObjectsAreEqual(expected, actual interface{}) bool { | |||
| 	return bytes.Equal(exp, act) | ||||
| } | ||||
| 
 | ||||
| // copyExportedFields iterates downward through nested data structures and creates a copy
 | ||||
| // that only contains the exported struct fields.
 | ||||
| func copyExportedFields(expected interface{}) interface{} { | ||||
| 	if isNil(expected) { | ||||
| 		return expected | ||||
| 	} | ||||
| 
 | ||||
| 	expectedType := reflect.TypeOf(expected) | ||||
| 	expectedKind := expectedType.Kind() | ||||
| 	expectedValue := reflect.ValueOf(expected) | ||||
| 
 | ||||
| 	switch expectedKind { | ||||
| 	case reflect.Struct: | ||||
| 		result := reflect.New(expectedType).Elem() | ||||
| 		for i := 0; i < expectedType.NumField(); i++ { | ||||
| 			field := expectedType.Field(i) | ||||
| 			isExported := field.IsExported() | ||||
| 			if isExported { | ||||
| 				fieldValue := expectedValue.Field(i) | ||||
| 				if isNil(fieldValue) || isNil(fieldValue.Interface()) { | ||||
| 					continue | ||||
| 				} | ||||
| 				newValue := copyExportedFields(fieldValue.Interface()) | ||||
| 				result.Field(i).Set(reflect.ValueOf(newValue)) | ||||
| 			} | ||||
| 		} | ||||
| 		return result.Interface() | ||||
| 
 | ||||
| 	case reflect.Ptr: | ||||
| 		result := reflect.New(expectedType.Elem()) | ||||
| 		unexportedRemoved := copyExportedFields(expectedValue.Elem().Interface()) | ||||
| 		result.Elem().Set(reflect.ValueOf(unexportedRemoved)) | ||||
| 		return result.Interface() | ||||
| 
 | ||||
| 	case reflect.Array, reflect.Slice: | ||||
| 		result := reflect.MakeSlice(expectedType, expectedValue.Len(), expectedValue.Len()) | ||||
| 		for i := 0; i < expectedValue.Len(); i++ { | ||||
| 			index := expectedValue.Index(i) | ||||
| 			if isNil(index) { | ||||
| 				continue | ||||
| 			} | ||||
| 			unexportedRemoved := copyExportedFields(index.Interface()) | ||||
| 			result.Index(i).Set(reflect.ValueOf(unexportedRemoved)) | ||||
| 		} | ||||
| 		return result.Interface() | ||||
| 
 | ||||
| 	case reflect.Map: | ||||
| 		result := reflect.MakeMap(expectedType) | ||||
| 		for _, k := range expectedValue.MapKeys() { | ||||
| 			index := expectedValue.MapIndex(k) | ||||
| 			unexportedRemoved := copyExportedFields(index.Interface()) | ||||
| 			result.SetMapIndex(k, reflect.ValueOf(unexportedRemoved)) | ||||
| 		} | ||||
| 		return result.Interface() | ||||
| 
 | ||||
| 	default: | ||||
| 		return expected | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // ObjectsExportedFieldsAreEqual determines if the exported (public) fields of two objects are
 | ||||
| // considered equal. This comparison of only exported fields is applied recursively to nested data
 | ||||
| // structures.
 | ||||
| //
 | ||||
| // This function does no assertion of any kind.
 | ||||
| func ObjectsExportedFieldsAreEqual(expected, actual interface{}) bool { | ||||
| 	expectedCleaned := copyExportedFields(expected) | ||||
| 	actualCleaned := copyExportedFields(actual) | ||||
| 	return ObjectsAreEqualValues(expectedCleaned, actualCleaned) | ||||
| } | ||||
| 
 | ||||
| // ObjectsAreEqualValues gets whether two objects are equal, or if their
 | ||||
| // values are equal.
 | ||||
| func ObjectsAreEqualValues(expected, actual interface{}) bool { | ||||
|  | @ -271,7 +342,7 @@ type labeledContent struct { | |||
| 
 | ||||
| // labeledOutput returns a string consisting of the provided labeledContent. Each labeled output is appended in the following manner:
 | ||||
| //
 | ||||
| //   \t{{label}}:{{align_spaces}}\t{{content}}\n
 | ||||
| //	\t{{label}}:{{align_spaces}}\t{{content}}\n
 | ||||
| //
 | ||||
| // The initial carriage return is required to undo/erase any padding added by testing.T.Errorf. The "\t{{label}}:" is for the label.
 | ||||
| // If a label is shorter than the longest label provided, padding spaces are added to make all the labels match in length. Once this
 | ||||
|  | @ -294,7 +365,7 @@ func labeledOutput(content ...labeledContent) string { | |||
| 
 | ||||
| // Implements asserts that an object is implemented by the specified interface.
 | ||||
| //
 | ||||
| //    assert.Implements(t, (*MyInterface)(nil), new(MyObject))
 | ||||
| //	assert.Implements(t, (*MyInterface)(nil), new(MyObject))
 | ||||
| func Implements(t TestingT, interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -326,7 +397,7 @@ func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs | |||
| 
 | ||||
| // Equal asserts that two objects are equal.
 | ||||
| //
 | ||||
| //    assert.Equal(t, 123, 123)
 | ||||
| //	assert.Equal(t, 123, 123)
 | ||||
| //
 | ||||
| // Pointer variable equality is determined based on the equality of the
 | ||||
| // referenced values (as opposed to the memory addresses). Function equality
 | ||||
|  | @ -367,7 +438,7 @@ func validateEqualArgs(expected, actual interface{}) error { | |||
| 
 | ||||
| // Same asserts that two pointers reference the same object.
 | ||||
| //
 | ||||
| //    assert.Same(t, ptr1, ptr2)
 | ||||
| //	assert.Same(t, ptr1, ptr2)
 | ||||
| //
 | ||||
| // Both arguments must be pointer variables. Pointer variable sameness is
 | ||||
| // determined based on the equality of both type and value.
 | ||||
|  | @ -387,7 +458,7 @@ func Same(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) b | |||
| 
 | ||||
| // NotSame asserts that two pointers do not reference the same object.
 | ||||
| //
 | ||||
| //    assert.NotSame(t, ptr1, ptr2)
 | ||||
| //	assert.NotSame(t, ptr1, ptr2)
 | ||||
| //
 | ||||
| // Both arguments must be pointer variables. Pointer variable sameness is
 | ||||
| // determined based on the equality of both type and value.
 | ||||
|  | @ -455,7 +526,7 @@ func truncatingFormat(data interface{}) string { | |||
| // EqualValues asserts that two objects are equal or convertable to the same types
 | ||||
| // and equal.
 | ||||
| //
 | ||||
| //    assert.EqualValues(t, uint32(123), int32(123))
 | ||||
| //	assert.EqualValues(t, uint32(123), int32(123))
 | ||||
| func EqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -473,9 +544,53 @@ func EqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interfa | |||
| 
 | ||||
| } | ||||
| 
 | ||||
| // EqualExportedValues asserts that the types of two objects are equal and their public
 | ||||
| // fields are also equal. This is useful for comparing structs that have private fields
 | ||||
| // that could potentially differ.
 | ||||
| //
 | ||||
| //	 type S struct {
 | ||||
| //		Exported     	int
 | ||||
| //		notExported   	int
 | ||||
| //	 }
 | ||||
| //	 assert.EqualExportedValues(t, S{1, 2}, S{1, 3}) => true
 | ||||
| //	 assert.EqualExportedValues(t, S{1, 2}, S{2, 3}) => false
 | ||||
| func EqualExportedValues(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 
 | ||||
| 	aType := reflect.TypeOf(expected) | ||||
| 	bType := reflect.TypeOf(actual) | ||||
| 
 | ||||
| 	if aType != bType { | ||||
| 		return Fail(t, fmt.Sprintf("Types expected to match exactly\n\t%v != %v", aType, bType), msgAndArgs...) | ||||
| 	} | ||||
| 
 | ||||
| 	if aType.Kind() != reflect.Struct { | ||||
| 		return Fail(t, fmt.Sprintf("Types expected to both be struct \n\t%v != %v", aType.Kind(), reflect.Struct), msgAndArgs...) | ||||
| 	} | ||||
| 
 | ||||
| 	if bType.Kind() != reflect.Struct { | ||||
| 		return Fail(t, fmt.Sprintf("Types expected to both be struct \n\t%v != %v", bType.Kind(), reflect.Struct), msgAndArgs...) | ||||
| 	} | ||||
| 
 | ||||
| 	expected = copyExportedFields(expected) | ||||
| 	actual = copyExportedFields(actual) | ||||
| 
 | ||||
| 	if !ObjectsAreEqualValues(expected, actual) { | ||||
| 		diff := diff(expected, actual) | ||||
| 		expected, actual = formatUnequalValues(expected, actual) | ||||
| 		return Fail(t, fmt.Sprintf("Not equal (comparing only exported fields): \n"+ | ||||
| 			"expected: %s\n"+ | ||||
| 			"actual  : %s%s", expected, actual, diff), msgAndArgs...) | ||||
| 	} | ||||
| 
 | ||||
| 	return true | ||||
| } | ||||
| 
 | ||||
| // Exactly asserts that two objects are equal in value and type.
 | ||||
| //
 | ||||
| //    assert.Exactly(t, int32(123), int64(123))
 | ||||
| //	assert.Exactly(t, int32(123), int64(123))
 | ||||
| func Exactly(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -494,7 +609,7 @@ func Exactly(t TestingT, expected, actual interface{}, msgAndArgs ...interface{} | |||
| 
 | ||||
| // NotNil asserts that the specified object is not nil.
 | ||||
| //
 | ||||
| //    assert.NotNil(t, err)
 | ||||
| //	assert.NotNil(t, err)
 | ||||
| func NotNil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if !isNil(object) { | ||||
| 		return true | ||||
|  | @ -540,7 +655,7 @@ func isNil(object interface{}) bool { | |||
| 
 | ||||
| // Nil asserts that the specified object is nil.
 | ||||
| //
 | ||||
| //    assert.Nil(t, err)
 | ||||
| //	assert.Nil(t, err)
 | ||||
| func Nil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if isNil(object) { | ||||
| 		return true | ||||
|  | @ -583,7 +698,7 @@ func isEmpty(object interface{}) bool { | |||
| // Empty asserts that the specified object is empty.  I.e. nil, "", false, 0 or either
 | ||||
| // a slice or a channel with len == 0.
 | ||||
| //
 | ||||
| //  assert.Empty(t, obj)
 | ||||
| //	assert.Empty(t, obj)
 | ||||
| func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	pass := isEmpty(object) | ||||
| 	if !pass { | ||||
|  | @ -600,9 +715,9 @@ func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { | |||
| // NotEmpty asserts that the specified object is NOT empty.  I.e. not nil, "", false, 0 or either
 | ||||
| // a slice or a channel with len == 0.
 | ||||
| //
 | ||||
| //  if assert.NotEmpty(t, obj) {
 | ||||
| //    assert.Equal(t, "two", obj[1])
 | ||||
| //  }
 | ||||
| //	if assert.NotEmpty(t, obj) {
 | ||||
| //	  assert.Equal(t, "two", obj[1])
 | ||||
| //	}
 | ||||
| func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	pass := !isEmpty(object) | ||||
| 	if !pass { | ||||
|  | @ -631,7 +746,7 @@ func getLen(x interface{}) (ok bool, length int) { | |||
| // Len asserts that the specified object has specific length.
 | ||||
| // Len also fails if the object has a type that len() not accept.
 | ||||
| //
 | ||||
| //    assert.Len(t, mySlice, 3)
 | ||||
| //	assert.Len(t, mySlice, 3)
 | ||||
| func Len(t TestingT, object interface{}, length int, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -649,7 +764,7 @@ func Len(t TestingT, object interface{}, length int, msgAndArgs ...interface{}) | |||
| 
 | ||||
| // True asserts that the specified value is true.
 | ||||
| //
 | ||||
| //    assert.True(t, myBool)
 | ||||
| //	assert.True(t, myBool)
 | ||||
| func True(t TestingT, value bool, msgAndArgs ...interface{}) bool { | ||||
| 	if !value { | ||||
| 		if h, ok := t.(tHelper); ok { | ||||
|  | @ -664,7 +779,7 @@ func True(t TestingT, value bool, msgAndArgs ...interface{}) bool { | |||
| 
 | ||||
| // False asserts that the specified value is false.
 | ||||
| //
 | ||||
| //    assert.False(t, myBool)
 | ||||
| //	assert.False(t, myBool)
 | ||||
| func False(t TestingT, value bool, msgAndArgs ...interface{}) bool { | ||||
| 	if value { | ||||
| 		if h, ok := t.(tHelper); ok { | ||||
|  | @ -679,7 +794,7 @@ func False(t TestingT, value bool, msgAndArgs ...interface{}) bool { | |||
| 
 | ||||
| // NotEqual asserts that the specified values are NOT equal.
 | ||||
| //
 | ||||
| //    assert.NotEqual(t, obj1, obj2)
 | ||||
| //	assert.NotEqual(t, obj1, obj2)
 | ||||
| //
 | ||||
| // Pointer variable equality is determined based on the equality of the
 | ||||
| // referenced values (as opposed to the memory addresses).
 | ||||
|  | @ -702,7 +817,7 @@ func NotEqual(t TestingT, expected, actual interface{}, msgAndArgs ...interface{ | |||
| 
 | ||||
| // NotEqualValues asserts that two objects are not equal even when converted to the same type
 | ||||
| //
 | ||||
| //    assert.NotEqualValues(t, obj1, obj2)
 | ||||
| //	assert.NotEqualValues(t, obj1, obj2)
 | ||||
| func NotEqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -761,9 +876,9 @@ func containsElement(list interface{}, element interface{}) (ok, found bool) { | |||
| // Contains asserts that the specified string, list(array, slice...) or map contains the
 | ||||
| // specified substring or element.
 | ||||
| //
 | ||||
| //    assert.Contains(t, "Hello World", "World")
 | ||||
| //    assert.Contains(t, ["Hello", "World"], "World")
 | ||||
| //    assert.Contains(t, {"Hello": "World"}, "Hello")
 | ||||
| //	assert.Contains(t, "Hello World", "World")
 | ||||
| //	assert.Contains(t, ["Hello", "World"], "World")
 | ||||
| //	assert.Contains(t, {"Hello": "World"}, "Hello")
 | ||||
| func Contains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -784,9 +899,9 @@ func Contains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bo | |||
| // NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the
 | ||||
| // specified substring or element.
 | ||||
| //
 | ||||
| //    assert.NotContains(t, "Hello World", "Earth")
 | ||||
| //    assert.NotContains(t, ["Hello", "World"], "Earth")
 | ||||
| //    assert.NotContains(t, {"Hello": "World"}, "Earth")
 | ||||
| //	assert.NotContains(t, "Hello World", "Earth")
 | ||||
| //	assert.NotContains(t, ["Hello", "World"], "Earth")
 | ||||
| //	assert.NotContains(t, {"Hello": "World"}, "Earth")
 | ||||
| func NotContains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -794,10 +909,10 @@ func NotContains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) | |||
| 
 | ||||
| 	ok, found := containsElement(s, contains) | ||||
| 	if !ok { | ||||
| 		return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", s), msgAndArgs...) | ||||
| 		return Fail(t, fmt.Sprintf("%#v could not be applied builtin len()", s), msgAndArgs...) | ||||
| 	} | ||||
| 	if found { | ||||
| 		return Fail(t, fmt.Sprintf("\"%s\" should not contain \"%s\"", s, contains), msgAndArgs...) | ||||
| 		return Fail(t, fmt.Sprintf("%#v should not contain %#v", s, contains), msgAndArgs...) | ||||
| 	} | ||||
| 
 | ||||
| 	return true | ||||
|  | @ -807,7 +922,7 @@ func NotContains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) | |||
| // Subset asserts that the specified list(array, slice...) contains all
 | ||||
| // elements given in the specified subset(array, slice...).
 | ||||
| //
 | ||||
| //    assert.Subset(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]")
 | ||||
| //	assert.Subset(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]")
 | ||||
| func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -863,7 +978,7 @@ func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok | |||
| // NotSubset asserts that the specified list(array, slice...) contains not all
 | ||||
| // elements given in the specified subset(array, slice...).
 | ||||
| //
 | ||||
| //    assert.NotSubset(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]")
 | ||||
| //	assert.NotSubset(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]")
 | ||||
| func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1048,7 +1163,7 @@ func didPanic(f PanicTestFunc) (didPanic bool, message interface{}, stack string | |||
| 
 | ||||
| // Panics asserts that the code inside the specified PanicTestFunc panics.
 | ||||
| //
 | ||||
| //   assert.Panics(t, func(){ GoCrazy() })
 | ||||
| //	assert.Panics(t, func(){ GoCrazy() })
 | ||||
| func Panics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1064,7 +1179,7 @@ func Panics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool { | |||
| // PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that
 | ||||
| // the recovered panic value equals the expected panic value.
 | ||||
| //
 | ||||
| //   assert.PanicsWithValue(t, "crazy error", func(){ GoCrazy() })
 | ||||
| //	assert.PanicsWithValue(t, "crazy error", func(){ GoCrazy() })
 | ||||
| func PanicsWithValue(t TestingT, expected interface{}, f PanicTestFunc, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1085,7 +1200,7 @@ func PanicsWithValue(t TestingT, expected interface{}, f PanicTestFunc, msgAndAr | |||
| // panics, and that the recovered panic value is an error that satisfies the
 | ||||
| // EqualError comparison.
 | ||||
| //
 | ||||
| //   assert.PanicsWithError(t, "crazy error", func(){ GoCrazy() })
 | ||||
| //	assert.PanicsWithError(t, "crazy error", func(){ GoCrazy() })
 | ||||
| func PanicsWithError(t TestingT, errString string, f PanicTestFunc, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1105,7 +1220,7 @@ func PanicsWithError(t TestingT, errString string, f PanicTestFunc, msgAndArgs . | |||
| 
 | ||||
| // NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic.
 | ||||
| //
 | ||||
| //   assert.NotPanics(t, func(){ RemainCalm() })
 | ||||
| //	assert.NotPanics(t, func(){ RemainCalm() })
 | ||||
| func NotPanics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1120,7 +1235,7 @@ func NotPanics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool { | |||
| 
 | ||||
| // WithinDuration asserts that the two times are within duration delta of each other.
 | ||||
| //
 | ||||
| //   assert.WithinDuration(t, time.Now(), time.Now(), 10*time.Second)
 | ||||
| //	assert.WithinDuration(t, time.Now(), time.Now(), 10*time.Second)
 | ||||
| func WithinDuration(t TestingT, expected, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1136,7 +1251,7 @@ func WithinDuration(t TestingT, expected, actual time.Time, delta time.Duration, | |||
| 
 | ||||
| // 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))
 | ||||
| //	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() | ||||
|  | @ -1195,7 +1310,7 @@ func toFloat(x interface{}) (float64, bool) { | |||
| 
 | ||||
| // InDelta asserts that the two numerals are within delta of each other.
 | ||||
| //
 | ||||
| // 	 assert.InDelta(t, math.Pi, 22/7.0, 0.01)
 | ||||
| //	assert.InDelta(t, math.Pi, 22/7.0, 0.01)
 | ||||
| func InDelta(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1368,10 +1483,10 @@ func InEpsilonSlice(t TestingT, expected, actual interface{}, epsilon float64, m | |||
| 
 | ||||
| // NoError asserts that a function returned no error (i.e. `nil`).
 | ||||
| //
 | ||||
| //   actualObj, err := SomeFunction()
 | ||||
| //   if assert.NoError(t, err) {
 | ||||
| //	   assert.Equal(t, expectedObj, actualObj)
 | ||||
| //   }
 | ||||
| //	  actualObj, err := SomeFunction()
 | ||||
| //	  if assert.NoError(t, err) {
 | ||||
| //		   assert.Equal(t, expectedObj, actualObj)
 | ||||
| //	  }
 | ||||
| func NoError(t TestingT, err error, msgAndArgs ...interface{}) bool { | ||||
| 	if err != nil { | ||||
| 		if h, ok := t.(tHelper); ok { | ||||
|  | @ -1385,10 +1500,10 @@ func NoError(t TestingT, err error, msgAndArgs ...interface{}) bool { | |||
| 
 | ||||
| // Error asserts that a function returned an error (i.e. not `nil`).
 | ||||
| //
 | ||||
| //   actualObj, err := SomeFunction()
 | ||||
| //   if assert.Error(t, err) {
 | ||||
| //	   assert.Equal(t, expectedError, err)
 | ||||
| //   }
 | ||||
| //	  actualObj, err := SomeFunction()
 | ||||
| //	  if assert.Error(t, err) {
 | ||||
| //		   assert.Equal(t, expectedError, err)
 | ||||
| //	  }
 | ||||
| func Error(t TestingT, err error, msgAndArgs ...interface{}) bool { | ||||
| 	if err == nil { | ||||
| 		if h, ok := t.(tHelper); ok { | ||||
|  | @ -1403,8 +1518,8 @@ func Error(t TestingT, err error, msgAndArgs ...interface{}) bool { | |||
| // EqualError asserts that a function returned an error (i.e. not `nil`)
 | ||||
| // and that it is equal to the provided error.
 | ||||
| //
 | ||||
| //   actualObj, err := SomeFunction()
 | ||||
| //   assert.EqualError(t, err,  expectedErrorString)
 | ||||
| //	actualObj, err := SomeFunction()
 | ||||
| //	assert.EqualError(t, err,  expectedErrorString)
 | ||||
| func EqualError(t TestingT, theError error, errString string, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1426,8 +1541,8 @@ func EqualError(t TestingT, theError error, errString string, msgAndArgs ...inte | |||
| // ErrorContains asserts that a function returned an error (i.e. not `nil`)
 | ||||
| // and that the error contains the specified substring.
 | ||||
| //
 | ||||
| //   actualObj, err := SomeFunction()
 | ||||
| //   assert.ErrorContains(t, err,  expectedErrorSubString)
 | ||||
| //	actualObj, err := SomeFunction()
 | ||||
| //	assert.ErrorContains(t, err,  expectedErrorSubString)
 | ||||
| func ErrorContains(t TestingT, theError error, contains string, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1460,8 +1575,8 @@ func matchRegexp(rx interface{}, str interface{}) bool { | |||
| 
 | ||||
| // Regexp asserts that a specified regexp matches a string.
 | ||||
| //
 | ||||
| //  assert.Regexp(t, regexp.MustCompile("start"), "it's starting")
 | ||||
| //  assert.Regexp(t, "start...$", "it's not starting")
 | ||||
| //	assert.Regexp(t, regexp.MustCompile("start"), "it's starting")
 | ||||
| //	assert.Regexp(t, "start...$", "it's not starting")
 | ||||
| func Regexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1478,8 +1593,8 @@ func Regexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface | |||
| 
 | ||||
| // NotRegexp asserts that a specified regexp does not match a string.
 | ||||
| //
 | ||||
| //  assert.NotRegexp(t, regexp.MustCompile("starts"), "it's starting")
 | ||||
| //  assert.NotRegexp(t, "^start", "it's not starting")
 | ||||
| //	assert.NotRegexp(t, regexp.MustCompile("starts"), "it's starting")
 | ||||
| //	assert.NotRegexp(t, "^start", "it's not starting")
 | ||||
| func NotRegexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1591,7 +1706,7 @@ func NoDirExists(t TestingT, path string, msgAndArgs ...interface{}) bool { | |||
| 
 | ||||
| // JSONEq asserts that two JSON strings are equivalent.
 | ||||
| //
 | ||||
| //  assert.JSONEq(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`)
 | ||||
| //	assert.JSONEq(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`)
 | ||||
| func JSONEq(t TestingT, expected string, actual string, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1714,7 +1829,7 @@ type tHelper interface { | |||
| // Eventually asserts that given condition will be met in waitFor time,
 | ||||
| // periodically checking target function each tick.
 | ||||
| //
 | ||||
| //    assert.Eventually(t, func() bool { return true; }, time.Second, 10*time.Millisecond)
 | ||||
| //	assert.Eventually(t, func() bool { return true; }, time.Second, 10*time.Millisecond)
 | ||||
| func Eventually(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  | @ -1744,10 +1859,93 @@ func Eventually(t TestingT, condition func() bool, waitFor time.Duration, tick t | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| // CollectT implements the TestingT interface and collects all errors.
 | ||||
| type CollectT struct { | ||||
| 	errors []error | ||||
| } | ||||
| 
 | ||||
| // Errorf collects the error.
 | ||||
| func (c *CollectT) Errorf(format string, args ...interface{}) { | ||||
| 	c.errors = append(c.errors, fmt.Errorf(format, args...)) | ||||
| } | ||||
| 
 | ||||
| // FailNow panics.
 | ||||
| func (c *CollectT) FailNow() { | ||||
| 	panic("Assertion failed") | ||||
| } | ||||
| 
 | ||||
| // Reset clears the collected errors.
 | ||||
| func (c *CollectT) Reset() { | ||||
| 	c.errors = nil | ||||
| } | ||||
| 
 | ||||
| // Copy copies the collected errors to the supplied t.
 | ||||
| func (c *CollectT) Copy(t TestingT) { | ||||
| 	if tt, ok := t.(tHelper); ok { | ||||
| 		tt.Helper() | ||||
| 	} | ||||
| 	for _, err := range c.errors { | ||||
| 		t.Errorf("%v", err) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // EventuallyWithT asserts that given condition will be met in waitFor time,
 | ||||
| // periodically checking target function each tick. In contrast to Eventually,
 | ||||
| // it supplies a CollectT to the condition function, so that the condition
 | ||||
| // function can use the CollectT to call other assertions.
 | ||||
| // The condition is considered "met" if no errors are raised in a tick.
 | ||||
| // The supplied CollectT collects all errors from one tick (if there are any).
 | ||||
| // If the condition is not met before waitFor, the collected errors of
 | ||||
| // the last tick are copied to t.
 | ||||
| //
 | ||||
| //	externalValue := false
 | ||||
| //	go func() {
 | ||||
| //		time.Sleep(8*time.Second)
 | ||||
| //		externalValue = true
 | ||||
| //	}()
 | ||||
| //	assert.EventuallyWithT(t, func(c *assert.CollectT) {
 | ||||
| //		// add assertions as needed; any assertion failure will fail the current tick
 | ||||
| //		assert.True(c, externalValue, "expected 'externalValue' to be true")
 | ||||
| //	}, 1*time.Second, 10*time.Second, "external state has not changed to 'true'; still false")
 | ||||
| func EventuallyWithT(t TestingT, condition func(collect *CollectT), waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 
 | ||||
| 	collect := new(CollectT) | ||||
| 	ch := make(chan bool, 1) | ||||
| 
 | ||||
| 	timer := time.NewTimer(waitFor) | ||||
| 	defer timer.Stop() | ||||
| 
 | ||||
| 	ticker := time.NewTicker(tick) | ||||
| 	defer ticker.Stop() | ||||
| 
 | ||||
| 	for tick := ticker.C; ; { | ||||
| 		select { | ||||
| 		case <-timer.C: | ||||
| 			collect.Copy(t) | ||||
| 			return Fail(t, "Condition never satisfied", msgAndArgs...) | ||||
| 		case <-tick: | ||||
| 			tick = nil | ||||
| 			collect.Reset() | ||||
| 			go func() { | ||||
| 				condition(collect) | ||||
| 				ch <- len(collect.errors) == 0 | ||||
| 			}() | ||||
| 		case v := <-ch: | ||||
| 			if v { | ||||
| 				return true | ||||
| 			} | ||||
| 			tick = ticker.C | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // Never asserts that the given condition doesn't satisfy in waitFor time,
 | ||||
| // periodically checking the target function each tick.
 | ||||
| //
 | ||||
| //    assert.Never(t, func() bool { return false; }, time.Second, 10*time.Millisecond)
 | ||||
| //	assert.Never(t, func() bool { return false; }, time.Second, 10*time.Millisecond)
 | ||||
| func Never(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
|  |  | |||
|  | @ -1,39 +1,40 @@ | |||
| // Package assert provides a set of comprehensive testing tools for use with the normal Go testing system.
 | ||||
| //
 | ||||
| // Example Usage
 | ||||
| // # Example Usage
 | ||||
| //
 | ||||
| // The following is a complete example using assert in a standard test function:
 | ||||
| //    import (
 | ||||
| //      "testing"
 | ||||
| //      "github.com/stretchr/testify/assert"
 | ||||
| //    )
 | ||||
| //
 | ||||
| //    func TestSomething(t *testing.T) {
 | ||||
| //	import (
 | ||||
| //	  "testing"
 | ||||
| //	  "github.com/stretchr/testify/assert"
 | ||||
| //	)
 | ||||
| //
 | ||||
| //      var a string = "Hello"
 | ||||
| //      var b string = "Hello"
 | ||||
| //	func TestSomething(t *testing.T) {
 | ||||
| //
 | ||||
| //      assert.Equal(t, a, b, "The two words should be the same.")
 | ||||
| //	  var a string = "Hello"
 | ||||
| //	  var b string = "Hello"
 | ||||
| //
 | ||||
| //    }
 | ||||
| //	  assert.Equal(t, a, b, "The two words should be the same.")
 | ||||
| //
 | ||||
| //	}
 | ||||
| //
 | ||||
| // if you assert many times, use the format below:
 | ||||
| //
 | ||||
| //    import (
 | ||||
| //      "testing"
 | ||||
| //      "github.com/stretchr/testify/assert"
 | ||||
| //    )
 | ||||
| //	import (
 | ||||
| //	  "testing"
 | ||||
| //	  "github.com/stretchr/testify/assert"
 | ||||
| //	)
 | ||||
| //
 | ||||
| //    func TestSomething(t *testing.T) {
 | ||||
| //      assert := assert.New(t)
 | ||||
| //	func TestSomething(t *testing.T) {
 | ||||
| //	  assert := assert.New(t)
 | ||||
| //
 | ||||
| //      var a string = "Hello"
 | ||||
| //      var b string = "Hello"
 | ||||
| //	  var a string = "Hello"
 | ||||
| //	  var b string = "Hello"
 | ||||
| //
 | ||||
| //      assert.Equal(a, b, "The two words should be the same.")
 | ||||
| //    }
 | ||||
| //	  assert.Equal(a, b, "The two words should be the same.")
 | ||||
| //	}
 | ||||
| //
 | ||||
| // Assertions
 | ||||
| // # Assertions
 | ||||
| //
 | ||||
| // Assertions allow you to easily write test code, and are global funcs in the `assert` package.
 | ||||
| // All assertion functions take, as the first argument, the `*testing.T` object provided by the
 | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ func httpCode(handler http.HandlerFunc, method, url string, values url.Values) ( | |||
| 
 | ||||
| // HTTPSuccess asserts that a specified handler returns a success status code.
 | ||||
| //
 | ||||
| //  assert.HTTPSuccess(t, myHandler, "POST", "http://www.google.com", nil)
 | ||||
| //	assert.HTTPSuccess(t, myHandler, "POST", "http://www.google.com", nil)
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPSuccess(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool { | ||||
|  | @ -45,7 +45,7 @@ func HTTPSuccess(t TestingT, handler http.HandlerFunc, method, url string, value | |||
| 
 | ||||
| // HTTPRedirect asserts that a specified handler returns a redirect status code.
 | ||||
| //
 | ||||
| //  assert.HTTPRedirect(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}}
 | ||||
| //	assert.HTTPRedirect(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}}
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPRedirect(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool { | ||||
|  | @ -67,7 +67,7 @@ func HTTPRedirect(t TestingT, handler http.HandlerFunc, method, url string, valu | |||
| 
 | ||||
| // HTTPError asserts that a specified handler returns an error status code.
 | ||||
| //
 | ||||
| //  assert.HTTPError(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}}
 | ||||
| //	assert.HTTPError(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}}
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPError(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool { | ||||
|  | @ -89,7 +89,7 @@ func HTTPError(t TestingT, handler http.HandlerFunc, method, url string, values | |||
| 
 | ||||
| // HTTPStatusCode asserts that a specified handler returns a specified status code.
 | ||||
| //
 | ||||
| //  assert.HTTPStatusCode(t, myHandler, "GET", "/notImplemented", nil, 501)
 | ||||
| //	assert.HTTPStatusCode(t, myHandler, "GET", "/notImplemented", nil, 501)
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPStatusCode(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, statuscode int, msgAndArgs ...interface{}) bool { | ||||
|  | @ -124,7 +124,7 @@ func HTTPBody(handler http.HandlerFunc, method, url string, values url.Values) s | |||
| // HTTPBodyContains asserts that a specified handler returns a
 | ||||
| // body that contains a string.
 | ||||
| //
 | ||||
| //  assert.HTTPBodyContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky")
 | ||||
| //	assert.HTTPBodyContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky")
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPBodyContains(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool { | ||||
|  | @ -144,7 +144,7 @@ func HTTPBodyContains(t TestingT, handler http.HandlerFunc, method, url string, | |||
| // HTTPBodyNotContains asserts that a specified handler returns a
 | ||||
| // body that does not contain a string.
 | ||||
| //
 | ||||
| //  assert.HTTPBodyNotContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky")
 | ||||
| //	assert.HTTPBodyNotContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky")
 | ||||
| //
 | ||||
| // Returns whether the assertion was successful (true) or not (false).
 | ||||
| func HTTPBodyNotContains(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool { | ||||
|  |  | |||
|  | @ -1,24 +1,25 @@ | |||
| // Package require implements the same assertions as the `assert` package but
 | ||||
| // stops test execution when a test fails.
 | ||||
| //
 | ||||
| // Example Usage
 | ||||
| // # Example Usage
 | ||||
| //
 | ||||
| // The following is a complete example using require in a standard test function:
 | ||||
| //    import (
 | ||||
| //      "testing"
 | ||||
| //      "github.com/stretchr/testify/require"
 | ||||
| //    )
 | ||||
| //
 | ||||
| //    func TestSomething(t *testing.T) {
 | ||||
| //	import (
 | ||||
| //	  "testing"
 | ||||
| //	  "github.com/stretchr/testify/require"
 | ||||
| //	)
 | ||||
| //
 | ||||
| //      var a string = "Hello"
 | ||||
| //      var b string = "Hello"
 | ||||
| //	func TestSomething(t *testing.T) {
 | ||||
| //
 | ||||
| //      require.Equal(t, a, b, "The two words should be the same.")
 | ||||
| //	  var a string = "Hello"
 | ||||
| //	  var b string = "Hello"
 | ||||
| //
 | ||||
| //    }
 | ||||
| //	  require.Equal(t, a, b, "The two words should be the same.")
 | ||||
| //
 | ||||
| // Assertions
 | ||||
| //	}
 | ||||
| //
 | ||||
| // # Assertions
 | ||||
| //
 | ||||
| // The `require` package have same global functions as in the `assert` package,
 | ||||
| // but instead of returning a boolean result they call `t.FailNow()`.
 | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -839,8 +839,8 @@ github.com/spf13/pflag | |||
| # github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 | ||||
| ## explicit | ||||
| github.com/stefanberger/go-pkcs11uri | ||||
| # github.com/stretchr/testify v1.8.2 | ||||
| ## explicit; go 1.13 | ||||
| # github.com/stretchr/testify v1.8.3 | ||||
| ## explicit; go 1.20 | ||||
| github.com/stretchr/testify/assert | ||||
| github.com/stretchr/testify/require | ||||
| # github.com/sylabs/sif/v2 v2.11.3 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue