cleanup unit tests

This commit is contained in:
Fabian Jakobs 2012-04-06 17:55:23 +02:00
commit cbd29bc541
7 changed files with 53 additions and 51 deletions

View file

@ -178,7 +178,8 @@ var Document = function(text) {
position = this.$clipPosition(position);
if (this.getLength() >= 1)
// only detect new lines if the document has no line break yet
if (this.getLength() <= 1)
this.$detectNewLine(text);
var lines = this.$split(text);

View file

@ -59,12 +59,12 @@ module.exports = {
}
};
},
"test check for syntax error": function() {
var worker = new JavaScriptWorker(this.sender);
worker.setValue("Juhu Kinners");
worker.deferredUpdate.call();
var error = this.sender.events[0][1];
assert.equal(error.text, "missing ; before statement");
assert.equal(error.type, "error");
@ -76,15 +76,14 @@ module.exports = {
var worker = new JavaScriptWorker(this.sender);
worker.setValue('"a\n\\nn"');
worker.deferredUpdate.call();
console.log(this.sender.events)
var error = this.sender.events[0][1];
assert.equal(error.text, "Unterminated string literal");
assert.equal(error.type, "error");
assert.equal(error.row, 0);
assert.equal(error.column, null);
},
"test check for narcissus bug": function() {
var worker = new JavaScriptWorker(this.sender);
worker.setValue("if('");

View file

@ -20,7 +20,6 @@
*
* Contributor(s):
* Fabian Jakobs <fabian AT ajax DOT org>
* Mihai Sucan <mihai DOT sucan AT gmail DOT com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
@ -37,6 +36,7 @@
* ***** END LICENSE BLOCK ***** */
define(function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var CssHighlightRules = require("./css_highlight_rules").CssHighlightRules;
@ -100,11 +100,11 @@ var LiquidHighlightRules = function() {
next : "comment"
}, {
token : "meta.tag",
regex : "<(?=\s*script\\b)",
regex : "<(?=\\s*script\\b)",
next : "script"
}, {
token : "meta.tag",
regex : "<(?=\s*style\\b)",
regex : "<(?=\\s*style\\b)",
next : "style"
}, {
token : "meta.tag", // opening tag
@ -184,14 +184,14 @@ var LiquidHighlightRules = function() {
regex : "\/|\\*|\\-|\\+|=|!=|\\?\\:"
}, {
token : "paren.lparen",
regex : "[[({]"
regex : /[\[\({]/
}, {
token : "paren.rparen",
regex : "[\\])}]"
regex : /[\])}]/
}, {
token : "text",
regex : "\\s+"
}, ]
}]
};
xmlUtil.tag(this.$rules, "tag", "start");

View file

@ -55,22 +55,22 @@ module.exports = {
"test: tokenize tags" : function() {
var line = "for one in many";
var tokens = this.tokenizer.getLineTokens(line, "start").tokens;
var tokens = this.tokenizer.getLineTokens(line, "liquid_start").tokens;
assert.equal(5, tokens.length);
assert.equal(7, tokens.length);
assert.equal("keyword", tokens[0].type);
assert.equal("text", tokens[1].type);
assert.equal("text", tokens[2].type);
assert.equal("identifier", tokens[2].type);
assert.equal("text", tokens[3].type);
assert.equal("keyword.operator", tokens[3].type);
assert.equal("text", tokens[4].type);
assert.equal("keyword", tokens[4].type);
assert.equal("text", tokens[5].type);
assert.equal("identifier", tokens[6].type);
},
"test: tokenize parens" : function() {
var line = "[{( )}]";
var tokens = this.tokenizer.getLineTokens(line, "start").tokens;
var tokens = this.tokenizer.getLineTokens(line, "liquid_start").tokens;
assert.equal(7, tokens.length);
assert.equal("paren.lparen", tokens[0].type);

View file

@ -48,7 +48,7 @@ var MockRenderer = exports.MockRenderer = function(visibleRowCount) {
};
this.isMockRenderer = true;
this.$gutter = {};
};
@ -103,7 +103,7 @@ MockRenderer.prototype.updateCursor = function() {
MockRenderer.prototype.scrollToX = function(scrollTop) {};
MockRenderer.prototype.scrollToY = function(scrollLeft) {};
MockRenderer.prototype.scrollToLine = function(line, center) {
var lineHeight = { lineHeight: 16 };
var row = 0;
@ -117,6 +117,9 @@ MockRenderer.prototype.scrollToLine = function(line, center) {
this.scrollToRow(row);
};
MockRenderer.prototype.scrollSelectionIntoView = function() {
};
MockRenderer.prototype.scrollCursorIntoView = function() {
var cursor = this.session.getSelection().getCursor();
if (cursor.row < this.layerConfig.firstVisibleRow) {
@ -179,7 +182,7 @@ MockRenderer.prototype.textToScreenCoordinates = function() {
};
MockRenderer.prototype.adjustWrapLimit = function () {
};
});

View file

@ -56,17 +56,17 @@ module.exports = {
" } // Real Tab.",
"}"
];
var session = new EditSession(lines.join("\n"), new JavaScriptMode());
var session = new EditSession(lines.join("\n"), new JavaScriptMode());
var iterator = new TokenIterator(session, 0, 0);
assert.equal(iterator.getCurrentToken().value, "function");
assert.equal(iterator.getCurrentTokenRow(), 0);
assert.equal(iterator.getCurrentTokenColumn(), 0);
iterator.stepForward();
assert.equal(iterator.getCurrentToken().value, " ");
assert.equal(iterator.getCurrentTokenRow(), 0);
assert.equal(iterator.getCurrentTokenColumn(), 8);
assert.equal(iterator.getCurrentTokenColumn(), 8);
var iterator = new TokenIterator(session, 0, 4);
assert.equal(iterator.getCurrentToken().value, "function");
@ -76,7 +76,7 @@ module.exports = {
iterator.stepForward();
assert.equal(iterator.getCurrentToken().value, " ");
assert.equal(iterator.getCurrentTokenRow(), 0);
assert.equal(iterator.getCurrentTokenColumn(), 8);
assert.equal(iterator.getCurrentTokenColumn(), 8);
var iterator = new TokenIterator(session, 2, 18);
assert.equal(iterator.getCurrentToken().value, "items");
@ -86,8 +86,8 @@ module.exports = {
iterator.stepForward();
assert.equal(iterator.getCurrentToken().value, "[");
assert.equal(iterator.getCurrentTokenRow(), 2);
assert.equal(iterator.getCurrentTokenColumn(), 19);
assert.equal(iterator.getCurrentTokenColumn(), 19);
var iterator = new TokenIterator(session, 4, 0);
assert.equal(iterator.getCurrentToken().value, "}");
assert.equal(iterator.getCurrentTokenRow(), 4);
@ -96,21 +96,21 @@ module.exports = {
iterator.stepBackward();
assert.equal(iterator.getCurrentToken().value, "// Real Tab.");
assert.equal(iterator.getCurrentTokenRow(), 3);
assert.equal(iterator.getCurrentTokenColumn(), 6);
assert.equal(iterator.getCurrentTokenColumn(), 6);
var iterator = new TokenIterator(session, 5, 0);
assert.equal(iterator.getCurrentToken(), null);
},
"test: token iterator initialization in text document" : function() {
var lines = [
"Lorem ipsum dolor sit amet, consectetur adipisicing elit,",
"Lorem ipsum dolor sit amet, consectetur adipisicing elit,",
"sed do eiusmod tempor incididunt ut labore et dolore magna",
"aliqua. Ut enim ad minim veniam, quis nostrud exercitation",
"aliqua. Ut enim ad minim veniam, quis nostrud exercitation",
"ullamco laboris nisi ut aliquip ex ea commodo consequat."
];
var session = new EditSession(lines.join("\n"));
var iterator = new TokenIterator(session, 0, 0);
assert.equal(iterator.getCurrentToken().value, lines[0]);
assert.equal(iterator.getCurrentTokenRow(), 0);
@ -125,16 +125,16 @@ module.exports = {
assert.equal(iterator.getCurrentToken().value, lines[2]);
assert.equal(iterator.getCurrentTokenRow(), 2);
assert.equal(iterator.getCurrentTokenColumn(), 0);
var iterator = new TokenIterator(session, 3, lines[3].length-1);
assert.equal(iterator.getCurrentToken().value, lines[3]);
assert.equal(iterator.getCurrentTokenRow(), 3);
assert.equal(iterator.getCurrentTokenColumn(), 0);
var iterator = new TokenIterator(session, 4, 0);
assert.equal(iterator.getCurrentToken(), null);
},
},
"test: token iterator step forward in JavaScript document" : function() {
var lines = [
"function foo(items) {",
@ -143,10 +143,10 @@ module.exports = {
" } // Real Tab.",
"}"
];
var session = new EditSession(lines.join("\n"), new JavaScriptMode());
var session = new EditSession(lines.join("\n"), new JavaScriptMode());
var rows = session.getTokens(0, lines.length-1);
var tokens = [];
var tokens = [];
for (var i = 0; i < rows.length; i++)
tokens = tokens.concat(rows[i].tokens);
@ -156,7 +156,7 @@ module.exports = {
assert.equal(iterator.stepForward(), null);
assert.equal(iterator.getCurrentToken(), null);
},
"test: token iterator step backward in JavaScript document" : function() {
var lines = [
"function foo(items) {",
@ -165,13 +165,13 @@ module.exports = {
" } // Real Tab.",
"}"
];
var session = new EditSession(lines.join("\n"), new JavaScriptMode());
var session = new EditSession(lines.join("\n"), new JavaScriptMode());
var rows = session.getTokens(0, lines.length-1);
var tokens = [];
var tokens = [];
for (var i = 0; i < rows.length; i++)
tokens = tokens.concat(rows[i].tokens);
var iterator = new TokenIterator(session, 4, 0);
for (var i = tokens.length-2; i >= 0; i--)
assert.equal(iterator.stepBackward(), tokens[i]);
@ -187,13 +187,13 @@ module.exports = {
" } // Real Tab.",
"}"
];
var session = new EditSession(lines.join("\n"), new JavaScriptMode());
var session = new EditSession(lines.join("\n"), new JavaScriptMode());
var iterator = new TokenIterator(session, 0, 0);
iterator.stepForward();
iterator.stepForward();
assert.equal(iterator.getCurrentToken().value, "foo");
assert.equal(iterator.getCurrentTokenRow(), 0);
assert.equal(iterator.getCurrentTokenColumn(), 9);
@ -205,8 +205,7 @@ module.exports = {
iterator.stepForward();
iterator.stepForward();
iterator.stepForward();
iterator.stepForward();
assert.equal(iterator.getCurrentToken().value, "for");
assert.equal(iterator.getCurrentTokenRow(), 1);
assert.equal(iterator.getCurrentTokenColumn(), 4);

View file

@ -16,9 +16,9 @@
"devDependencies": {
"asyncjs": "0.0.x",
"jsdom": "0.2.x",
"amd-loader": ">=0.0.3",
"amd-loader": "~0.0.4",
"libxml": "0.0.x",
"dryice": ">=0.4.1"
"dryice": "~0.4.1"
},
"licenses": [{