johnjbarton
6324fda065
PrettyPrinter survives if objects throw in toString
2019-06-27 10:35:59 -07:00
Gregg Van Hove
b4cbe9850f
add prettier and eslint
2019-05-21 18:23:48 -07:00
Gregg Van Hove
cf2c5c9acc
Merge branch 'enelson/src-cleanup-2' of https://github.com/elliot-nelson/jasmine into elliot-nelson-enelson/src-cleanup-2
...
- Merges #1708 from @elliot-nelson
2019-05-21 17:45:46 -07:00
Gregg Van Hove
df6a71e37d
Merge branch 'spy-to-string' of https://github.com/johnjbarton/jasmine into johnjbarton-spy-to-string
...
- Merges #1712 from @johnjbarton
2019-05-20 17:22:05 -07:00
johnjbarton
d1adbdc72b
fix(PrettyPrint): jasmine.createSpyObj('obj', ['toString']);
...
The PrettyPrint handler for scalars uses toString() but if that method
has been spyed on, then the stringify fails with
TypeError: Cannot read property 'length' of undefined.
By hanlding this case earlier in format() we avoid the error.
Add unit test covering this case.
2019-05-20 09:33:47 -07:00
Elliot Nelson
9f704b6f3a
PrettyPrinter handles objects with invalid toString implementations
2019-05-20 09:01:10 -04:00
Elliot Nelson
1e855aa9b8
Cleanup: whitespace
2019-05-18 08:10:11 -04:00
Gregg Van Hove
37dfe50d99
Stop treating objects with a nodeType as if they are DOM Nodes
...
- Fixes #1638
2018-12-17 17:10:53 -08:00
Sampo Kivistö
473f5cd359
Re-use attr variable
2018-11-04 10:44:54 +02:00
Sampo Kivistö
a81e9626df
Fixes issue where PhantomJS 2 and IE 10 - 11 crashed when reporting SVG element equality
2018-11-04 10:31:33 +02:00
Gregg Van Hove
ced2b114e4
Better detection of DOM Nodes for equality
...
- Also use JSDom if a real one isn't present to get some more coverage
there
- Fixes #1172
2018-05-04 18:01:08 -07:00
Gregg Van Hove
274011ed03
Merge branch 'master' into 3.0-features
2018-02-02 16:33:38 -08:00
Volonterio Riccardo
486a64658f
Added complete support for Set also for IE11.
...
Fixes 1355
2018-01-12 12:18:35 +01:00
Gregg Van Hove
1dfdc89ba9
Merge branch 'ie11-maps-support' of https://github.com/Volox/jasmine into Volox-ie11-maps-support
...
- Merges #1477 from @Volox
- Fixes #1472
2018-01-11 17:50:56 -08:00
Volonterio Riccardo
085a1f8a16
Added complete support for Map also for IE11.
...
Fixes 1472
2018-01-11 18:13:24 +01:00
Steve Gravrock
cf2f922e30
Merge branch 'master' into 3.0-features
2018-01-10 15:28:55 -08:00
Steve Gravrock
ef9f82a17d
Merge branch 'master' into 3.0-features
2017-12-18 09:48:17 -08:00
Steve Gravrock
d3a3cf1ff3
Collapsed StringPrettyPrinter into PrettyPrinter
...
We never really took advantage of the potential extensibility that the
split provided, and the boundary between the two was getting muddied
over time.
2017-12-18 09:43:25 -08:00
Steve Gravrock
c0d0513199
Stop serializing objects after hitting jasmine.MAX_PRETTY_PRINT_CHARS
2017-12-15 13:23:59 -08:00
Steve Gravrock
86a38fceb9
Truncate pretty printer output that is more than j$.MAX_PRETTY_PRINT_CHARS long
2017-12-13 08:09:22 -08:00
Steve Gravrock
ac5d8708b9
More informative pretty-printing of DOM elements
...
[Finishes ##153562618]
2017-12-11 08:25:13 -08:00
Gregg Van Hove
21655a82c9
Use prototype for spy strategy for better memory management
...
- Also convert `identity` to a property from a method
2017-11-30 17:30:20 -08:00
ksvitkovsky
4fc177d5ae
Better pretty printing for typed arrays
2017-08-04 09:33:05 -07:00
Gregg Van Hove
22e9d6df20
PrettyPrinter allows an object to have a toString that isn't a function
...
- Fixes #1389
2017-07-17 22:01:06 -07:00
Gregg Van Hove
4c491b2dc0
Pretty printer will now use MAX_PRETTY_PRINT_ARRAY_LENGTH for objects
...
- Fixes #1291
- Fixes #1360
2017-06-14 13:36:35 -07:00
rmehlinger
5ee03f02ed
Add ES6 map support to Jasmine
2017-05-01 00:12:48 -07: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
Fulvio Valente
2710bdfc5e
Correctly pretty print objects from other contexts (e.g. iframes) and which do not override toString
...
Fixes #1087
2016-04-11 18:51:04 +01:00
Erik Welander
927cc011d6
Added support for ES6 sets to toContain and toEqual.
2016-03-04 02:09:59 -08:00
Paul Jolly
d0ad9b98cd
Use toString for objects if it has been overriden
2015-09-25 20:19:48 +01:00
Greg Cobb and Gregg Van Hove
d5dfbc98c3
Updates pretty printer to include array properties
...
[fixes #766 ][finishes #87644044 ]
2015-02-04 11:05:03 -08:00
slackersoft
7570bc422b
Display the name of the constructor when pretty printing objects
...
Fixes #598 [finishes #81228592 ]
2014-12-16 12:56:04 -08:00
mikemoraned
33e4f5efbe
Allow users to set the maximum length of array that the pretty-printer
...
will print out.
Currently, jasmine's pretty printer will iterate over an entire array,
formatting every element recursively. For very large arrays, this can
crash the page, or cause a 'slow script' warning.
This commit exposes a 'MAX_PRETTY_PRINT_ARRAY_LENGTH' option. If an
array larger than this is encountered, recursion will stop and the
array length will be printed instead e.g. "Array[20000000]".
The 'MAX_PRETTY_PRINT_ARRAY_LENGTH' option defaults to 100. This is
length of array will not kill your browser, but will allow you
to see big arrays, if you can stomach the output.
2014-03-12 12:16:01 -07:00
Greg Cobb and Luan Santos
21de44a204
Remove space between key and colon when pretty printing objects
...
[#4005255 ]
2014-03-12 11:47:47 -07:00
Greg Cobb and Luan Santos
c9e37a2a1c
Refactor prettyPrinter to work with immutable objects
...
[#50766813 ][#266 ]
2014-03-12 11:41:18 -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
Sheel Choksi
7cf899a4ea
Special case printing -0
...
Use the 1/x trick to determine if a value is -0 and special case the
printing of it.
[closes #496 ]
2014-02-09 14:14:33 -08:00
slackersoft
15aa3ecb5d
Better support in pretty printer when an object has null prototype
...
- Fixes #500
2014-01-17 19:56:43 -10: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
Sheel Choksi
0f42f2709a
Update PrettyPrinter to better check for an Object
...
Includes test case to fix FF as suggested by @ondras
Fixes #409
2013-08-03 11:49:20 -07:00
Davis W. Frank & Sheel Choksi
3847557bbc
Squashed spy refactor and new spy syntax
...
Jasmine spies now have a 'and' property which allows the user to
change the spy's execution strategy-- such as '.and.callReturn(4)'
and a 'calls' property which allows inspection of the calls a spy
has received.
* This is a breaking change *
There is a CallTracker that keeps track of all calls and arguments
and a SpyStrategy which determines what the spy should do when it
is called.
2013-07-22 14:29:52 -07:00
Davis W. Frank
aca43bd3a3
Squashed commit of work to make Jasmine a collection of isolated modules. Note now that in our test suite, "jasmine" now always refers to the build jasmine loaded from jasmine.js and "j$" always refers to the code in the src directories.
...
Also, dev_boot.js is now a copy of boot.js and has additional changes to load jasmine the second time, into the j$ reference.
2013-05-28 14:09:20 -07:00
Davis W. Frank
6feb124853
Remove JSDocs from everywhere in the Repo - source code, GHPages, etc. We're not using them and the stale docs were confusing. Fixes #338 Fixes #99
2013-03-26 23:11:24 -07:00
Dan Hansen and Davis W. Frank
cf7bb0269b
Added grunt to project.
...
Move from embedded "fork" of jsHint to using grunt's jsHint module.
Cleaned ALL jsHint errors.
Added jasmine.util.isUndefined as alternative to extra careful protection against undefined clobbering
2013-03-01 14:28:18 -08:00
Max Brunsfeld
ddbee65aa8
Allow users to set the pretty-printer's recursion depth
...
Currently, jasmine's pretty printer traverses objects
to 40 levels of nesting. If an object is more deeply
nested than that, an exception is thrown. I find that
after a few levels of nesting, the output becomes
difficult to read. The process of serializing such
deep objects also sometimes crashes the browser or
causes a 'slow script' warning.
This commit exposes a 'MAX_PRETTY_PRINT_DEPTH' option.
It also causes the pretty printer to skip over
parts of an object that are nested to deeply by simply
printing out 'Object' or 'Array', rather than throwing
an exception.
2012-10-28 12:27:26 -07:00
Max Brunsfeld
beeb872a82
When pretty-printing objects, don't include inherited properties.
...
When making assertions about complex objects, Jasmine's
failure message are sometimes gigantic and difficult
to read because the string representation of an object
contains all of the methods and properties in its
prototype chain. This commit causes the pretty printer
to only display on object's own properties.
2012-10-28 12:27:26 -07:00
gvanhove
67ec0af254
use jasmineMatches for equality testing of complicated matchers
2011-11-14 18:29:30 -08:00
gvanhove
4f2fcff15a
Use jasmineToString for printing out complicated matchers
2011-11-14 18:29:30 -08:00
gvanhove
7158fc2426
Rename hashContaining to objectContaining, since this is javascript. Also call the toString from prettyPrinter
2011-11-14 18:26:48 -08:00