Conflicts:
	lib/ace/test/event_emitter_test.js
This commit is contained in:
Joe Walker 2011-04-21 18:19:11 +01:00
commit 7a33ecbbce
25 changed files with 328 additions and 246 deletions

View file

@ -35,15 +35,18 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var Document = require("ace/document").Document; var Document = require("ace/document").Document;
var Anchor = require("ace/anchor").Anchor; var Anchor = require("ace/anchor").Anchor;
var Range = require("ace/range").Range; var Range = require("ace/range").Range;
var assert = require("./assertions"); var assert = require("ace/test/assertions");
var async = require("asyncjs");
var Test = { module.exports = {
"test create anchor" : function() { "test create anchor" : function() {
var doc = new Document("juhu"); var doc = new Document("juhu");
@ -173,11 +176,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec() }
}

View file

@ -36,14 +36,19 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../support/paths");
require("ace/test/mockdom");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var Document = require("../document").Document, var Document = require("ace/document").Document;
Range = require("../range").Range, var Range = require("ace/range").Range;
assert = require("./assertions"), var assert = require("ace/test/assertions");
async = require("asyncjs"); var async = require("asyncjs");
var Test = { module.exports = {
"test: insert text in line" : function() { "test: insert text in line" : function() {
var doc = new Document(["12", "34"]); var doc = new Document(["12", "34"]);
@ -302,11 +307,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec() }
}

View file

@ -35,17 +35,21 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../support/paths");
require("ace/test/mockdom");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession, var EditSession = require("ace/edit_session").EditSession;
Editor = require("../editor").Editor, var Editor = require("ace/editor").Editor;
UndoManager = require("ace/undomanager").UndoManager, var UndoManager = require("ace/undomanager").UndoManager;
MockRenderer = require("./mockrenderer"), var MockRenderer = require("ace/test/mockrenderer");
Range = require("ace/range").Range, var Range = require("ace/range").Range;
assert = require("./assertions"), var assert = require("ace/test/assertions");
async = require("asyncjs");
var Test = { module.exports = {
"test: find matching opening bracket" : function() { "test: find matching opening bracket" : function() {
var session = new EditSession(["(()(", "())))"]); var session = new EditSession(["(()(", "())))"]);
@ -352,10 +356,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec()
} }

View file

@ -35,16 +35,21 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../support/paths");
require("ace/test/mockdom");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("../edit_session").EditSession, var EditSession = require("ace/edit_session").EditSession;
Editor = require("../editor").Editor, var Editor = require("ace/editor").Editor;
Text = require("../mode/text").Mode, var Text = require("ace/mode/text").Mode;
JavaScriptMode = require("../mode/javascript").Mode, var JavaScriptMode = require("ace/mode/javascript").Mode;
MockRenderer = require("./mockrenderer"), var MockRenderer = require("ace/test/mockrenderer");
assert = require("./assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
setUp : function(next) { setUp : function(next) {
this.session1 = new EditSession(["abc", "def"]); this.session1 = new EditSession(["abc", "def"]);
@ -153,10 +158,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec() }
}

View file

@ -36,14 +36,18 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../support/paths");
require("ace/test/mockdom");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession, var EditSession = require("ace/edit_session").EditSession;
Editor = require("../editor").Editor, var Editor = require("ace/editor").Editor;
MockRenderer = require("./mockrenderer"), var MockRenderer = require("ace/test/mockrenderer");
TextMode = require("ace/mode/text").Mode, var TextMode = require("ace/mode/text").Mode;
assert = require("./assertions"), var assert = require("ace/test/assertions");
async = require("asyncjs");
var lipsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " + var lipsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Mauris at arcu mi, eu lobortis mauris. Quisque ut libero eget " + "Mauris at arcu mi, eu lobortis mauris. Quisque ut libero eget " +
@ -66,7 +70,7 @@ var lipsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"libero vehicula odio, eget bibendum mauris velit eu lorem.\n" + "libero vehicula odio, eget bibendum mauris velit eu lorem.\n" +
"consectetur"; "consectetur";
var Test = { module.exports = {
setUp: function(next) { setUp: function(next) {
this.session = new EditSession(lipsum); this.session = new EditSession(lipsum);
this.editor = new Editor(new MockRenderer(), this.session); this.editor = new Editor(new MockRenderer(), this.session);
@ -204,10 +208,8 @@ var Test = {
}, },
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec() }
}

View file

@ -35,14 +35,19 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../support/paths");
require("ace/test/mockdom");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession, var EditSession = require("ace/edit_session").EditSession;
Editor = require("../editor").Editor, var Editor = require("ace/editor").Editor;
MockRenderer = require("./mockrenderer"), var MockRenderer = require("ace/test/mockrenderer");
assert = require("./assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
createEditSession : function(rows, cols) { createEditSession : function(rows, cols) {
var line = new Array(cols + 1).join("a"); var line = new Array(cols + 1).join("a");
var text = new Array(rows).join(line + "\n") + line; var text = new Array(rows).join(line + "\n") + line;
@ -148,10 +153,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test)
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec(); }
}

View file

@ -35,16 +35,21 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../support/paths");
require("ace/test/mockdom");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession, var EditSession = require("ace/edit_session").EditSession;
Editor = require("../editor").Editor, var Editor = require("ace/editor").Editor;
JavaScriptMode = require("../mode/javascript").Mode, var JavaScriptMode = require("ace/mode/javascript").Mode;
UndoManager = require("../undomanager").UndoManager, var UndoManager = require("ace/undomanager").UndoManager;
MockRenderer = require("./mockrenderer"), var MockRenderer = require("ace/test/mockrenderer");
assert = require("./assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
"test: delete line from the middle" : function() { "test: delete line from the middle" : function() {
var session = new EditSession(["a", "b", "c", "d"].join("\n")); var session = new EditSession(["a", "b", "c", "d"].join("\n"));
var editor = new Editor(new MockRenderer(), session); var editor = new Editor(new MockRenderer(), session);
@ -487,10 +492,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec(); }
}

View file

@ -35,13 +35,17 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession; var EditSession = require("ace/edit_session").EditSession;
var CssMode = require("ace/mode/css").Mode; var CssMode = require("ace/mode/css").Mode;
var assert = require("../assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
setUp : function() { setUp : function() {
this.mode = new CssMode(); this.mode = new CssMode();
}, },
@ -70,10 +74,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec()
} }

View file

@ -35,12 +35,16 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var CssMode = require("ace/mode/css").Mode; var CssMode = require("ace/mode/css").Mode;
var assert = require("../assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
setUp : function() { setUp : function() {
this.tokenizer = new CssMode().getTokenizer(); this.tokenizer = new CssMode().getTokenizer();
}, },
@ -84,11 +88,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test, "css tokenizer");
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec()
} }

View file

@ -35,14 +35,18 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession; var EditSession = require("ace/edit_session").EditSession;
var Range = require("ace/range").Range; var Range = require("ace/range").Range;
var HtmlMode = require("ace/mode/html").Mode; var HtmlMode = require("ace/mode/html").Mode;
var assert = require("../assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
setUp : function() { setUp : function() {
this.mode = new HtmlMode(); this.mode = new HtmlMode();
}, },
@ -62,10 +66,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec();
} }

View file

@ -35,12 +35,16 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var HtmlMode = require("ace/mode/html").Mode; var HtmlMode = require("ace/mode/html").Mode;
var assert = require("../assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
setUp : function() { setUp : function() {
this.tokenizer = new HtmlMode().getTokenizer(); this.tokenizer = new HtmlMode().getTokenizer();
}, },
@ -65,10 +69,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec();
} }

View file

@ -35,14 +35,18 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession; var EditSession = require("ace/edit_session").EditSession;
var Tokenizer = require("ace/tokenizer").Tokenizer; var Tokenizer = require("ace/tokenizer").Tokenizer;
var JavaScriptMode = require("ace/mode/javascript").Mode; var JavaScriptMode = require("ace/mode/javascript").Mode;
var assert = require("../assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
setUp : function() { setUp : function() {
this.mode = new JavaScriptMode(); this.mode = new JavaScriptMode();
}, },
@ -144,10 +148,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec();
} }

View file

@ -35,12 +35,16 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var JavaScriptMode = require("ace/mode/javascript").Mode; var JavaScriptMode = require("ace/mode/javascript").Mode;
var assert = require("../assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
setUp : function() { setUp : function() {
this.tokenizer = new JavaScriptMode().getTokenizer(); this.tokenizer = new JavaScriptMode().getTokenizer();
}, },
@ -106,10 +110,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec();
} }

View file

@ -35,13 +35,17 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession; var EditSession = require("ace/edit_session").EditSession;
var TextMode = require("ace/mode/text").Mode; var TextMode = require("ace/mode/text").Mode;
var assert = require("../assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
setUp : function() { setUp : function() {
this.mode = new TextMode(); this.mode = new TextMode();
}, },
@ -59,10 +63,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec();
} }

View file

@ -35,14 +35,18 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession; var EditSession = require("ace/edit_session").EditSession;
var Tokenizer = require("ace/tokenizer").Tokenizer; var Tokenizer = require("ace/tokenizer").Tokenizer;
var XmlMode = require("ace/mode/xml").Mode; var XmlMode = require("ace/mode/xml").Mode;
var assert = require("../assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
setUp : function() { setUp : function() {
this.mode = new XmlMode(); this.mode = new XmlMode();
}, },
@ -70,10 +74,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec();
} }

View file

@ -35,13 +35,16 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var XmlMode = require("ace/mode/xml").Mode; var XmlMode = require("ace/mode/xml").Mode;
var assert = require("../assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
setUp : function() { setUp : function() {
this.tokenizer = new XmlMode().getTokenizer(); this.tokenizer = new XmlMode().getTokenizer();
}, },
@ -60,10 +63,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec();
} }

View file

@ -35,12 +35,16 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var Range = require("../range").Range, var Range = require("ace/range").Range;
assert = require("./assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
"test: create range": function() { "test: create range": function() {
var range = new Range(1,2,3,4); var range = new Range(1,2,3,4);
@ -161,10 +165,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec(); }
}

View file

@ -36,13 +36,17 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession, var EditSession = require("ace/edit_session").EditSession;
Search = require("../search").Search, var Search = require("ace/search").Search;
assert = require("./assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
"test: configure the search object" : function() { "test: configure the search object" : function() {
var search = new Search(); var search = new Search();
search.set({ search.set({
@ -390,10 +394,8 @@ var Test = {
}, },
}; };
module.exports = require("asyncjs/test").testcase(Test)
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec(); }
}

View file

@ -35,12 +35,16 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession, var EditSession = require("ace/edit_session").EditSession;
assert = require("./assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
createSession : function(rows, cols) { createSession : function(rows, cols) {
var line = new Array(cols + 1).join("a"); var line = new Array(cols + 1).join("a");
var text = new Array(rows).join(line + "\n") + line; var text = new Array(rows).join(line + "\n") + line;
@ -326,10 +330,8 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec() }
}

View file

@ -37,28 +37,5 @@
require("../../../support/paths"); require("../../../support/paths");
require("./mockdom"); var test = require("asyncjs/test");
var async = require("asyncjs"); test.walkTestCases(__dirname + "/..").exec()
async.concat(
require("./anchor_test"),
require("./change_document_test"),
require("./document_test"),
require("./edit_session_test"),
require("./event_emitter_test"),
require("./navigation_test"),
require("./range_test"),
require("./search_test"),
require("./selection_test"),
require("./text_edit_test"),
require("./highlight_selected_word_test"),
require("./mode/css_test"),
require("./mode/css_tokenizer_test"),
require("./mode/html_test"),
require("./mode/html_tokenizer_test"),
require("./mode/javascript_test"),
require("./mode/javascript_tokenizer_test"),
require("./mode/text_test"),
require("./mode/xml_test"),
require("./mode/xml_tokenizer_test")
).exec();

View file

@ -1,6 +1,7 @@
define(function(require, exports, module) { define(function(require, exports, module) {
require("pilot/fixoldbrowsers"); require("pilot/fixoldbrowsers");
var AsyncTest = require("asyncjs/test");
var async = require("asyncjs"); var async = require("asyncjs");
var dom = require("pilot/dom"); var dom = require("pilot/dom");
@ -8,29 +9,34 @@ var passed = 0
var failed = 0 var failed = 0
var log = document.getElementById("log") var log = document.getElementById("log")
async.concat( var tests = [
require("./anchor_test"), require("ace/editor_change_document_test"),
require("./change_document_test"), require("ace/editor_navigation_test"),
require("./document_test"), require("ace/editor_highlight_selected_word_test"),
require("./edit_session_test"), require("ace/editor_text_edit_test"),
require("./event_emitter_test"), require("ace/document_test"),
require("./navigation_test"), require("ace/edit_session_test"),
require("./range_test"), require("ace/test/event_emitter_test"),
require("./search_test"), require("ace/range_test"),
require("./selection_test"), require("ace/search_test"),
require("./text_edit_test"), require("ace/selection_test"),
require("./virtual_renderer_test"), require("ace/virtual_renderer_test"),
require("./highlight_selected_word_test"), require("ace/anchor_test"),
require("./mode/css_test"), require("ace/mode/css_test"),
require("./mode/css_tokenizer_test"), require("ace/mode/css_tokenizer_test"),
require("./mode/html_test"), require("ace/mode/html_test"),
require("./mode/html_tokenizer_test"), require("ace/mode/html_tokenizer_test"),
require("./mode/javascript_test"), require("ace/mode/javascript_test"),
require("./mode/javascript_tokenizer_test"), require("ace/mode/javascript_tokenizer_test"),
require("./mode/text_test"), require("ace/mode/text_test"),
require("./mode/xml_test"), require("ace/mode/xml_test"),
require("./mode/xml_tokenizer_test") require("ace/mode/xml_tokenizer_test")
) ]
async.list(tests)
.expand(function(test) {
return AsyncTest.testcase(test)
}, AsyncTest.TestGenerator)
.run() .run()
.each(function(test, next) { .each(function(test, next) {
var node = document.createElement("div"); var node = document.createElement("div");

View file

@ -270,6 +270,46 @@ exports.Generator = function(source) {
}) })
} }
this.expand = function(inserter, constructor) {
if (!inserter)
return this
var inserter = makeAsync(1, inserter)
var constructor = constructor || this.constructor
var source = this.source;
var spliced = null;
return new constructor(function next(callback) {
if (!spliced) {
source.next(function(err, value) {
if (err)
return callback(err)
inserter(value, function(err, toInsert) {
if (err)
return callback(err)
spliced = toInsert
next(callback)
})
})
}
else {
spliced.next(function(err, value) {
if (err == STOP) {
spliced = null
return next(callback)
}
else if (err)
return callback(err)
callback(err, value)
})
}
})
}
this.sort = function(compare) { this.sort = function(compare) {
var self = this var self = this
var arrGen var arrGen

View file

@ -35,17 +35,21 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../../support/paths");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var oop = require("pilot/oop"); var oop = require("pilot/oop");
EventEmitter = require("pilot/event_emitter").EventEmitter, var EventEmitter = require("pilot/event_emitter").EventEmitter;
assert = require("./assertions"); var assert = require("ace/test/assertions");
var Emitter = function() {}; var Emitter = function() {};
oop.implement(Emitter.prototype, EventEmitter); oop.implement(Emitter.prototype, EventEmitter);
var Test = { module.exports = {
"test: dispatch event with no data" : function() { "test: dispatch event with no data" : function() {
var emitter = new Emitter(); var emitter = new Emitter();
@ -76,6 +80,7 @@ var Test = {
} }
}; };
module.exports = require("asyncjs/test").testcase(Test); if (typeof module !== "undefined" && module === require.main) {
require("asyncjs/test").testcase(module.exports).exec()
}
});

View file

@ -35,15 +35,26 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
if (typeof process !== "undefined") {
require("../../support/paths");
require("ace/test/mockdom");
}
define(function(require, exports, module) { define(function(require, exports, module) {
var EditSession = require("ace/edit_session").EditSession, var EditSession = require("ace/edit_session").EditSession;
VirtualRenderer = require("../virtual_renderer").VirtualRenderer, var VirtualRenderer = require("ace/virtual_renderer").VirtualRenderer;
assert = require("./assertions"); var assert = require("ace/test/assertions");
var Test = { module.exports = {
"test: screen2text the column should be rounded to the next character edge" : function() { "test: screen2text the column should be rounded to the next character edge" : function() {
var el = document.createElement("div"); var el = document.createElement("div");
if (!el.getBoundingClientRect) {
console.log("Skipping test: This test only runs in the browser");
return;
}
el.style.left = "0px"; el.style.left = "0px";
el.style.top = "0px"; el.style.top = "0px";
el.style.width = "100px"; el.style.width = "100px";
@ -72,10 +83,8 @@ var Test = {
// change tab size after setDocument (for text layer) // change tab size after setDocument (for text layer)
}; };
module.exports = require("asyncjs/test").testcase(Test);
}); });
if (typeof module !== "undefined" && module === require.main) { if (typeof module !== "undefined" && module === require.main) {
require("../../../support/paths"); require("asyncjs/test").testcase(module.exports).exec()
exports.exec(); }
}

View file

@ -1,6 +1,7 @@
var path = require("path"); var path = require("path");
var fs = require("fs"); var fs = require("fs");
var currentModule, defaultCompile = module.constructor.prototype._compile; var currentModule
var defaultCompile = module.constructor.prototype._compile;
module.constructor.prototype._compile = function(content, filename){ module.constructor.prototype._compile = function(content, filename){
currentModule = this; currentModule = this;
@ -15,11 +16,39 @@ module.constructor.prototype._compile = function(content, filename){
var requireModule = module; var requireModule = module;
global.define = function (id, injects, factory) { global.define = function (id, injects, factory) {
if (currentModule == null) {
throw new Error("define() may only be called during module factory instantiation"); // infere the module
}
var module = currentModule; var module = currentModule;
if (!module) {
module = requireModule;
while (module.parent)
module = module.parent;
}
// parse arguments
if (!factory) {
// two or less arguments
factory = injects;
if (factory) {
// two args
if (typeof id === "string") {
if (id !== module.id) {
throw new Error("Can not assign module to a different id than the current file");
}
// default injects
injects = [];
}
else{
// anonymous, deps included
injects = id;
}
}
else {
// only one arg, just the factory
factory = id;
injects = [];
}
}
var req = function(relativeId, callback) { var req = function(relativeId, callback) {
if (Array.isArray(relativeId)) { if (Array.isArray(relativeId)) {
@ -45,50 +74,29 @@ global.define = function (id, injects, factory) {
} else } else
return require(relativeId); return require(relativeId);
}; };
if (!factory) {
// two or less arguments
factory = injects;
if (factory) {
// two args
if (typeof id === "string") {
if (id !== module.id) {
throw new Error("Can not assign module to a different id than the current file");
}
// default injects
injects = [];
}
else{
// anonymous, deps included
injects = id;
}
}
else {
// only one arg, just the factory
factory = id;
injects = [];
}
}
injects.unshift("require", "exports", "module"); injects.unshift("require", "exports", "module");
id = module.id; id = module.id;
if (typeof factory !== "function"){ if (typeof factory !== "function") {
// we can just provide a plain object // we can just provide a plain object
return module.exports = factory; return module.exports = factory;
} }
var returned = factory.apply(module.exports, injects.map(function (injection) { var returned = factory.apply(module.exports, injects.map(function (injection) {
switch (injection) { switch (injection) {
// check for CommonJS injection variables // check for CommonJS injection variables
case "require": return req; case "require": return req;
case "exports": return module.exports; case "exports": return module.exports;
case "module": return module; case "module": return module;
default: default:
// a module dependency // a module dependency
return req(injection); return req(injection);
} }
})); }));
if(returned){
// since AMD encapsulates a function/callback, it can allow the factory to return the exports. if(returned) {
module.exports = returned; // since AMD encapsulates a function/callback, it can allow the factory to return the exports.
module.exports = returned;
} }
}; };
@ -114,8 +122,8 @@ function findModulePath(request) {
// check if the file exists and is not a directory // check if the file exists and is not a directory
var tryFile = function(requestPath) { var tryFile = function(requestPath) {
try { try {
var stats = fs.statSync(requestPath); var stats = fs.statSync(requestPath);
if (stats && !stats.isDirectory()) { if (stats && !stats.isDirectory()) {
return requestPath; return requestPath;
} }