minimise code changes
This commit is contained in:
parent
c35069e80b
commit
4d8e03b719
|
|
@ -9,25 +9,26 @@ var assert = require("assert");
|
||||||
var vm = require("vm");
|
var vm = require("vm");
|
||||||
|
|
||||||
var tests_dir = path.dirname(module.filename);
|
var tests_dir = path.dirname(module.filename);
|
||||||
|
var failures = 0;
|
||||||
|
var failed_files = {};
|
||||||
|
|
||||||
run_compress_tests(function(failures, failed_files) {
|
run_compress_tests();
|
||||||
if (failures) {
|
if (failures) {
|
||||||
console.error("\n!!! Failed " + failures + " test cases.");
|
console.error("\n!!! Failed " + failures + " test cases.");
|
||||||
console.error("!!! " + Object.keys(failed_files).join(", "));
|
console.error("!!! " + Object.keys(failed_files).join(", "));
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
var mocha_tests = require("./mocha.js");
|
var mocha_tests = require("./mocha.js");
|
||||||
mocha_tests();
|
mocha_tests();
|
||||||
|
|
||||||
var run_sourcemaps_tests = require('./sourcemaps');
|
var run_sourcemaps_tests = require('./sourcemaps');
|
||||||
run_sourcemaps_tests();
|
run_sourcemaps_tests();
|
||||||
|
|
||||||
var run_ast_conversion_tests = require("./mozilla-ast");
|
var run_ast_conversion_tests = require("./mozilla-ast");
|
||||||
|
|
||||||
run_ast_conversion_tests({
|
run_ast_conversion_tests({
|
||||||
iterations: 1000
|
iterations: 1000
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/* -----[ utils ]----- */
|
/* -----[ utils ]----- */
|
||||||
|
|
@ -79,20 +80,13 @@ function as_toplevel(input, mangle_options) {
|
||||||
return toplevel;
|
return toplevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
function run_compress_tests(done) {
|
function run_compress_tests() {
|
||||||
var failures = 0;
|
|
||||||
var failed_files = {};
|
|
||||||
var dir = test_directory("compress");
|
var dir = test_directory("compress");
|
||||||
log_directory("compress");
|
log_directory("compress");
|
||||||
var files = find_test_files(dir);
|
var files = find_test_files(dir);
|
||||||
!function test_file() {
|
function test_file(file) {
|
||||||
var file = files.shift();
|
|
||||||
if (!file) return done(failures, failed_files);
|
|
||||||
log_start_file(file);
|
log_start_file(file);
|
||||||
var tests = parse_test(path.resolve(dir, file));
|
function test_case(test) {
|
||||||
!function test_case() {
|
|
||||||
var test = tests.shift();
|
|
||||||
if (!test) return test_file();
|
|
||||||
log_test(test.name);
|
log_test(test.name);
|
||||||
U.base54.reset();
|
U.base54.reset();
|
||||||
var options = U.defaults(test.options, {
|
var options = U.defaults(test.options, {
|
||||||
|
|
@ -215,9 +209,15 @@ function run_compress_tests(done) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
test_case();
|
}
|
||||||
}();
|
var tests = parse_test(path.resolve(dir, file));
|
||||||
}();
|
for (var i in tests) if (tests.hasOwnProperty(i)) {
|
||||||
|
test_case(tests[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
files.forEach(function(file){
|
||||||
|
test_file(file);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function parse_test(file) {
|
function parse_test(file) {
|
||||||
|
|
@ -232,7 +232,7 @@ function parse_test(file) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
var tests = Object.create(null);
|
var tests = {};
|
||||||
var tw = new U.TreeWalker(function(node, descend){
|
var tw = new U.TreeWalker(function(node, descend){
|
||||||
if (node instanceof U.AST_LabeledStatement
|
if (node instanceof U.AST_LabeledStatement
|
||||||
&& tw.parent() instanceof U.AST_Toplevel) {
|
&& tw.parent() instanceof U.AST_Toplevel) {
|
||||||
|
|
@ -246,9 +246,7 @@ function parse_test(file) {
|
||||||
if (!(node instanceof U.AST_Toplevel)) croak(node);
|
if (!(node instanceof U.AST_Toplevel)) croak(node);
|
||||||
});
|
});
|
||||||
ast.walk(tw);
|
ast.walk(tw);
|
||||||
return Object.keys(tests).map(function(name) {
|
return tests;
|
||||||
return tests[name];
|
|
||||||
});
|
|
||||||
|
|
||||||
function croak(node) {
|
function croak(node) {
|
||||||
throw new Error(tmpl("Can't understand test file {file} [{line},{col}]\n{code}", {
|
throw new Error(tmpl("Can't understand test file {file} [{line},{col}]\n{code}", {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user