fix tests

This commit is contained in:
nightwing 2012-09-02 17:07:55 +04:00
commit 8edefd21a7
2 changed files with 20 additions and 15 deletions

View file

@ -102,7 +102,6 @@ oop.inherits(JavaScriptWorker, Mirror);
return; return;
} }
var errors = []; var errors = [];
var ranges = [];
// jshint reports many false errors // jshint reports many false errors
// report them as error only if code is actually invalid // report them as error only if code is actually invalid
@ -111,11 +110,6 @@ oop.inherits(JavaScriptWorker, Mirror);
eval("throw 0;" + value); eval("throw 0;" + value);
} catch(e) { } catch(e) {
if (e != 0) { if (e != 0) {
errors.push({
row: e.lineNumber,
type: "error",
text: e.message
});
maxErrorLevel = "error"; maxErrorLevel = "error";
} }
} }
@ -133,7 +127,13 @@ oop.inherits(JavaScriptWorker, Mirror);
var type = "warning"; var type = "warning";
if (raw == "Missing semicolon.") { if (raw == "Missing semicolon.") {
type = "info"; var str = error.evidence.substr(error.character);
str = str.charAt(str.search(/\S/));
if (maxErrorLevel == "error" && str && /[\w\d{([]/.test(str)) {
error.reason = 'Missing ";" before statement';
type = "error";
} else
type = "info";
} }
else if (disabledWarningsRe.test(raw)) { else if (disabledWarningsRe.test(raw)) {
continue; continue;

View file

@ -58,11 +58,11 @@ module.exports = {
worker.setValue("Juhu Kinners"); worker.setValue("Juhu Kinners");
worker.deferredUpdate.call(); worker.deferredUpdate.call();
var error = this.sender.events[0][1]; var error = this.sender.events[0][1][0];
assert.equal(error.text, "missing ; before statement"); assert.equal(error.text, 'Missing ";" before statement');
assert.equal(error.type, "error"); assert.equal(error.type, "error");
assert.equal(error.row, 0); assert.equal(error.row, 0);
assert.equal(error.column, null); assert.equal(error.column, 4);
}, },
"test invalid multi line string": function() { "test invalid multi line string": function() {
@ -70,18 +70,23 @@ module.exports = {
worker.setValue('"a\n\\nn"'); worker.setValue('"a\n\\nn"');
worker.deferredUpdate.call(); worker.deferredUpdate.call();
var error = this.sender.events[0][1]; var error = this.sender.events[0][1][0];
assert.equal(error.text, "Unterminated string literal"); assert.equal(error.text, "Unclosed string.");
assert.equal(error.type, "error"); assert.equal(error.type, "error");
assert.equal(error.row, 0); assert.equal(error.row, 0);
assert.equal(error.column, null); assert.equal(error.column, 0);
}, },
"test check for narcissus bug": function() { "test another invalid string": function() {
var worker = new JavaScriptWorker(this.sender); var worker = new JavaScriptWorker(this.sender);
worker.setValue("if('"); worker.setValue("if('");
worker.deferredUpdate.call(); worker.deferredUpdate.call();
assert.equal(this.sender.events[0][1].type, "error");
var error = this.sender.events[0][1][0];
assert.equal(error.text, "Unclosed string.");
assert.equal(error.type, "error");
assert.equal(error.row, 0);
assert.equal(error.column, 3);
} }
}; };