* Top level private APIs (e.g. jasmine.private.whatever) are no longer exposed * jasmineRequire is no longer exposed * core is self-booting * Globals are automatically created in browsers. (They can subsequently be removed by user code if desired.) * Globals are *not* automatically created in Node. An installGlobals function is exported instead. The jasmine package calls installGlobals unless configured not to do so. * In Node, the same instance is returned each time jasmine-core is imported. A reset function is exported. It effectively resets all state by discarding the env and creating a new one. This allows mulitple sequential runs within the same process to be independent of each other, but does not allow multiple concurrent runs. (That probably never worked anyway.) Fixes #2094
43 lines
1.0 KiB
JavaScript
43 lines
1.0 KiB
JavaScript
getJasmineRequireObj().toBeResolved = function(j$, private$) {
|
|
'use strict';
|
|
|
|
/**
|
|
* Expect a promise to be resolved.
|
|
* @function
|
|
* @async
|
|
* @name async-matchers#toBeResolved
|
|
* @since 3.1.0
|
|
* @example
|
|
* await expectAsync(aPromise).toBeResolved();
|
|
* @example
|
|
* return expectAsync(aPromise).toBeResolved();
|
|
*/
|
|
return function toBeResolved(matchersUtil) {
|
|
return {
|
|
compare: function(actual) {
|
|
if (!private$.isPromiseLike(actual)) {
|
|
throw new Error(
|
|
`Expected toBeResolved to be called on a promise but was on a ${typeof actual}.`
|
|
);
|
|
}
|
|
|
|
return actual.then(
|
|
function() {
|
|
return { pass: true };
|
|
},
|
|
function(e) {
|
|
return {
|
|
pass: false,
|
|
message:
|
|
'Expected a promise to be resolved but it was ' +
|
|
'rejected with ' +
|
|
matchersUtil.pp(e) +
|
|
'.'
|
|
};
|
|
}
|
|
);
|
|
}
|
|
};
|
|
};
|
|
};
|