diff --git a/lib/repl.js b/lib/repl.js index 84441ef130c..c726065e3f6 100644 --- a/lib/repl.js +++ b/lib/repl.js @@ -923,6 +923,5 @@ function isSyntaxError(e) { // "strict mode" syntax errors !e.match(/^SyntaxError: .*strict mode.*/i) && // JSON.parse() error - !(e.match(/^SyntaxError: Unexpected (token .*|end of input)/) && - e.match(/\n {4}at Object.parse \(native\)\n/)); + !e.match(/\n {4}at Object.parse \(native\)\n/); } diff --git a/test/simple/test-repl.js b/test/simple/test-repl.js index 27c2058b013..2c04e2c1bdf 100644 --- a/test/simple/test-repl.js +++ b/test/simple/test-repl.js @@ -134,6 +134,9 @@ function error_test() { expect: /^SyntaxError: Unexpected token i/ }, // end of input to JSON.parse error is special case of syntax error, // should throw + { client: client_unix, send: 'JSON.parse(\'066\');', + expect: /^SyntaxError: Unexpected number/ }, + // should throw { client: client_unix, send: 'JSON.parse(\'{\');', expect: /^SyntaxError: Unexpected end of input/ }, // invalid RegExps are a special case of syntax error,