52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
var fs = require('fs');
|
||
|
var assert = require('assert');
|
||
|
var lineJSON = require('line-json');
|
||
|
var strip = require('../');
|
||
|
|
||
|
var dir = __dirname + '/cases/';
|
||
|
fs.readdirSync(dir).forEach(function (testCase) {
|
||
|
if (/\.input\.json$/.test(testCase)) {
|
||
|
test(testCase, function () {
|
||
|
var stem = testCase.replace(/\.input\.json$/, '.');
|
||
|
|
||
|
function test (name, options) {
|
||
|
var input = fs.readFileSync(dir + testCase, 'utf8');
|
||
|
input = lineJSON.parse(input);
|
||
|
|
||
|
var result = strip(input, options);
|
||
|
expect(result).toMatchSnapshot();
|
||
|
}
|
||
|
|
||
|
test('unbuffered');
|
||
|
test('buffered', { stripBuffered: true, stripUnbuffered: false });
|
||
|
test('both', { stripBuffered: true });
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
var edir = __dirname + '/errors/';
|
||
|
fs.readdirSync(edir).forEach(function (testCase) {
|
||
|
if (/\.input\.json$/.test(testCase)) {
|
||
|
test(testCase, function () {
|
||
|
var stem = testCase.replace(/\.input\.json$/, '.');
|
||
|
|
||
|
var input = fs.readFileSync(edir + testCase, 'utf8');
|
||
|
input = lineJSON.parse(input);
|
||
|
|
||
|
try {
|
||
|
strip(input);
|
||
|
throw new Error('Expected ' + testCase + ' to throw an exception.');
|
||
|
} catch (ex) {
|
||
|
if (!ex || !ex.code || !ex.code.indexOf('PUG:') === 0) throw ex;
|
||
|
expect({
|
||
|
msg: ex.msg,
|
||
|
code: ex.code,
|
||
|
line: ex.line
|
||
|
}).toMatchSnapshot();
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
});
|