Ernesto Jiménez
69483b4bd1
Merge pull request #327 from jveski/issue-155
...
Clarify assert.Equal failure message given mismatched numeric types
2016-09-25 02:54:16 +01:00
Jordan Olshevski
a34cbb254a
Use switch statement instead of numericTypes map
2016-09-24 17:19:37 -07:00
Jordan Olshevski
c48fed3351
Use %s instead of %v when printing inequal values
...
Since the values are already strings, there is no reason to use %v.
2016-09-24 17:17:28 -07:00
Ernesto Jiménez
63b388178e
Merge pull request #320 from mhamrle/fix_messages
...
fix assertion message formatting
2016-09-24 16:14:04 +01:00
Ernesto Jiménez
45bd08b0da
Merge pull request #321 from mhamrle/spell
...
fix typos
2016-09-24 16:06:34 +01:00
Ernesto Jiménez
2f3f464ae5
Merge pull request #338 from nyarly/error_format
...
Changing format of NoError output to make use of errors
2016-09-24 15:05:22 +01:00
Ernesto Jiménez
c13a3217b3
Merge pull request #344 from mrbroll/diff-data-race
...
Fix #347 - Diff data race
2016-09-24 14:56:45 +01:00
Michael Broll
f6ca157360
assert: set spew config members in init() to prevent data race detection
2016-09-06 17:16:12 -07:00
Adam Wolfe Gordon
72961116a1
Fix #341
...
Go 1.7 subtests are called directly from testing.tRunner, not from the
test that contains the t.Run call. Because of this, the call stack
doesn't contain a function starting with Test, Benchmark, or Example,
causing assert.CallerInfo() to run off the end of the call stack and
return nil.
Look for testing.tRunner explicitly to solve this problem, and return
the list of callers if we do run off the call stack so that if there's a
similar problem in the future we still get an inflated stack trace
rather than no trace at all.
2016-09-06 16:06:25 -06:00
Judson
fc28fc9f86
Changing format of NoError output to make use of errors
2016-08-19 11:10:36 -07:00
Jordan Olshevski
3bfb674961
Print types in failed numeric equality assertions
...
This addresses vague and misleading output when asserting on the
equality of two values of differing numeric types.
Example: assert.Equal(t, int64(123), int32(123))
Previously, the user would have received a vague message claiming that
123 != 123. Now the message will read "int64(123) != int32(123)".
2016-07-06 18:38:55 -07:00
Martin Hamrle
e704e18cb5
fix typos
2016-06-30 19:23:22 +02:00
Martin Hamrle
a55764f5c1
fix assertion message formatting
...
Fail and HTTPBodyNotContains expected that Fail formats messages.
2016-06-30 19:17:32 +02:00
Ernesto Jiménez
d77da356e5
Fixes #311 - Detect empty interface error gotcha
2016-06-15 11:28:44 +02:00
Ernesto Jiménez
c6b07fe328
Unexport FailNower
...
failNower is for internal use and we must not export it. Since we just
exported it a couple of days ago is unlikely this breking change will
affect anybody.
2016-01-09 17:58:28 +01:00
Ernesto Jiménez
0f6478d3a8
Fixes #257 - InEpsilon works when actual == 0
...
Implemented new InEpsilon by calculating the relative error and
comparing it to the expected epsilon rather than calculating the
acceptable margin and using InDelta.
While doing so we got rid of the false failure when the actual value
was zero.
2016-01-09 17:37:37 +01:00
Ernesto Jiménez
3dad6b7b59
Add tests for workaround solution to #263
2016-01-09 02:56:16 +01:00
Ernesto Jiménez
52f8b5b531
Fix #263 - Backwards Incompatible change to TestingT
2016-01-09 02:44:21 +01:00
Ernesto Jiménez
7e30b2ce7a
Fixes #261 - Add FailNow back
2016-01-08 12:25:24 +01:00
Ernesto Jiménez
347825ef79
Use Godeps with GO15VENDOREXPERIMENT
2016-01-07 18:08:03 +01:00
Ernesto Jiménez
15b3d4d0fc
Merge pull request #249 from stretchr/godep
...
Vendor dependencies and rewrite import paths
2016-01-07 16:54:51 +01:00
Cyrill Schumacher
cd2b6c1151
Add check for empty time.Time struct (non pointer)
...
The standard library returns always a non-pointer Time type.
2016-01-07 07:55:48 +01:00
Ernesto Jiménez
d04dca765f
Vendor dependencies and rewrite import paths
2015-12-02 20:32:31 +01:00
Blake Wilson
0c260593d1
Edit comments for false assertions
2015-12-02 09:53:45 -06:00
Dennis Coldwell
a3045216a7
found another formatting issue with NotEmpty func
2015-11-20 23:49:31 -08:00
Dennis Coldwell
c94cb5c230
small fix for example formatting on Empty func
2015-11-20 23:35:46 -08:00
Ernesto Jiménez
67106a5111
Sort map keys before diffing maps
2015-11-11 20:37:34 +01:00
Álex González
635a01b704
Show type of the object instead just "Object" string
...
The `Implements` test was just showing a string instead the name of the
object that was not implementing the interface. Now the type of the
object is shown.
2015-11-08 00:18:55 +01:00
Matt Joiner
7d6ace9113
Handle case where one object is nil and the other is not
2015-11-07 19:02:25 +11:00
Ernesto Jiménez
a76410419d
Merge pull request #232 from stretchr/issue-136
...
Fix #136 - Empty returns true for nil pointers
2015-11-07 04:46:19 +00:00
Ernesto Jiménez
33c4c93911
Fixes #229 - show diffs for structs/maps/arrays/slices when Equal fails
2015-11-03 01:32:38 +00:00
Ernesto Jiménez
c478a808a1
Fix #136
2015-11-02 01:41:59 +00:00
Ernesto Jiménez
8254b8f76b
Fix #144
2015-11-02 01:24:09 +00:00
Ernesto Jiménez
a74f1fecd2
Merge pull request #96 from ac7/quote_errors
...
Wrap NoError message with quote marks
2015-11-01 23:42:15 +00:00
Ernesto Jiménez
40b02b9eef
Merge pull request #165 from tuvistavie/master
...
Support map keys for Contains/NotContains assertion.
2015-11-01 21:02:28 +00:00
Ernesto Jiménez
9a4de4d135
Merge pull request #211 from jaguilar/patch-1
...
Remove unnecessary branches.
2015-11-01 20:49:18 +00:00
Ernesto Jiménez
a0534acc7b
Merge pull request #217 from juliancooper/assert-equivalent-json
...
Added assertion/requirement that checks if two JSON strings represent equivalent objects
2015-11-01 20:45:50 +00:00
Julian Cooper
2d0c0a478c
JSONEq unmarshal's into an interface{} instead of attemping Map and Slice unmarshallings
2015-10-13 14:13:42 -07:00
Bryan Matsuo
fb64a0ab08
Fix NotNil assertion for typed nil values
...
The NotNil assertion had an error in its handling of typed nil values.
This change makes use of the helper function isNil (used by the Nil
assertion). The helper function has correct handling of typed nil
values and when negated provides the expected semantics for
`assert.NotNil(t, x)`.
if x == nil {
assert.Fail(t, "is nil", x)
}
2015-09-23 23:48:02 -07:00
Julian Cooper
930ea90dbd
Added assertion/requirement that checks if two JSON strings represent equivalent objects
2015-09-23 10:34:52 -07:00
James Aguilar
1cb1359759
Remove unnecessary branches.
...
reflect.DeepEqual already returns exactly what we want in both of these cases.
2015-08-28 18:56:01 -07:00
Jonathan Camenisch
5d8c1da624
Fix param order in ObjectsAreEqualValues after type conversion
2015-08-27 23:37:31 -04:00
Daniel Chatfield
69ff3e840b
Fix order of params in Equal
2015-08-27 16:56:39 +01:00
Ernesto Jiménez
acfa84d454
Merge pull request #190 from davelondon/patch-1
...
Update assertions.go
2015-08-26 19:36:54 +01:00
Davide D'Agostino
9de108a472
Merge pull request #203 from willfaught/master
...
Add Zero and NotZero assertions and requirements
2015-08-26 11:35:18 -07:00
Siva Gollapalli
b60ec447d6
Modified the error message for NotEqual
2015-08-26 19:40:56 +05:30
Siva Gollapalli
80b247df3c
Display actual and expected values on NotEqual
2015-08-26 19:31:23 +05:30
Siva Gollapalli
05776ad541
EqualError error output swaps the actual and expected values
2015-08-25 20:49:33 +05:30
Will Faught
8512261d41
Add Zero and NotZero assertions and requirements
...
Zero returns true if the value equals the value's type's zero value.
NotZero returns the opposite of Zero.
2015-08-24 15:53:36 -07:00
davelondon
6b09f60392
Update assertions.go
...
Fixed incorrect order of parameters to Equal
2015-07-05 10:37:27 -04:00
Connor Peet
6756bdecf4
Adjust NotNil error message
2015-06-21 07:39:50 +10:00
Andrew Burns
c769e40e8b
Handle `<autogenerated>` files in `CallerInfo()`
...
Fixes #180
2015-06-11 14:33:49 -06:00
Paul Bellamy
c0b6c3bbd7
Rename Location to Error Trace in failure output
2015-06-05 14:01:19 +01:00
Paul Bellamy
0fd7b57c23
rename assert.locationInfo -> assert.errorTrace
2015-06-05 10:14:07 +01:00
Paul Bellamy
925c3ad43b
Reverse the stacktrace on assertion output (to match panic)
2015-06-05 10:13:41 +01:00
Paul Bellamy
a7a0af787a
Add a basic stacktrace to the assertion output
2015-06-04 14:00:35 +01:00
Daniel Perez
1e710e53ab
Support map keys for Contains/NotContains assertion.
2015-05-13 16:07:31 +09:00
Michael R. Maletich
4e2053a4af
Address #162 : InDelta should fail when actual value is not a number.
...
Comparting a float with NaN is always false so the assertion would always pass.
Added a check that either the actual or expected values are NaN.
InDelta will now fail if either the actual or expected value are NaN.
2015-05-12 11:54:42 +00:00
Mat Ryer
e22aedd376
Tweaks and improvements - Fixes #154
2015-04-20 11:19:11 +01:00
Chih-Wei Chang
8b75665fbf
Add InEpsilonSlice and corresponding testing.
2015-04-18 22:40:21 +08:00
Chih-Wei Chang
f0b02af48e
Add InDeltaSlice.
2015-02-18 10:38:24 +08:00
Paul Querna
e73f5c7e39
Add assert.EqualValues, which attempts to convert types to test equality. Fixes #129
2015-02-10 16:56:43 -08:00
Arnaud Porterie
9bab92ede2
Exclude conversions from equality tests
...
`ObjectsAreEqual` using `ConvertibleTo` causes the `ObjectsAreEqual`
function to be asymmetrical and producing incorrect assertions.
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-02-06 16:08:28 -08:00
Samuel Nelson
ff9ded0d23
Fixed regexp messages. Resolves #120 .
2015-01-19 12:45:07 -07:00
Tyler
e897f97d66
Merge pull request #93 from dlclark/master
...
Fixed regexp error messages to include input values to aide debugging
2015-01-13 10:39:58 -07:00
Samuel Nelson
02a8ab057b
Reverse ConvertibleTo check to avoid panic
...
in `ObjectsAreEqual`, `expectedValue.Convert(actualType)` was being called when
`actualType.ConvertibleTo(reflect.TypeOf(expected))` was true. This was a problem
for situations such as when expected was an int and actual was a string, since
ints are `ConvertibleTo` strings, but the reverse is not true.
Changing the ConvertibleTo check to `expectedValue.Type().ConvertibleTo(actualType)`
solves the issue.
2015-01-10 12:18:57 -07:00
Neil Conway
38aecdc957
Fix panic when comparing unequal maps.
...
The change in #94 resulted in using == to compare two values that might not be
comparable. Hence, this resulted in a panic for situations like:
ObjectsAreEqual(map[int]int{5: 10}, map[int]int{10: 20})
The fix is to use reflect.DeepEqual() instead.
2014-11-24 16:11:51 -08:00
Mat Ryer
faedd6eb63
Merge pull request #94 from neilconway/object-equality-golang-1.4
...
Avoid relying on undefined behavior in assert.ObjectsAreEqual().
2014-11-24 12:06:32 -08:00
Victor Kryukov
d3556349dd
Fix #99 : Contains doesn't work for complex types
2014-11-18 15:26:31 -08:00
ac7
51cd27a889
Wrap NoError message with quote marks
...
Previous behavior was to print the error with no delimiters:
No error is expected but got unexpected character in stream
New behavior is to print the error surrounded by quotes:
Recieved unexpected error "unexpected character in stream"
2014-11-03 10:26:29 -06:00
Neil Conway
49c5c6cdb1
Avoid relying on undefined behavior in assert.ObjectsAreEqual().
...
The previous assert.ObjectsAreEqual() implementation is broken in go 1.4beta1:
x := uint64(3)
log.Printf("equal? %t", assert.ObjectsAreEqual(3, x))
This prints "true" under Go 1.3 and "false" under 1.4beta1 (amd64/darwin).
The reason is that the ObjectsAreEqual() was comparing two reflect.Value values
for equality using ==, but the behavior of that operation is apparently
undefined (https://code.google.com/p/go/issues/detail?id=9034 ). The fix is to do
the type conversion and then do the comparison between two interface{} values.
2014-10-31 16:02:32 -07:00
Douglas Clark
25dfa29b38
Fixed regexp error messages to include input values to aide debugging
2014-10-21 20:37:01 -07:00
Victor Kryukov
b64f0d0b59
Implement Regexp and NotRegexp
2014-09-13 13:13:42 -06:00
Tyler
15dabc1a45
Merge pull request #73 from comogo/includes
...
Allow Contains and NotContains to check slices and arrays
2014-09-09 20:31:58 -06:00
Josiah Kiehl (formerly @bluepojo)
27b1e9d9f2
Fix grammer on assert.Len()
...
🐹
2014-09-04 15:55:45 -07:00
Mateus Lorandi dos Santos
ab1fdba54e
Allow Contains and NotContains to check slices and arrays
2014-08-21 11:13:02 -03:00
Oliver Beattie
3c808d3dab
Print the expected and actual items of an Equal call on separate lines
...
Makes for much easier comparison visually
2014-08-17 17:57:22 +01:00
Tyler
ae3032ce42
Merge pull request #69 from ascheglov/feature-fatal_checks
...
Add fatal assertions
2014-07-28 14:04:10 -06:00
OMOTO Kenji
e787d6aa9d
Add Len()
2014-07-17 18:39:50 +09:00
Anatoly Scheglov
f6376e8a31
add the 'require' package
2014-07-16 17:30:01 +04:00
bhenderson
256f07baef
Refactor InEpsilon() to use InDelta().
2014-07-10 09:12:30 -07:00
bhenderson
60a27ebea6
Add InEpsilon().
2014-07-10 08:58:49 -07:00
bhenderson
3b602c6e81
Add InDelta() for comparing floats.
2014-07-10 08:49:17 -07:00
Tyler Bunnell
5cc789b89e
Clean up golint warnings
2014-06-18 09:28:16 -06:00
Tyler Bunnell
37ec10ac14
Make empty tests pass
...
Fix #58
2014-06-18 09:21:09 -06:00
James Bowes
21382c1202
Attempt type conversion in assert.Equal
...
If the two values being tested are of compatible types, convert one
value to the other's type before comparing them. This allows
`assert.Equal(int64(123), uint64(123))` to pass.
2014-06-03 19:01:48 -03:00
Mat Ryer
8eaef7fd24
Merge pull request #49 from seantalts/noerrormsg
...
Change NoError formatting. fixes #48
2014-04-25 08:23:39 -06:00
Tyler Bunnell
d3d427864d
Fix merge conflict
2014-04-22 10:01:40 -06:00
mreedell
2c7459d4ba
Fixing issue 33
2014-04-14 15:24:44 -04:00
Sean Talts
c469b75615
Change NoError formatting.
2014-04-04 11:36:55 -04:00
Guncha
5114cbfc4a
Fix #45 : assert.Empty should work with channels
2014-03-31 19:10:48 -04:00
Mat Ryer
24fb97e3a8
Merge pull request #39 from xsleonard/exacterror
...
ExactError, asserts that err is not nil and its string matches
2014-03-07 11:27:35 -07:00
Victor Blomqvist
12fea7c16c
Rename the error argument from theError to err in Error asserts.
2014-03-07 17:19:03 +08:00
Steve Leonard
e763434382
rename to EqualError
2014-02-15 15:06:23 -05:00
Steve Leonard
92af479c56
ExactError, asserts that err is not nil and its string matches
2014-02-15 12:24:39 -05:00
Mat Ryer
9cc77fa253
Fixes #2
2014-01-28 10:18:27 -07:00
Mat Ryer
a3ce369ac0
Merge pull request #32 from onsi/master
...
receive *testing.T via an interface
2014-01-28 08:45:01 -08:00
Onsi Fakhouri
59b459277c
Define a TestingT interface in assertions.go and mock.go
2014-01-20 18:25:43 -08:00
Chakrit Wichian
f51780437f
Make isEmpty() properly handles maps. [ fix #34 ]
2014-01-19 10:30:16 +07:00
Victor Blomqvist
0378c681e8
added new assert WithinDuration
2013-09-12 13:24:50 +08:00
Mat Ryer
ba887bba64
improved error message
2013-08-02 16:09:49 -06:00
Mat Ryer
8cb5e40869
made Exactly not panic on nils
2013-07-18 09:42:16 -06:00
Tyler Bunnell
1e9c4b3ca7
Use new Fail method internally
2013-07-17 12:44:44 -06:00
Mat Ryer
3e51f38eaf
added Fail and Exactly assertions
2013-07-17 12:15:39 -06:00
Joshua Elliott
d35afcda84
Don't panic when underlying type is not .IsNil()-able (eg. string)
2013-05-23 14:54:54 -06:00
Tyler Bunnell
044591a481
go fmt
2013-03-31 09:56:37 -06:00
Mat Ryer
841b040dd7
Revert "Fixes #13"
...
This reverts commit 9b28fe8965
.
2012-12-04 13:11:45 -07:00
Mat Ryer
9b28fe8965
Fixes #13
2012-11-21 22:25:09 +00:00
Mat Ryer
03751c9109
Fixes #6 - added Empty and NotEmpty alternatives to nil
2012-11-21 15:03:46 +00:00
Mat Ryer
a58329b4c5
Fixes #8
2012-11-21 14:42:06 +00:00
Tyler Bunnell
530d0b899f
Add optional format, args for messages
...
Now you can pass either a "string" or a "%s","string" to the end of all
the functions that take a message.
2012-11-20 20:23:41 -07:00
Tyler Bunnell
f05d4eda9d
Add assert.Condition
2012-11-02 12:20:08 -06:00
Tyler Bunnell
4abc5d21c6
Fixes #7
2012-10-28 08:31:22 -06:00
Tyler Bunnell
8aa1160d9d
Merge branch 'develop'
2012-10-19 10:05:29 -06:00
Tyler Bunnell
c090beb5e4
Fix mock CallerInfo
2012-10-19 09:50:23 -06:00
Tyler Bunnell
93c66cec9b
Merge branch 'refs/heads/feature/prettyoutput'
2012-10-18 15:39:17 -06:00
Tyler Bunnell
36fef36bf3
Add Last Ditch Equals Comparison
...
Fixes a problem where int/float of the same value would return not
equal. This may also fix other comparisons in the future.
2012-10-18 14:17:52 -06:00
Tyler Bunnell
4d9c107dd0
Add comment
2012-10-17 11:17:15 -06:00
Tyler Bunnell
4a0996d790
Make the output pretty!
2012-10-17 07:51:19 -06:00
Mat Ryer
0cda4d8ec7
improved comments
2012-10-16 22:21:56 +01:00
Mat Ryer
72cf7da961
enhanced comments
2012-10-16 22:20:38 +01:00
Tyler Bunnell
2930d903bf
Initial Commit
2012-10-16 11:14:23 -06:00