Browse Source

[rejection] Fix double statement on caught rejections

master
Muthu Kumar 6 years ago
parent
commit
7c154457f1
  1. 8
      src/lib/assertPromise.js
  2. 5
      src/lib/expect.js

8
src/lib/assertPromise.js

@ -3,9 +3,11 @@ const { isPromise } = require('../util');
const createRejectionStatement = (statement, ...args) =>
Promise.reject(statement ? statement(...args) : '');
const _assertPromise = (bool, statementTuple) => {
const assertPromise = (bool, statementTuple, options = {}) => {
const [ statement, ...args ] = statementTuple;
let [ statement, ...args ] = statementTuple;
statement = options.skipStatement ? () => options.skipStatement : statement;
console.log('skipStatement', statement())
if(isPromise(bool))
return bool.catch(() =>
createRejectionStatement(statement, ...args));
@ -16,4 +18,4 @@ const _assertPromise = (bool, statementTuple) => {
};
module.exports = _assertPromise;
module.exports = assertPromise;

5
src/lib/expect.js

@ -1,6 +1,8 @@
'use strict';
const { liftPromise, lowerCaseFirstLetter } = require('../util');
const library = require('./assertionsLibrary');
const assertPromise = require('./assertPromise');
const expectPromise = (pred, statement, options = {}) =>
@ -18,12 +20,11 @@ const expectPromise = (pred, statement, options = {}) =>
? assertPromise(
pred(toTest, ...testValues),
[ statement, rejectedValue, ...testValues ],
{ skipStatement: rejectedValue },
)
: Promise.reject(rejectedValue)
);
const library = require('./assertionsLibrary');
const expects = Object.keys(library).reduce((acc, e) => {
const [ pred, statement, options ] = library[e];

Loading…
Cancel
Save