1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/usr/bin/env node
- /* -*- Mode: js; js-indent-level: 2; -*- */
- /*
- * Copyright 2011 Mozilla Foundation and contributors
- * Licensed under the New BSD license. See LICENSE or:
- * http://opensource.org/licenses/BSD-3-Clause
- */
- var assert = require('assert');
- var fs = require('fs');
- var path = require('path');
- var util = require('./source-map/util');
- function run(tests) {
- var total = 0;
- var passed = 0;
- for (var i = 0; i < tests.length; i++) {
- for (var k in tests[i].testCase) {
- if (/^test/.test(k)) {
- total++;
- try {
- tests[i].testCase[k](assert, util);
- passed++;
- }
- catch (e) {
- console.log('FAILED ' + tests[i].name + ': ' + k + '!');
- console.log(e.stack);
- }
- }
- }
- }
- console.log('');
- console.log(passed + ' / ' + total + ' tests passed.');
- console.log('');
- return total - passed;
- }
- function isTestFile(f) {
- var testToRun = process.argv[2];
- return testToRun
- ? path.basename(testToRun) === f
- : /^test\-.*?\.js/.test(f);
- }
- function toModule(f) {
- return './source-map/' + f.replace(/\.js$/, '');
- }
- var requires = fs.readdirSync(path.join(__dirname, 'source-map'))
- .filter(isTestFile)
- .map(toModule);
- var code = run(requires.map(require).map(function (mod, i) {
- return {
- name: requires[i],
- testCase: mod
- };
- }));
- process.exit(code);
|