Steve Gravrock
dad5f5fd6b
Fixed test failure in Safari 8
2021-04-17 11:34:53 -07:00
Steve Gravrock
53d8073707
Allow generator functions to be passed to .and.callFake
...
Fixes #1848 .
2020-08-29 13:15:14 -07:00
Terence D. Honles
3943cc2ddb
allow spy throwError to throw an Object
...
When using the following code to simulate a node error:
spyOn(process, 'kill').and.throwError({code: 'ESRCH'})
The object passed in will be converted to a string by the Error
constructor and result in '[object Object]' which is not very useful.
This PR changes the ``throwError`` spy strategy to only convert
strings into an Error object, but any other objects which are passed
in will be thrown as is. This means the spy strategy can never emulate
throwing a bare string ``throw 'error'``, but this would be a backward
incompatible change.
2020-06-25 18:12:00 -07:00
Chives
66fe69a149
Add test for resolveTo/rejectWith with empty parameters
2020-03-16 03:15:58 -04:00
Gregg Van Hove
8af669677a
Cleanup spy promise strategies to be more consistent with Jasmine at large
...
- Rename `resolveWith` to `resolveTo` to match `toBeResolvedTo`
- No longer wrap non-Errors in `rejectWith`
- Fixes #1715
2019-05-23 17:29:12 -07:00
Gregg Van Hove
b4cbe9850f
add prettier and eslint
2019-05-21 18:23:48 -07:00
Elliot Nelson
b2fb92eedd
Promise-based strategies are now named resolveWith and rejectWith
2019-05-09 06:12:06 -04:00
Elliot Nelson
df818f3fbc
rejectValue wraps non-Errors like throwError does
2019-05-08 09:36:12 -04:00
Elliot Nelson
4731b4ee4d
Keep all Promise implementation details internal
2019-05-08 09:13:41 -04:00
Elliot Nelson
95e1890e64
Improved resolveValue/rejectValue error messages
2019-05-07 16:30:48 -04:00
Elliot Nelson
72aa0bbe4d
Add resolveValue and rejectValue spy strategies
2019-05-05 08:08:34 -04:00
Steve Gravrock
170a6dce76
Made naming somewhat less confusing
2018-01-10 09:00:09 -08:00
Steve Gravrock
4934e420b2
Allow adding custom spy strategies
...
[#37288941 ]
2018-01-10 08:59:19 -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
Julian Lannigan
7ac1244f58
changed tests to work in environments that dont support async/await
2017-11-10 10:17:48 -05:00
Julian Lannigan
2be5e0a962
Allowed async functions to be passed into spy#callFake
2017-11-09 19:59:23 -05:00
Gregg Van Hove
4e47b78f1f
Use isFunction to check for functionness in callFake
...
- Fixes #1191
2016-09-14 16:06:44 -07:00
Andrzej Kopeć
bbf3f6825c
Improve error message when passing a non-function to callFake
2016-02-28 21:37:28 +01:00
Gregg Van Hove
79206ccff5
Rename j$ to jasmineUnderTest for specs
...
- Clarifies what it is for when writing tests
- No longer named the same as the `jasmine` that is injected into live
code
2015-12-03 17:23:32 -08:00
Mridul
709e032d1c
Added returnValues functionality to spy strategy
2014-09-13 12:41:20 +10:00
Gregg Van Hove and Tim Jarratt
1c19b8e38a
Move spec files back out of spec/javascripts
...
- Jasmine gem allows us to specify a path to jasmine.yml via ENV
[finish #58126010 ]
2013-10-02 16:32:35 -07:00
Gregg Van Hove and Rajan Agaskar
5017d1a4f1
Make rake jasmine:ci run specs correctly.
...
- Will replace rake core_specs.
- Remove obsolete dependencies & files -- most of these were for build tasks we
are no longer using. Notably, rspec and spec_helper were deleted.
2013-09-25 10:11:02 -07:00
Sheel Choksi
4bff199c2a
Rename a spy's callReturn and callThrow
...
.and.callReturn is now .and.returnValue
.and.callThrow is now .and.throwError
[finishes #56281634 ]
2013-09-06 21:55:14 -07:00
Sheel Choksi
e3f0389ac2
Change andThrow to always throw an Error
...
If an error is passed in, it is thrown, otherwise the argument passed
in is wrapped in an Error
[finishes #50607615 ][closes #372 ]
2013-09-05 23:05:45 -07:00
Colin O'Byrne and JR Boyens
663a58d617
[Finishes #51528655 ] spies should support and.stub()
2013-07-22 14:39:06 -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