Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80556 views
1
#!/usr/bin/env node
2
/* -*- Mode: js; js-indent-level: 2; -*- */
3
/*
4
* Copyright 2011 Mozilla Foundation and contributors
5
* Licensed under the New BSD license. See LICENSE or:
6
* http://opensource.org/licenses/BSD-3-Clause
7
*/
8
var assert = require('assert');
9
var fs = require('fs');
10
var path = require('path');
11
var util = require('./source-map/util');
12
13
function run(tests) {
14
var failures = [];
15
var total = 0;
16
var passed = 0;
17
18
for (var i = 0; i < tests.length; i++) {
19
for (var k in tests[i].testCase) {
20
if (/^test/.test(k)) {
21
total++;
22
try {
23
tests[i].testCase[k](assert, util);
24
passed++;
25
}
26
catch (e) {
27
console.log('FAILED ' + tests[i].name + ': ' + k + '!');
28
console.log(e.stack);
29
}
30
}
31
}
32
}
33
34
console.log("");
35
console.log(passed + ' / ' + total + ' tests passed.');
36
console.log("");
37
38
failures.forEach(function (f) {
39
});
40
41
return failures.length;
42
}
43
44
var code;
45
46
process.stdout.on('close', function () {
47
process.exit(code);
48
});
49
50
function isTestFile(f) {
51
var testToRun = process.argv[2];
52
return testToRun
53
? path.basename(testToRun) === f
54
: /^test\-.*?\.js/.test(f);
55
}
56
57
function toModule(f) {
58
return './source-map/' + f.replace(/\.js$/, '');
59
}
60
61
var requires = fs.readdirSync(path.join(__dirname, 'source-map'))
62
.filter(isTestFile)
63
.map(toModule);
64
65
code = run(requires.map(require).map(function (mod, i) {
66
return {
67
name: requires[i],
68
testCase: mod
69
};
70
}));
71
process.exit(code);
72
73