From ef383b515b597e548dd6a9e9ef91c0624ed66fc1 Mon Sep 17 00:00:00 2001 From: juergba Date: Thu, 16 Jan 2020 14:42:18 +0100 Subject: [PATCH] more tests --- test/unit/runner.spec.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/test/unit/runner.spec.js b/test/unit/runner.spec.js index bca784ae90..63f86c08b6 100644 --- a/test/unit/runner.spec.js +++ b/test/unit/runner.spec.js @@ -3,6 +3,7 @@ var path = require('path'); var sinon = require('sinon'); var Mocha = require('../../lib/mocha'); +var Pending = require('../../lib/pending'); var Suite = Mocha.Suite; var Runner = Mocha.Runner; var Test = Mocha.Test; @@ -444,6 +445,13 @@ describe('Runner', function() { }); }); + describe('.runTest(fn)', function() { + it('should return when no tests to run', function() { + runner.test = undefined; + expect(runner.runTest(noop), 'to be undefined'); + }); + }); + describe('allowUncaught', function() { it('should allow unhandled errors to propagate through', function() { var newRunner = new Runner(suite); @@ -690,6 +698,20 @@ describe('Runner', function() { sandbox.stub(runner, 'fail'); }); + describe('when allow-uncaught is set to true', function() { + it('should propagate error and throw', function() { + var err = new Error('should rethrow err'); + runner.allowUncaught = true; + expect( + function() { + runner.uncaught(err); + }, + 'to throw', + 'should rethrow err' + ); + }); + }); + describe('when provided an object argument', function() { describe('when argument is not an Error', function() { var err; @@ -713,6 +735,13 @@ describe('Runner', function() { }); }); + describe('when argument is a Pending', function() { + it('should ignore argument and return', function() { + var err = new Pending(); + expect(runner.uncaught(err), 'to be undefined'); + }); + }); + describe('when argument is an Error', function() { var err; beforeEach(function() {