From a4cfa86942b8e85c1257a83da425c721fabf50c7 Mon Sep 17 00:00:00 2001 From: juergba Date: Fri, 10 Jan 2020 11:47:47 +0100 Subject: [PATCH] additional test --- .../fixtures/uncaught/listeners.fixture.js | 12 ++++++++++++ test/integration/uncaught.spec.js | 12 ++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 test/integration/fixtures/uncaught/listeners.fixture.js diff --git a/test/integration/fixtures/uncaught/listeners.fixture.js b/test/integration/fixtures/uncaught/listeners.fixture.js new file mode 100644 index 0000000000..3ad398cfe0 --- /dev/null +++ b/test/integration/fixtures/uncaught/listeners.fixture.js @@ -0,0 +1,12 @@ +'use strict'; + +const assert = require('assert'); +const mocha = require("../../../../lib/mocha"); + +for (let i = 0; i < 15; i++) { + const r = new mocha.Runner(new mocha.Suite("" + i, undefined)); + r.run(); +} + +assert.equal(process.listenerCount('uncaughtException'), 1); +assert.equal(process.listeners('uncaughtException')[0].name, 'uncaughtEnd'); diff --git a/test/integration/uncaught.spec.js b/test/integration/uncaught.spec.js index 3b7e684925..7d673b1eaa 100644 --- a/test/integration/uncaught.spec.js +++ b/test/integration/uncaught.spec.js @@ -86,4 +86,16 @@ describe('uncaught exceptions', function() { done(); }); }); + + it('removes uncaught exceptions handlers correctly', function(done) { + run('uncaught/listeners.fixture.js', args, function(err, res) { + if (err) { + return done(err); + } + + expect(res, 'to have passed').and('to have passed test count', 0); + + done(); + }); + }); });