Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/mocha-3.1.0/test/integration/retries.spec.js')
-rw-r--r--tests/lib/mocha-3.1.0/test/integration/retries.spec.js106
1 files changed, 106 insertions, 0 deletions
diff --git a/tests/lib/mocha-3.1.0/test/integration/retries.spec.js b/tests/lib/mocha-3.1.0/test/integration/retries.spec.js
new file mode 100644
index 0000000000..ce76545b00
--- /dev/null
+++ b/tests/lib/mocha-3.1.0/test/integration/retries.spec.js
@@ -0,0 +1,106 @@
+var assert = require('assert');
+var helpers = require('./helpers');
+var args = [];
+var bang = require('../../lib/reporters/base').symbols.bang;
+
+describe('retries', function() {
+ it('are ran in correct order', function(done) {
+ helpers.runMocha('retries/hooks.fixture.js', args, function(err, res) {
+ var lines, expected;
+
+ assert(!err);
+
+ lines = res.output.split(helpers.splitRegExp).map(function(line) {
+ return line.trim();
+ }).filter(function(line) {
+ return line.length;
+ }).slice(0, -1);
+
+ expected = [
+ 'before',
+ 'before each 0',
+ 'TEST 0',
+ 'after each 1',
+ 'before each 1',
+ 'TEST 1',
+ 'after each 2',
+ 'before each 2',
+ 'TEST 2',
+ 'after each 3',
+ 'before each 3',
+ 'TEST 3',
+ 'after each 4',
+ 'before each 4',
+ 'TEST 4',
+ bang + 'after each 5',
+ 'after'
+ ];
+
+ expected.forEach(function(line, i) {
+ assert.equal(lines[i], line);
+ });
+
+ assert.equal(res.code, 1);
+ done();
+ });
+ });
+
+ it('should exit early if test passes', function (done) {
+ helpers.runMochaJSON('retries/early-pass.fixture.js', args, function(err, res) {
+ assert(!err);
+ assert.equal(res.stats.passes, 1);
+ assert.equal(res.stats.failures, 0);
+ assert.equal(res.tests[0].currentRetry, 1);
+ assert.equal(res.stats.tests, 1);
+ assert.equal(res.code, 0);
+ done();
+ });
+ });
+
+ it('should let test override', function (done) {
+ helpers.runMochaJSON('retries/nested.fixture.js', args, function(err, res) {
+ assert(!err);
+ assert.equal(res.stats.passes, 0);
+ assert.equal(res.stats.failures, 1);
+ assert.equal(res.stats.tests, 1);
+ assert.equal(res.tests[0].currentRetry, 1);
+ assert.equal(res.code, 1);
+ done();
+ });
+ });
+
+ it('should not hang w/ async test', function (done) {
+ helpers.runMocha('retries/async.fixture.js', args, function(err, res) {
+ var lines, expected;
+
+ assert(!err);
+
+ lines = res.output.split(helpers.splitRegExp).map(function(line) {
+ return line.trim();
+ }).filter(function(line) {
+ return line.length;
+ }).slice(0, -1);
+
+ expected = [
+ 'before',
+ 'before each 0',
+ 'TEST 0',
+ 'after each 1',
+ 'before each 1',
+ 'TEST 1',
+ 'after each 2',
+ 'before each 2',
+ 'TEST 2',
+ 'after each 3',
+ 'after'
+ ];
+
+ expected.forEach(function(line, i) {
+ assert.equal(lines[i], line);
+ });
+
+ assert.equal(res.code, 0);
+ done();
+ });
+ });
+});