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.
177 lines
4.3 KiB
177 lines
4.3 KiB
'use strict';
|
|
var test = require('tap').test;
|
|
var Logger = require('../lib/logger');
|
|
var tap = require('../lib/reporters/tap');
|
|
|
|
test('must be called with new', function (t) {
|
|
t.throws(function () {
|
|
var logger = Logger;
|
|
logger();
|
|
}, {message: 'Class constructor Logger cannot be invoked without \'new\''});
|
|
t.end();
|
|
});
|
|
|
|
test('only call start if supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.start = undefined;
|
|
logger.start();
|
|
t.end();
|
|
});
|
|
|
|
test('only write if start is supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.start = undefined;
|
|
logger.write = t.fail;
|
|
logger.start();
|
|
t.end();
|
|
});
|
|
|
|
test('only call reset if supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.reset = undefined;
|
|
logger.reset();
|
|
t.end();
|
|
});
|
|
|
|
test('only write if reset is supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.reset = undefined;
|
|
logger.write = t.fail;
|
|
logger.reset();
|
|
t.end();
|
|
});
|
|
|
|
test('only call section if supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.section = undefined;
|
|
logger.section();
|
|
t.end();
|
|
});
|
|
|
|
test('only write if section is supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.section = undefined;
|
|
logger.write = t.fail;
|
|
logger.section();
|
|
t.end();
|
|
});
|
|
|
|
test('only call clear if supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.clear = undefined;
|
|
logger.clear();
|
|
t.end();
|
|
});
|
|
|
|
test('only write if clear is supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.clear = undefined;
|
|
logger.write = t.fail;
|
|
logger.clear();
|
|
t.end();
|
|
});
|
|
|
|
test('return false if clear is not supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.clear = undefined;
|
|
t.false(logger.clear());
|
|
t.end();
|
|
});
|
|
|
|
test('return true if clear is supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.clear = function () {};
|
|
t.true(logger.clear());
|
|
t.end();
|
|
});
|
|
|
|
test('writes the reporter reset result', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.reset = function () {
|
|
return 'test reset';
|
|
};
|
|
logger.write = function (str) {
|
|
t.equal(str, 'test reset');
|
|
t.end();
|
|
};
|
|
logger.reset();
|
|
});
|
|
|
|
test('only call unhandledError if supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.unhandledError = undefined;
|
|
logger.unhandledError();
|
|
t.end();
|
|
});
|
|
|
|
test('only write if unhandledError is supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.unhandledError = undefined;
|
|
logger.write = t.fail;
|
|
logger.unhandledError();
|
|
t.end();
|
|
});
|
|
|
|
test('only call finish if supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.finish = undefined;
|
|
logger.finish();
|
|
t.end();
|
|
});
|
|
|
|
test('only write if finish is supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.finish = undefined;
|
|
logger.write = t.fail;
|
|
logger.finish();
|
|
t.end();
|
|
});
|
|
|
|
test('only call write if supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.write = undefined;
|
|
logger.write();
|
|
t.end();
|
|
});
|
|
|
|
test('only call stdout if supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.stdout = undefined;
|
|
logger.stdout();
|
|
t.end();
|
|
});
|
|
|
|
test('don\'t alter data when calling stdout', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.stdout = function (data) {
|
|
t.equal(data, 'test data');
|
|
t.end();
|
|
};
|
|
logger.stdout('test data');
|
|
});
|
|
|
|
test('only call stderr if supported by reporter', function (t) {
|
|
var tapReporter = tap();
|
|
var logger = new Logger(tapReporter);
|
|
tapReporter.stderr = undefined;
|
|
logger.stderr();
|
|
t.end();
|
|
});
|
|
|