Skip to content

Commit

Permalink
polyfill for assert.rejects
Browse files Browse the repository at this point in the history
  • Loading branch information
rmdm committed Sep 26, 2018
1 parent b4542b2 commit c33aa79
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 8 deletions.
2 changes: 0 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ language: node_js
node_js:
- "10.11"
- "8.11"
- "6.1"
- "4.4"

script: "npm run ci"
after_script: "cat ./coverage/lcov.info | coveralls"
27 changes: 21 additions & 6 deletions test/promback.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ function testUsing (contextTitle, promiseLib) {

it('rejects when passed function throws', async function () {

const err = new Error()
const err = new Error('an error')

const fn = promback(function () { throw err })

await assert.rejects(function () {
await assertRejects(function () {
return fn()
}, function (e) {
return err === e
Expand All @@ -50,11 +50,11 @@ function testUsing (contextTitle, promiseLib) {

it('rejects when passed function rejects', async function () {

const err = new Error()
const err = new Error('an error')

const fn = promback(function () { return Promise.reject(err) })

await assert.rejects(function () {
await assertRejects(function () {
return fn()
}, function (e) {
return err === e
Expand All @@ -64,13 +64,13 @@ function testUsing (contextTitle, promiseLib) {
it('rejects when passed function calls callback with an error',
async function () {

const err = new Error()
const err = new Error('an error')

const fn = promback(function (cb) {
cb(err)
})

await assert.rejects(function () {
await assertRejects(function () {
return fn()
}, function (e) {
return err === e
Expand Down Expand Up @@ -153,3 +153,18 @@ function testUsing (contextTitle, promiseLib) {
})
})
}

async function assertRejects (rejecter, predicate) {

if (assert.rejects) {
return assert.rejects(rejecter, predicate)
}

try {
await rejecter()
throw new Error('Rejection expected.')
} catch (err) {
if (predicate(err)) { return }
throw err
}
}

0 comments on commit c33aa79

Please sign in to comment.