From d444da0399d58538580219b6d61078395c5af800 Mon Sep 17 00:00:00 2001 From: juergba Date: Wed, 22 Jan 2020 11:50:14 +0100 Subject: [PATCH] additional test --- .../fixtures/pending/programmatic.fixture.js | 8 ++++++ test/integration/pending.spec.js | 26 ++++++++++++++++--- 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 test/integration/fixtures/pending/programmatic.fixture.js diff --git a/test/integration/fixtures/pending/programmatic.fixture.js b/test/integration/fixtures/pending/programmatic.fixture.js new file mode 100644 index 0000000000..65720be64c --- /dev/null +++ b/test/integration/fixtures/pending/programmatic.fixture.js @@ -0,0 +1,8 @@ +'use strict'; +const Mocha = require('../../../../lib/mocha'); + +const mocha = new Mocha({reporter: 'json'}); +mocha.addFile("./test/integration/fixtures/__default__.fixture.js"); + +const runner = mocha.run(); +runner.on('test', function (test) { test.pending = true; }); diff --git a/test/integration/pending.spec.js b/test/integration/pending.spec.js index 7179ff187b..71d337b66e 100644 --- a/test/integration/pending.spec.js +++ b/test/integration/pending.spec.js @@ -1,9 +1,12 @@ 'use strict'; var assert = require('assert'); -var run = require('./helpers').runMochaJSON; -var runMocha = require('./helpers').runMocha; -var splitRegExp = require('./helpers').splitRegExp; +var helpers = require('./helpers'); +var run = helpers.runMochaJSON; +var runMocha = helpers.runMocha; +var splitRegExp = helpers.splitRegExp; +var invokeNode = helpers.invokeNode; +var toJSONRunResult = helpers.toJSONRunResult; var args = []; describe('pending', function() { @@ -323,4 +326,21 @@ describe('pending', function() { }); }); }); + + describe('programmatic usage', function() { + it('should skip the test listening to test event', function(done) { + var path = require.resolve('./fixtures/pending/programmatic.fixture.js'); + invokeNode([path], function(err, res) { + if (err) { + return done(err); + } + var result = toJSONRunResult(res); + expect(result, 'to have passed') + .and('to have passed test count', 0) + .and('to have pending test count', 1) + .and('to have pending test order', 'should succeed'); + done(); + }); + }); + }); });