Added some tests
This commit is contained in:
25
tests/node_modules/tap-out/lib/assert.js
generated
vendored
Normal file
25
tests/node_modules/tap-out/lib/assert.js
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
var expr = require('./utils/regexes');
|
||||
|
||||
var exports = module.exports = function (line) {
|
||||
|
||||
var m = expr.ok.exec(line);
|
||||
|
||||
return {
|
||||
type: 'assert',
|
||||
raw: line,
|
||||
ok: !m[1],
|
||||
number: m[2] && Number(m[2]),
|
||||
name: m[3],
|
||||
error: {
|
||||
operator: undefined,
|
||||
expected: undefined,
|
||||
actual: undefined,
|
||||
at: undefined
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
exports.equals = function (line) {
|
||||
|
||||
return expr.ok.test(line);
|
||||
};
|
||||
6
tests/node_modules/tap-out/lib/error.js
generated
vendored
Normal file
6
tests/node_modules/tap-out/lib/error.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
module.exports = function (message) {
|
||||
return {
|
||||
type: 'error',
|
||||
message: message
|
||||
};
|
||||
};
|
||||
24
tests/node_modules/tap-out/lib/parse-line.js
generated
vendored
Normal file
24
tests/node_modules/tap-out/lib/parse-line.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
var types = require('./types');
|
||||
|
||||
module.exports = function (line) {
|
||||
|
||||
if (types.is('version', line)) {
|
||||
return types.version(line);
|
||||
}
|
||||
|
||||
if (types.is('result', line)) {
|
||||
return types.result(line);
|
||||
}
|
||||
|
||||
if (types.is('assert', line)) {
|
||||
return types.assert(line);
|
||||
}
|
||||
|
||||
if (types.is('test', line)) {
|
||||
return types.test(line);
|
||||
}
|
||||
|
||||
if (types.is('plan', line)) {
|
||||
return types.plan(line);
|
||||
}
|
||||
};
|
||||
17
tests/node_modules/tap-out/lib/plan.js
generated
vendored
Normal file
17
tests/node_modules/tap-out/lib/plan.js
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
var expr = require('./utils/regexes');
|
||||
|
||||
var exports = module.exports = function (line) {
|
||||
var m = expr.plan.exec(line);
|
||||
return {
|
||||
type: 'plan',
|
||||
raw: line,
|
||||
from: m[1] && Number(m[1]),
|
||||
to: m[2] && Number(m[2]),
|
||||
skip: m[3]
|
||||
};
|
||||
};
|
||||
|
||||
exports.equals = function (line) {
|
||||
|
||||
return expr.plan.test(line);
|
||||
};
|
||||
24
tests/node_modules/tap-out/lib/result.js
generated
vendored
Normal file
24
tests/node_modules/tap-out/lib/result.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
var exports = module.exports = function (line) {
|
||||
|
||||
var m = line
|
||||
.split(' ')
|
||||
.filter(function (item) {
|
||||
|
||||
// Remove blank spaces
|
||||
return item !== '';
|
||||
});
|
||||
|
||||
return {
|
||||
type: 'result',
|
||||
raw: line,
|
||||
name: m[1],
|
||||
count: m[2]
|
||||
};
|
||||
};
|
||||
|
||||
exports.equals = function (line) {
|
||||
|
||||
var p = new RegExp('(#)(\\s+)((?:[a-z][a-z]+))(\\s+)(\\d+)',['i']);
|
||||
|
||||
return p.test(line);
|
||||
};
|
||||
18
tests/node_modules/tap-out/lib/test.js
generated
vendored
Normal file
18
tests/node_modules/tap-out/lib/test.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
var expr = require('./utils/regexes');
|
||||
|
||||
var exports = module.exports = function (line) {
|
||||
|
||||
var m = expr.comment.exec(line);
|
||||
|
||||
return {
|
||||
type: 'test',
|
||||
name: m[1],
|
||||
raw: line
|
||||
};
|
||||
};
|
||||
|
||||
exports.equals = function (line) {
|
||||
|
||||
// TODO: need a more thorough test for this???
|
||||
return line.indexOf('# ') === 0;
|
||||
};
|
||||
17
tests/node_modules/tap-out/lib/types.js
generated
vendored
Normal file
17
tests/node_modules/tap-out/lib/types.js
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
var types = module.exports = {
|
||||
result: require('./result'),
|
||||
assert: require('./assert'),
|
||||
test: require('./test'),
|
||||
version: require('./version'),
|
||||
plan: require('./plan'),
|
||||
is: function (type, line) {
|
||||
|
||||
var type = types[type];
|
||||
|
||||
if (!type) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return type.equals(line);
|
||||
}
|
||||
};
|
||||
8
tests/node_modules/tap-out/lib/utils/regexes.js
generated
vendored
Normal file
8
tests/node_modules/tap-out/lib/utils/regexes.js
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
module.exports = {
|
||||
ok: new RegExp('^(not )?ok\\b(?:(?:\\s+(\\d+))?(?:\\s+(?:(?:\\s*-\\s*)?(.*)))?)?'),
|
||||
result: new RegExp('(#)(\\s+)((?:[a-z][a-z]+))(\\s+)(\\d+)',['i']),
|
||||
plan: /^(\d+)\.\.(\d+)\b(?:\s+#\s+SKIP\s+(.*)$)?/,
|
||||
comment: /^#\s*(.+)/,
|
||||
version: /^TAP\s+version\s+(\d+)/i,
|
||||
label_todo: /^(.*?)\s*#\s*TODO\s+(.*)$/
|
||||
};
|
||||
14
tests/node_modules/tap-out/lib/version.js
generated
vendored
Normal file
14
tests/node_modules/tap-out/lib/version.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
var expr = require('./utils/regexes');
|
||||
|
||||
var exports = module.exports = function (line) {
|
||||
|
||||
return {
|
||||
type: 'version',
|
||||
raw: line
|
||||
};
|
||||
};
|
||||
|
||||
exports.equals = function (line) {
|
||||
|
||||
return expr.version.test(line);
|
||||
};
|
||||
Reference in New Issue
Block a user