mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-30 21:02:26 -05:00 
			
		
		
		
	[chore]: Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#3564)
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.9.0...v1.10.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
		
					parent
					
						
							
								2ed409888b
							
						
					
				
			
			
				commit
				
					
						934e895ec0
					
				
			
		
					 16 changed files with 634 additions and 266 deletions
				
			
		
							
								
								
									
										157
									
								
								vendor/github.com/stretchr/testify/assert/assertions.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										157
									
								
								vendor/github.com/stretchr/testify/assert/assertions.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -19,7 +19,9 @@ import ( | |||
| 
 | ||||
| 	"github.com/davecgh/go-spew/spew" | ||||
| 	"github.com/pmezard/go-difflib/difflib" | ||||
| 	"gopkg.in/yaml.v3" | ||||
| 
 | ||||
| 	// Wrapper around gopkg.in/yaml.v3 | ||||
| 	"github.com/stretchr/testify/assert/yaml" | ||||
| ) | ||||
| 
 | ||||
| //go:generate sh -c "cd ../_codegen && go build && cd - && ../_codegen/_codegen -output-package=assert -template=assertion_format.go.tmpl" | ||||
|  | @ -45,6 +47,10 @@ type BoolAssertionFunc func(TestingT, bool, ...interface{}) bool | |||
| // for table driven tests. | ||||
| type ErrorAssertionFunc func(TestingT, error, ...interface{}) bool | ||||
| 
 | ||||
| // PanicAssertionFunc is a common function prototype when validating a panic value.  Can be useful | ||||
| // for table driven tests. | ||||
| type PanicAssertionFunc = func(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool | ||||
| 
 | ||||
| // Comparison is a custom function that returns true on success and false on failure | ||||
| type Comparison func() (success bool) | ||||
| 
 | ||||
|  | @ -496,7 +502,13 @@ func Same(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) b | |||
| 		h.Helper() | ||||
| 	} | ||||
| 
 | ||||
| 	if !samePointers(expected, actual) { | ||||
| 	same, ok := samePointers(expected, actual) | ||||
| 	if !ok { | ||||
| 		return Fail(t, "Both arguments must be pointers", msgAndArgs...) | ||||
| 	} | ||||
| 
 | ||||
| 	if !same { | ||||
| 		// both are pointers but not the same type & pointing to the same address | ||||
| 		return Fail(t, fmt.Sprintf("Not same: \n"+ | ||||
| 			"expected: %p %#v\n"+ | ||||
| 			"actual  : %p %#v", expected, expected, actual, actual), msgAndArgs...) | ||||
|  | @ -516,7 +528,13 @@ func NotSame(t TestingT, expected, actual interface{}, msgAndArgs ...interface{} | |||
| 		h.Helper() | ||||
| 	} | ||||
| 
 | ||||
| 	if samePointers(expected, actual) { | ||||
| 	same, ok := samePointers(expected, actual) | ||||
| 	if !ok { | ||||
| 		//fails when the arguments are not pointers | ||||
| 		return !(Fail(t, "Both arguments must be pointers", msgAndArgs...)) | ||||
| 	} | ||||
| 
 | ||||
| 	if same { | ||||
| 		return Fail(t, fmt.Sprintf( | ||||
| 			"Expected and actual point to the same object: %p %#v", | ||||
| 			expected, expected), msgAndArgs...) | ||||
|  | @ -524,21 +542,23 @@ func NotSame(t TestingT, expected, actual interface{}, msgAndArgs ...interface{} | |||
| 	return true | ||||
| } | ||||
| 
 | ||||
| // samePointers compares two generic interface objects and returns whether | ||||
| // they point to the same object | ||||
| func samePointers(first, second interface{}) bool { | ||||
| // samePointers checks if two generic interface objects are pointers of the same | ||||
| // type pointing to the same object. It returns two values: same indicating if | ||||
| // they are the same type and point to the same object, and ok indicating that | ||||
| // both inputs are pointers. | ||||
| func samePointers(first, second interface{}) (same bool, ok bool) { | ||||
| 	firstPtr, secondPtr := reflect.ValueOf(first), reflect.ValueOf(second) | ||||
| 	if firstPtr.Kind() != reflect.Ptr || secondPtr.Kind() != reflect.Ptr { | ||||
| 		return false | ||||
| 		return false, false //not both are pointers | ||||
| 	} | ||||
| 
 | ||||
| 	firstType, secondType := reflect.TypeOf(first), reflect.TypeOf(second) | ||||
| 	if firstType != secondType { | ||||
| 		return false | ||||
| 		return false, true // both are pointers, but of different types | ||||
| 	} | ||||
| 
 | ||||
| 	// compare pointer addresses | ||||
| 	return first == second | ||||
| 	return first == second, true | ||||
| } | ||||
| 
 | ||||
| // formatUnequalValues takes two values of arbitrary types and returns string | ||||
|  | @ -572,8 +592,8 @@ func truncatingFormat(data interface{}) string { | |||
| 	return value | ||||
| } | ||||
| 
 | ||||
| // EqualValues asserts that two objects are equal or convertible to the same types | ||||
| // and equal. | ||||
| // EqualValues asserts that two objects are equal or convertible to the larger | ||||
| // type and equal. | ||||
| // | ||||
| //	assert.EqualValues(t, uint32(123), int32(123)) | ||||
| func EqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { | ||||
|  | @ -615,21 +635,6 @@ func EqualExportedValues(t TestingT, expected, actual interface{}, msgAndArgs .. | |||
| 		return Fail(t, fmt.Sprintf("Types expected to match exactly\n\t%v != %v", aType, bType), msgAndArgs...) | ||||
| 	} | ||||
| 
 | ||||
| 	if aType.Kind() == reflect.Ptr { | ||||
| 		aType = aType.Elem() | ||||
| 	} | ||||
| 	if bType.Kind() == reflect.Ptr { | ||||
| 		bType = bType.Elem() | ||||
| 	} | ||||
| 
 | ||||
| 	if aType.Kind() != reflect.Struct { | ||||
| 		return Fail(t, fmt.Sprintf("Types expected to both be struct or pointer to 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 or pointer to struct \n\t%v != %v", bType.Kind(), reflect.Struct), msgAndArgs...) | ||||
| 	} | ||||
| 
 | ||||
| 	expected = copyExportedFields(expected) | ||||
| 	actual = copyExportedFields(actual) | ||||
| 
 | ||||
|  | @ -1170,6 +1175,39 @@ func formatListDiff(listA, listB interface{}, extraA, extraB []interface{}) stri | |||
| 	return msg.String() | ||||
| } | ||||
| 
 | ||||
| // NotElementsMatch asserts that the specified listA(array, slice...) is NOT equal to specified | ||||
| // listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, | ||||
| // the number of appearances of each of them in both lists should not match. | ||||
| // This is an inverse of ElementsMatch. | ||||
| // | ||||
| // assert.NotElementsMatch(t, [1, 1, 2, 3], [1, 1, 2, 3]) -> false | ||||
| // | ||||
| // assert.NotElementsMatch(t, [1, 1, 2, 3], [1, 2, 3]) -> true | ||||
| // | ||||
| // assert.NotElementsMatch(t, [1, 2, 3], [1, 2, 4]) -> true | ||||
| func NotElementsMatch(t TestingT, listA, listB interface{}, msgAndArgs ...interface{}) (ok bool) { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 	if isEmpty(listA) && isEmpty(listB) { | ||||
| 		return Fail(t, "listA and listB contain the same elements", msgAndArgs) | ||||
| 	} | ||||
| 
 | ||||
| 	if !isList(t, listA, msgAndArgs...) { | ||||
| 		return Fail(t, "listA is not a list type", msgAndArgs...) | ||||
| 	} | ||||
| 	if !isList(t, listB, msgAndArgs...) { | ||||
| 		return Fail(t, "listB is not a list type", msgAndArgs...) | ||||
| 	} | ||||
| 
 | ||||
| 	extraA, extraB := diffLists(listA, listB) | ||||
| 	if len(extraA) == 0 && len(extraB) == 0 { | ||||
| 		return Fail(t, "listA and listB contain the same elements", msgAndArgs) | ||||
| 	} | ||||
| 
 | ||||
| 	return true | ||||
| } | ||||
| 
 | ||||
| // Condition uses a Comparison to assert a complex condition. | ||||
| func Condition(t TestingT, comp Comparison, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
|  | @ -1488,6 +1526,9 @@ func InEpsilon(t TestingT, expected, actual interface{}, epsilon float64, msgAnd | |||
| 	if err != nil { | ||||
| 		return Fail(t, err.Error(), msgAndArgs...) | ||||
| 	} | ||||
| 	if math.IsNaN(actualEpsilon) { | ||||
| 		return Fail(t, "relative error is NaN", msgAndArgs...) | ||||
| 	} | ||||
| 	if actualEpsilon > epsilon { | ||||
| 		return Fail(t, fmt.Sprintf("Relative error is too high: %#v (expected)\n"+ | ||||
| 			"        < %#v (actual)", epsilon, actualEpsilon), msgAndArgs...) | ||||
|  | @ -1611,7 +1652,6 @@ func ErrorContains(t TestingT, theError error, contains string, msgAndArgs ...in | |||
| 
 | ||||
| // matchRegexp return true if a specified regexp matches a string. | ||||
| func matchRegexp(rx interface{}, str interface{}) bool { | ||||
| 
 | ||||
| 	var r *regexp.Regexp | ||||
| 	if rr, ok := rx.(*regexp.Regexp); ok { | ||||
| 		r = rr | ||||
|  | @ -1619,7 +1659,14 @@ func matchRegexp(rx interface{}, str interface{}) bool { | |||
| 		r = regexp.MustCompile(fmt.Sprint(rx)) | ||||
| 	} | ||||
| 
 | ||||
| 	return (r.FindStringIndex(fmt.Sprint(str)) != nil) | ||||
| 	switch v := str.(type) { | ||||
| 	case []byte: | ||||
| 		return r.Match(v) | ||||
| 	case string: | ||||
| 		return r.MatchString(v) | ||||
| 	default: | ||||
| 		return r.MatchString(fmt.Sprint(v)) | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
|  | @ -1872,7 +1919,7 @@ var spewConfigStringerEnabled = spew.ConfigState{ | |||
| 	MaxDepth:                10, | ||||
| } | ||||
| 
 | ||||
| type tHelper interface { | ||||
| type tHelper = interface { | ||||
| 	Helper() | ||||
| } | ||||
| 
 | ||||
|  | @ -1911,6 +1958,9 @@ func Eventually(t TestingT, condition func() bool, waitFor time.Duration, tick t | |||
| 
 | ||||
| // CollectT implements the TestingT interface and collects all errors. | ||||
| type CollectT struct { | ||||
| 	// A slice of errors. Non-nil slice denotes a failure. | ||||
| 	// If it's non-nil but len(c.errors) == 0, this is also a failure | ||||
| 	// obtained by direct c.FailNow() call. | ||||
| 	errors []error | ||||
| } | ||||
| 
 | ||||
|  | @ -1919,9 +1969,10 @@ func (c *CollectT) Errorf(format string, args ...interface{}) { | |||
| 	c.errors = append(c.errors, fmt.Errorf(format, args...)) | ||||
| } | ||||
| 
 | ||||
| // FailNow panics. | ||||
| func (*CollectT) FailNow() { | ||||
| 	panic("Assertion failed") | ||||
| // FailNow stops execution by calling runtime.Goexit. | ||||
| func (c *CollectT) FailNow() { | ||||
| 	c.fail() | ||||
| 	runtime.Goexit() | ||||
| } | ||||
| 
 | ||||
| // Deprecated: That was a method for internal usage that should not have been published. Now just panics. | ||||
|  | @ -1934,6 +1985,16 @@ func (*CollectT) Copy(TestingT) { | |||
| 	panic("Copy() is deprecated") | ||||
| } | ||||
| 
 | ||||
| func (c *CollectT) fail() { | ||||
| 	if !c.failed() { | ||||
| 		c.errors = []error{} // Make it non-nil to mark a failure. | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (c *CollectT) failed() bool { | ||||
| 	return c.errors != nil | ||||
| } | ||||
| 
 | ||||
| // 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 | ||||
|  | @ -1951,14 +2012,14 @@ func (*CollectT) Copy(TestingT) { | |||
| //	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") | ||||
| //	}, 10*time.Second, 1*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() | ||||
| 	} | ||||
| 
 | ||||
| 	var lastFinishedTickErrs []error | ||||
| 	ch := make(chan []error, 1) | ||||
| 	ch := make(chan *CollectT, 1) | ||||
| 
 | ||||
| 	timer := time.NewTimer(waitFor) | ||||
| 	defer timer.Stop() | ||||
|  | @ -1978,16 +2039,16 @@ func EventuallyWithT(t TestingT, condition func(collect *CollectT), waitFor time | |||
| 			go func() { | ||||
| 				collect := new(CollectT) | ||||
| 				defer func() { | ||||
| 					ch <- collect.errors | ||||
| 					ch <- collect | ||||
| 				}() | ||||
| 				condition(collect) | ||||
| 			}() | ||||
| 		case errs := <-ch: | ||||
| 			if len(errs) == 0 { | ||||
| 		case collect := <-ch: | ||||
| 			if !collect.failed() { | ||||
| 				return true | ||||
| 			} | ||||
| 			// Keep the errors from the last ended condition, so that they can be copied to t if timeout is reached. | ||||
| 			lastFinishedTickErrs = errs | ||||
| 			lastFinishedTickErrs = collect.errors | ||||
| 			tick = ticker.C | ||||
| 		} | ||||
| 	} | ||||
|  | @ -2049,7 +2110,7 @@ func ErrorIs(t TestingT, err, target error, msgAndArgs ...interface{}) bool { | |||
| 	), msgAndArgs...) | ||||
| } | ||||
| 
 | ||||
| // NotErrorIs asserts that at none of the errors in err's chain matches target. | ||||
| // NotErrorIs asserts that none of the errors in err's chain matches target. | ||||
| // This is a wrapper for errors.Is. | ||||
| func NotErrorIs(t TestingT, err, target error, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
|  | @ -2090,6 +2151,24 @@ func ErrorAs(t TestingT, err error, target interface{}, msgAndArgs ...interface{ | |||
| 	), msgAndArgs...) | ||||
| } | ||||
| 
 | ||||
| // NotErrorAs asserts that none of the errors in err's chain matches target, | ||||
| // but if so, sets target to that error value. | ||||
| func NotErrorAs(t TestingT, err error, target interface{}, msgAndArgs ...interface{}) bool { | ||||
| 	if h, ok := t.(tHelper); ok { | ||||
| 		h.Helper() | ||||
| 	} | ||||
| 	if !errors.As(err, target) { | ||||
| 		return true | ||||
| 	} | ||||
| 
 | ||||
| 	chain := buildErrorChainString(err) | ||||
| 
 | ||||
| 	return Fail(t, fmt.Sprintf("Target error should not be in err chain:\n"+ | ||||
| 		"found: %q\n"+ | ||||
| 		"in chain: %s", target, chain, | ||||
| 	), msgAndArgs...) | ||||
| } | ||||
| 
 | ||||
| func buildErrorChainString(err error) string { | ||||
| 	if err == nil { | ||||
| 		return "" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue