Skip to content

Commit 8bf8861

Browse files
committed
handle syntax errors
1 parent 39a433d commit 8bf8861

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

bin/formats/phpt.js

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ module.exports = {
3737
engine.parser.debug && console.log('> ' + test.buffer.trim());
3838
continue;
3939
}
40-
if (test.mode === 'FILE') {
40+
var mode = test.mode.split(':');
41+
if (mode[0] === 'FILE') {
4142
try {
4243
var ast = engine.parseCode(test.buffer);
4344
if (engine.parser.debug) {
@@ -51,9 +52,23 @@ module.exports = {
5152
)
5253
);
5354
}
55+
if (mode.length > 1 && mode[1] === 'FAIL') {
56+
ok = false;
57+
console.log('Should fail at line ' + mode[2]);
58+
}
5459
} catch(e) {
55-
console.log(e.stack);
56-
ok = false;
60+
if (mode.length > 1 && mode[1] === 'FAIL') {
61+
if (engine.parser.lastError.line != mode[2]) {
62+
ok = false;
63+
console.log(
64+
'Expected to fail at line ' + mode[2] +
65+
' but fail at ' + engine.parser.lastError.line
66+
);
67+
}
68+
} else {
69+
console.log(e.stack);
70+
ok = false;
71+
}
5772
}
5873
} else {
5974
engine.parser.debug && console.log('IGNORE ' + test.mode);

0 commit comments

Comments
 (0)