mirror of https://github.com/lukechilds/ava.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.7 KiB
88 lines
2.7 KiB
'use strict';
|
|
const path = require('path');
|
|
const test = require('tap').test;
|
|
const chalk = require('chalk');
|
|
const figures = require('figures');
|
|
const RunStatus = require('../lib/run-status');
|
|
|
|
const sep = ' ' + chalk.gray.dim(figures.pointerSmall) + ' ';
|
|
|
|
test('prefixTitle returns empty if prefixTitles == false', t => {
|
|
const runStatus = new RunStatus({prefixTitles: false});
|
|
t.is(runStatus.prefixTitle('test/run-status.js'), '');
|
|
t.end();
|
|
});
|
|
|
|
test('prefixTitle removes base if found at start of path', t => {
|
|
const runStatus = new RunStatus({base: `test${path.sep}`});
|
|
t.is(runStatus.prefixTitle(path.normalize('test/run-status.js')), `run-status${sep}`);
|
|
t.end();
|
|
});
|
|
|
|
test('prefixTitle does not remove base if found but not at start of path', t => {
|
|
const runStatus = new RunStatus({base: path.sep});
|
|
t.is(runStatus.prefixTitle(path.normalize('test/run-status.js')), `test${sep}run-status${sep}`);
|
|
t.end();
|
|
});
|
|
|
|
test('prefixTitle removes .js extension', t => {
|
|
const runStatus = new RunStatus({base: path.sep});
|
|
t.is(runStatus.prefixTitle('run-status.js'), `run-status${sep}`);
|
|
t.end();
|
|
});
|
|
|
|
test('prefixTitle does not remove .js from middle of path', t => {
|
|
const runStatus = new RunStatus({base: path.sep});
|
|
t.is(runStatus.prefixTitle('run-.js-status.js'), `run-.js-status${sep}`);
|
|
t.end();
|
|
});
|
|
|
|
test('prefixTitle removes __tests__ from path', t => {
|
|
const runStatus = new RunStatus({base: path.sep});
|
|
t.is(runStatus.prefixTitle(path.normalize('backend/__tests__/run-status.js')), `backend${sep}run-status${sep}`);
|
|
t.end();
|
|
});
|
|
|
|
test('prefixTitle removes .spec from path', t => {
|
|
const runStatus = new RunStatus({base: path.sep});
|
|
t.is(runStatus.prefixTitle(path.normalize('backend/run-status.spec.js')), `backend${sep}run-status${sep}`);
|
|
t.end();
|
|
});
|
|
|
|
test('prefixTitle removes .test from path', t => {
|
|
const runStatus = new RunStatus({base: path.sep});
|
|
t.is(runStatus.prefixTitle(path.normalize('backend/run-status.test.js')), `backend${sep}run-status${sep}`);
|
|
t.end();
|
|
});
|
|
|
|
test('prefixTitle removes test- from path', t => {
|
|
const runStatus = new RunStatus({base: path.sep});
|
|
t.is(runStatus.prefixTitle(path.normalize('backend/test-run-status.js')), `backend${sep}run-status${sep}`);
|
|
t.end();
|
|
});
|
|
|
|
test('successfully initializes without any options provided', t => {
|
|
const runStatus = new RunStatus();
|
|
t.is(runStatus.base, '');
|
|
t.end();
|
|
});
|
|
|
|
test('calculate remaining test count', t => {
|
|
const runStatus = new RunStatus();
|
|
runStatus.testCount = 10;
|
|
|
|
const results = [{
|
|
stats: {
|
|
passCount: 1,
|
|
failCount: 1,
|
|
skipCount: 1,
|
|
todoCount: 1,
|
|
knownFailureCount: 1
|
|
}
|
|
}];
|
|
|
|
runStatus.processResults(results);
|
|
|
|
t.is(runStatus.remainingCount, 5);
|
|
t.end();
|
|
});
|
|
|