Add .toBeNullish matcher
This commit is contained in:
@@ -150,6 +150,7 @@ getJasmineRequireObj().requireMatchers = function(jRequire, j$) {
|
|||||||
'toBeTrue',
|
'toBeTrue',
|
||||||
'toBeTruthy',
|
'toBeTruthy',
|
||||||
'toBeUndefined',
|
'toBeUndefined',
|
||||||
|
'toBeNullish',
|
||||||
'toContain',
|
'toContain',
|
||||||
'toEqual',
|
'toEqual',
|
||||||
'toHaveSize',
|
'toHaveSize',
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
describe('toBeNullish', function() {
|
||||||
|
it('passes for null values', function() {
|
||||||
|
const matcher = jasmineUnderTest.matchers.toBeNullish();
|
||||||
|
const result = matcher.compare(null);
|
||||||
|
expect(result.pass).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('passes for undefined values', function() {
|
||||||
|
const matcher = jasmineUnderTest.matchers.toBeNullish();
|
||||||
|
const result = matcher.compare(void 0);
|
||||||
|
expect(result.pass).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('fails when matching defined values', function() {
|
||||||
|
const matcher = jasmineUnderTest.matchers.toBeNullish();
|
||||||
|
const result = matcher.compare('foo');
|
||||||
|
expect(result.pass).toBe(false);
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
getJasmineRequireObj().toBeNullish = function() {
|
||||||
|
/**
|
||||||
|
* {@link expect} the actual value to be `null` or `undefined`.
|
||||||
|
* @function
|
||||||
|
* @name matchers#toBeNullish
|
||||||
|
* @since 5.6.0
|
||||||
|
* @example
|
||||||
|
* expect(result).toBeNullish():
|
||||||
|
*/
|
||||||
|
function toBeNullish() {
|
||||||
|
return {
|
||||||
|
compare: function(actual) {
|
||||||
|
return {
|
||||||
|
pass: null === actual || void 0 === actual
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return toBeNullish;
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user