fix duplicated test names

previously test cases with the same name would be skipped except for the last one

`test/run-test.js` will now report duplicated names as errors

closes #1461
This commit is contained in:
alexlamsl
2017-02-18 19:15:09 +08:00
parent 6ffbecb72b
commit c525a2b190
4 changed files with 97 additions and 4 deletions

View File

@@ -10,7 +10,7 @@ drop_console_1: {
} }
} }
drop_console_1: { drop_console_2: {
options = { drop_console: true }; options = { drop_console: true };
input: { input: {
console.log('foo'); console.log('foo');

View File

@@ -0,0 +1,90 @@
statements: {
options = {
hoist_funs: false,
hoist_vars: true,
}
input: {
function f() {
var a = 1;
var b = 2;
var c = 3;
function g() {}
return g(a, b, c);
}
}
expect: {
function f() {
var a = 1, b = 2, c = 3;
function g() {}
return g(a, b, c);
}
}
}
statements_funs: {
options = {
hoist_funs: true,
hoist_vars: true,
}
input: {
function f() {
var a = 1;
var b = 2;
var c = 3;
function g() {}
return g(a, b, c);
}
}
expect: {
function f() {
function g() {}
var a = 1, b = 2, c = 3;
return g(a, b, c);
}
}
}
sequences: {
options = {
hoist_funs: false,
hoist_vars: true,
}
input: {
function f() {
var a = 1, b = 2;
function g() {}
var c = 3;
return g(a, b, c);
}
}
expect: {
function f() {
var c, a = 1, b = 2;
function g() {}
c = 3;
return g(a, b, c);
}
}
}
sequences_funs: {
options = {
hoist_funs: true,
hoist_vars: true,
}
input: {
function f() {
var a = 1, b = 2;
function g() {}
var c = 3;
return g(a, b, c);
}
}
expect: {
function f() {
function g() {}
var a = 1, b = 2, c = 3;
return g(a, b, c);
}
}
}

View File

@@ -58,7 +58,7 @@ negate_iife_3_off: {
} }
} }
negate_iife_3: { negate_iife_4: {
options = { options = {
negate_iife: true, negate_iife: true,
conditionals: true, conditionals: true,
@@ -112,7 +112,7 @@ sequence_off: {
} }
} }
negate_iife_4: { negate_iife_5: {
options = { options = {
negate_iife: true, negate_iife: true,
sequences: true, sequences: true,
@@ -135,7 +135,7 @@ negate_iife_4: {
} }
} }
negate_iife_4_off: { negate_iife_5_off: {
options = { options = {
negate_iife: false, negate_iife: false,
sequences: true, sequences: true,

View File

@@ -194,6 +194,9 @@ function parse_test(file) {
if (node instanceof U.AST_LabeledStatement if (node instanceof U.AST_LabeledStatement
&& tw.parent() instanceof U.AST_Toplevel) { && tw.parent() instanceof U.AST_Toplevel) {
var name = node.label.name; var name = node.label.name;
if (name in tests) {
throw new Error('Duplicated test name "' + name + '" in ' + file);
}
tests[name] = get_one_test(name, node.body); tests[name] = get_one_test(name, node.body);
return true; return true;
} }