Steve Gravrock
fe6762b470
Merge branch '5.0' into parallel
2022-09-18 16:42:25 -07:00
Steve Gravrock
fa16b74500
Merge branch 'main' into 5.0
2022-09-18 13:39:05 -07:00
Steve Gravrock
4cd190b232
Merge branch 'internal-async'
2022-09-18 13:31:43 -07:00
Steve Gravrock
6ada55ff77
Parallel: Fixed reporting of exceptions thrown by a describe
2022-09-18 12:10:34 -07:00
Steve Gravrock
735ce6f758
Merge remote-tracking branch 'origin/5.0' into parallel
2022-09-18 09:43:31 -07:00
Steve Gravrock
430324885b
Merge branch 'main' into 5.0
2022-09-18 09:41:45 -07:00
Steve Gravrock
7c2e8ce7ca
Merge branch 'main' into parallel
2022-09-17 13:26:37 -07:00
Steve Gravrock
d4025999b7
Report exceptions thrown by a describe before any it calls
...
Previously, these were masked by the "describe with no children" error.
Now they're reported as suite level errors on an empty suite.
2022-09-17 13:24:45 -07:00
Steve Gravrock
2272f9aead
Parallel: run our own specs in parallel
2022-09-17 11:35:03 -07:00
Steve Gravrock
59848ca151
Coerce the random string to a seed before sending it to reporters
...
This fixes an error in HTMLReporter when the configured seed is a
number rather than a string, which has been allowed since 3.8.0
2022-09-03 12:36:35 -07:00
Steve Gravrock
ee524831f4
Merge branch 'main' into parallel
2022-08-27 10:30:21 -07:00
Steve Gravrock
b3d9435dbb
Convreted TreeProcessor to async/await
2022-08-22 17:04:44 -07:00
Steve Gravrock
fec8dd37b0
Merge branch 'main' into internal-async
2022-08-22 10:46:03 -07:00
Steve Gravrock
0690500a0d
Breaking change: Made Env#execute async
...
Errors related to invalid spec order are now reported via promise
rejection rather than synchronous throw.
2022-08-21 16:40:03 -07:00
Steve Gravrock
0bfbda720d
Breaking change: Env#execute no longer takes a callback
...
Use the returned promise instead.
2022-08-21 16:35:12 -07:00
Steve Gravrock
4fcdbd39fb
Breaking change: use addEventListener rather than setting window.onerror
...
* Generally simplifies error handling in browsers
* Makes Jasmine's own integration tests easier to debug
* Stack traces will be provided for more global errors
* ... but less error information will be provided in some browsers if the
error comes from a file:// URL (use `npx serve` or similar instead)
* Jasmine will no longer override existing onerror handlers in browsers
* Setting window.onerror will no longer override Jasmine's global error
handling (use jasmine.spyOnGlobalErrors instead)
2022-08-21 16:17:18 -07:00
Steve Gravrock
f934e6d816
Assume that addEventListener/removeEventListener are present in browsers
...
Jasmine 3.0 dropped support for the last browser that didn't support
the standard event handler methods (IE 9).
2022-08-20 10:27:44 -07:00
Steve Gravrock
79c6bbc189
clearStack optimizations
...
* Avoid setTimeout in Node, because we don't need the overhead there.
* Still call setTimeout in browsers to prevent the tab from being killed.
* Use queueMicrotask in Safari, because it's dramatically faster than
MessageChannel there.
* Continue to use MessageChannel in other supported browsers becuase it's
somewhat faster than queueMicrotask there.
* Don't use setImmediate any more because there's a faster alternative in
all supported envs.
In jasmine-core's own test suite, this yields a roughly 50-70% speedup
in Node, ~20% in Edge, and 75-90%(!) in Safari.
2022-08-15 17:50:49 -07:00
Steve Gravrock
2e80ec0c22
Rm dead code for QueueRunner deprecations
2022-08-11 19:51:08 -07:00
Steve Gravrock
588283cfe5
Breaking change: support for -npm reporter handling in parallel mode
...
* The `boot` function exported by the core module returns the same object
every time it's called.
* Removed node_boot.js. Use the exported `boot` function instead
* JasmineStartedInfo does not have totalSpecsDefined or order in parallel mode
* JasmineDoneInfo does not have order in parallel mode
* Added incompleteCode and numWorkers to JasmineDoneInfo
2022-08-10 18:23:38 -07:00
Steve Gravrock
3a43871901
Reset the env state between parallel batches
2022-08-06 10:55:02 -07:00
Steve Gravrock
21f25972bb
Converted ReportDispatcher to promises
2022-07-01 17:25:22 -07:00
Steve Gravrock
6c56ebc984
Added jasmine.spyOnGlobalErrorsAsync
...
* Allows testing code that's expected to prodeuce global errors or
unhandled promise rejections
* Fixes #1843
* Fixes #1453
2022-06-30 18:09:56 -07:00
Steve Gravrock
d8b65028a1
Pass queue runner factory to Spec#execute, not ctor
2022-06-12 12:34:46 -07:00
Steve Gravrock
d6cdc1841c
Extracted suite building out of Env
2022-06-12 09:49:01 -07:00
Steve Gravrock
72b39220e5
Runable, not runnable
2022-06-11 15:41:29 -07:00
Steve Gravrock
55dce7d119
Extracted runnable resource management out of Env
2022-06-11 15:28:37 -07:00
Steve Gravrock
789736dd02
Additional test coverage for default spy strategies
2022-06-11 15:08:02 -07:00
Steve Gravrock
c7ca3b0101
Converted integration specs to async/await
2022-06-11 13:43:44 -07:00
Steve Gravrock
135ff20123
Replaced uses of var with const/let
2022-06-09 20:00:23 -07:00
Steve Gravrock
a5f79fac81
Removed remaining jshint config comments
2022-06-02 18:22:23 -07:00
Steve Gravrock
4cc8437f79
Call buildExpectationResult directly from Suite and Spec
...
This removes quite a bit of indirection from result processing, at the
cost of making a few of the tests more awkward.
2022-06-01 10:18:23 -07:00
Steve Gravrock
8e58305b0a
ExpectationResult.js -> buildExpectationResult.js
2022-06-01 09:26:21 -07:00
Steve Gravrock
bbb1b69b2e
More reliably report errors that occur late in the suite/spec lifecycle
...
Previously, an error that occurred after Jasmine started to report the
suiteDone or specDone event for the current runable would not be reliably
reported. Now such an error is reported on the nearest ancestor suite whose
suiteDone event has not yet been reported.
2022-05-28 18:10:55 -07:00
Steve Gravrock
9ea8a2096f
Additional integration tests for existing async error handling
2022-05-28 18:01:19 -07:00
Steve Gravrock
41f7fabe2f
Renamed jasmine.exactly to jasmine.is, for similarity with toBe
2022-05-21 08:30:53 -07:00
Steve Gravrock
856a040a2d
Fixed flaky spec
2022-05-19 16:39:48 -07:00
Steve Gravrock
0c87d47318
Added a jasmine.exactly asymmetric equality tester
2022-05-14 17:01:38 -07:00
Steve Gravrock
c24b2f5a73
Converted some integration specs to async/await
2022-05-14 12:05:53 -07:00
Steve Gravrock
751cf6ab5b
Converted DiffBuilder, ObjectPath, MismatchTree, and SinglePrettyPrintRun to ES6 classes
2022-05-14 11:15:08 -07:00
Steve Gravrock
bb4d18f959
Include property getter values in pretty-printed objects
...
We already call getters when comparing objects for equality and generating
diffs, so it should be safe to do it here too.
See #1966 .
2022-05-12 17:14:13 -07:00
Steve Gravrock
81f6eb45ea
Cleaned up specs for symbol property filtering
...
* Removed redundant spec
* Test the behavior of jasmineUnderTest, not the host jasmine
2022-05-09 17:11:36 -07:00
Steve Gravrock
841b212c66
Merge branch 'patch-1' of https://github.com/suke/jasmine
...
* Merges #1963 from @suke
* Excludes non-enumerable symbol properties from equality comparison
2022-05-09 16:51:47 -07:00
Steve Gravrock
9a27407d35
Folded util.objectDifference into MatchersUtil
...
This was always an implementation detail of objectKeysAreDifferentFormatter,
and didn't really do what its name suggested.
* #1966
2022-05-07 14:03:26 -07:00
Steve Gravrock
468e9577cd
Include symbol properties in matcher diffs
...
* #1966
2022-05-07 13:26:15 -07:00
Steve Gravrock
9d80377fe3
Fixed exception when comparing arrays with Symbol keys
...
* Fixes #1966
2022-05-07 10:42:29 -07:00
Steve Gravrock
270344bd38
Include symbol keys when pretty-printing objects
...
* Fixes #1966
2022-05-07 10:05:18 -07:00
suke
dfa94c70c1
toEqual does not compare symbols that cannot be enumerated
2022-04-27 10:51:03 +09:00
Steve Gravrock
1166d10e43
Use const/let in specs, not var
2022-04-16 13:41:44 -07:00
Steve Gravrock
482dc883eb
Check for unused vars and params in specs
2022-04-16 10:58:25 -07:00