Benjamin Mularczyk
b4dfdd7a48
Fix equality computation for ES6 Sets.
2017-11-01 01:01:26 +01:00
Zaven Muradyan
6d3953356d
Add special handling of asymmetric matcher objects as keys in Maps.
...
The previous Map equality code was assuming that the set of keys would
be identical between the two Maps. This change adds insertion-order
tracking for each key with its corresponding key. If one of the two keys
is an asymmetric equality obj, the keys are eq()'d, and if it succeeds,
the corresponding values are compared. Otherwise, the "main" key is
looked up directly in the other object; this is to prevent
similar-looking obj keys with different obj identities from comparing
equal.
Fixes #1432 .
2017-10-23 23:01:50 -07:00
Gilberto Stankiewicz
090a6234c3
Make toEqual matcher report the difference between array elements when arrays have different length
2017-08-08 09:55:17 -07:00
ksvitkovsky
1db81c334d
Ensure no message added on asym. match success
2017-08-04 10:26:51 -07:00
Sébastien Cevey
fc6ee243e9
Rewrite ES6 Set and Map comparison to ignore insertion order
2017-08-02 15:22:33 +01:00
rmehlinger
5ee03f02ed
Add ES6 map support to Jasmine
2017-05-01 00:12:48 -07:00
Gregg Van Hove
fbd2ffc08b
Build distribution for keys lookup fix
2017-04-25 14:35:58 -07:00
Sean Parmelee
0d6ecbec17
iterate through keys with a regular for loop
2017-04-25 11:28:16 -05:00
Ben Christel
41a813521b
Fix tests for toEqual diff output in IE
...
- Merges #1236 from @benchristel
2016-11-30 15:34:39 -08:00
Ben Christel
d5e6bf47ed
Make toEqual matcher report the difference between objects
...
- Mismatches deep within object/array structures are pinpointed with a JsonPath-like syntax.
2016-11-14 22:08:34 -08:00
Gregg Van Hove
05097b3e42
Merge branch 'set-equality' of https://github.com/alur/jasmine into alur-set-equality
...
- Merges #1067 from @alur
2016-09-27 13:37:57 -07:00
Gregg Van Hove
ec2ae4d521
Merge branch 'custom-testers-in-asymmetric-matchers' of https://github.com/joeyparrish/jasmine into joeyparrish-custom-testers-in-asymmetric-matchers
2016-09-27 11:01:45 -07:00
Gregg Van Hove
8366ef9be5
Merge branch 'fix' of https://github.com/logankd/jasmine into logankd-fix
...
- Merges #1192 from @logankd
- Fixes #1188
2016-09-01 20:44:13 -07:00
Kevin Logan
c0a9d20a02
fix for issue #1188
2016-09-01 10:59:19 -05:00
Ben Christel
d9ded15c45
Move functions in to a higher scope
...
- Prevents them from accessing eq's local vars, which could cause bugs.
2016-07-21 12:10:37 -07:00
Ben Christel
a0bce8031e
Test comparison of objects from different frames
2016-07-21 12:10:37 -07:00
Ben Christel
738c10fd43
Make toEqual pass for arrays with equivalent properties
...
- Fixes a bug caused by accidental use of a closure variable
2016-07-18 16:48:00 -07:00
Joey Parrish
de7b7c029e
Pass custom testers to asymmetric testers
...
This allows custom equality testers to affect asymmetric matches.
This avoid suprises when combining addCustomEqualityTester with
objectContaining or arrayContaining.
Closes #1138
2016-06-23 14:33:39 -07:00
Erik Welander
927cc011d6
Added support for ES6 sets to toContain and toEqual.
2016-03-04 02:09:59 -08:00
Gregg Van Hove
5458f2f18d
Array equality treats undefined elements as equal however they got in there
...
- Fixes #786
2016-02-22 11:06:59 -08:00
minhyeong-kim
3f27ff1c7c
chore: fix jshint error
2016-02-04 17:47:17 +09:00
minhyeong-kim
b59cacf131
refactor: fix Edge freezing issue for matcherUtils#eq
...
fix Microsoft Edge freezing when recursive comparing
2016-02-04 17:09:03 +09:00
Greg Cobb and Gregg Van Hove
f22862fd80
Merge branch 'juliemr-arrayfix'
...
Fixes #765
2015-02-04 09:38:45 -08:00
Julie Ralph
53b0752ff0
Allow arrays from different frames or contexts to be equal
2015-02-04 09:28:04 -08:00
Rohit Arondekar
a84eaf2cbe
Allow null prototype obj to be compared for equals
...
Fixes #729
2014-12-20 08:35:27 +05:30
slackersoft
bfcd8b046d
Allow asymmetric equality testers to preempt their symmetric brethren
...
- Also allow them to be compared to each other properly.
Fixes #540
2014-12-16 17:45:58 -08:00
slackersoft
2ab22951a1
Just check if either side implements asymmetricMatch
...
- Don't explicitly look for `Any` or `ObjectContaining`
[#82295210 ]
2014-12-16 17:29:18 -08:00
slackersoft
ea88023553
Check for ObjectContaining on either side of equality.
...
- Also clean up `undefined` check.
Fixes #682
2014-12-16 17:07:35 -08:00
slackersoft
6bd98cb2ab
Rename jasmineMatches to asymmetricMatch
...
- This should be more clear what it is for
[finish #82295210 ]
2014-12-16 16:47:31 -08:00
slackersoft
0fdb28c6ff
Merge branch 'toEqualDomNodes' of https://github.com/alexeibs/jasmine into alexeibs-toEqualDomNodes
2014-12-16 11:25:14 -08:00
slackersoft
a84202a6f9
Also check custom properties on Arrays when computing equality
...
[Finishes #50616649 ]
2014-12-16 10:22:23 -08:00
slackersoft
b68ba90ad7
Just return the result directly from any and objectContaining
...
- They return false when they fail which means not equal.
2014-12-02 07:56:40 -08:00
Charles Hansen
da6813ef0d
toContain works with array-like objects (Arguments, HTMLCollections, etc)
...
Fixes #699
Don't rely on Array.prototype.indexOf for testing containment (not in IE8)
2014-11-03 13:09:57 -08:00
slackersoft
a4d134521a
Revert "toContain works with array-like objects (Arguments, HTMLCollections, etc)"
...
IE 8 doesn't have Array.prototype.indexOf so this breaks there.
Reverting until we can figure out a better way to solve across all
supported browsers.
This reverts commit 663fbd0cdb .
2014-11-01 14:28:32 -07:00
Charles Hansen
663fbd0cdb
toContain works with array-like objects (Arguments, HTMLCollections, etc)
...
Fix #699
2014-10-30 13:08:16 -07:00
Alexei Bykov
ac8ef2988d
add better support of DOM nodes into equality matcher
2014-08-24 17:07:18 +04:00
slackersoft
a1c109ea17
Contains is explicitly false if actual is undefined or null
...
Fix #627
2014-07-18 13:18:22 -07:00
Robin Böhm
31d71ac22f
add single quote check to jshint and fix src files for that
...
[fixes #522 ]
2014-02-24 16:28:16 -08:00
Davis W. Frank
9e149d1e0f
Move node dev deps forward, add .jshintrc to support latest grunt-contrib-jshint and Code Climate score
2013-10-25 12:23:57 -07:00
Gregg Van Hove and Tim Jarratt
7e071547f5
Custom matchers fail to behave as expected
...
If they return false, that should be respected.
Submitted via @tjgrathwell
[Finish #58184156 ]
close #434
2013-10-03 15:13:27 -07:00
Davis W. Frank
0ac497db6b
Simplifying toThrow:
...
- It still supports no expected, which means that something was thrown
- Expected value is now tested via equality in order to pass
Adding toThrowError:
- toThrowError() passes if an Error type was thrown
- toThrowError(String) & toThrowError(RegExp) compare Expected to the Error message
- toThrowError(Error constructor) compares Expected to the constructor of what was thrown
- toThrowError(Error constructor, String) & toThrowError(Error constructor, RegExp) compares both the Error and the message
Also, equality now handles Errors, enforcing the message as part of the equality.
2013-06-03 09:24:43 -07:00
Davis W. Frank
d53002c63a
Matchers & Matchers specs now broken up into individual files. There is now a requireMatchers jasmineRequire function to attach matchers properly.
2013-06-02 22:22:25 -07:00