Skip to content

Commit

Permalink
fix sckipped mode loading test
Browse files Browse the repository at this point in the history
  • Loading branch information
nightwing committed Nov 23, 2024
1 parent 9cba1f9 commit 21ddf07
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 15 deletions.
2 changes: 1 addition & 1 deletion src/config_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

var config = require("./config");
var assert = require("./test/assertions");
var {defaultEnglishMessages} = require("./lib/default_english_messages")
var {defaultEnglishMessages} = require("./lib/default_english_messages");

module.exports = {
tearDown: function() {
Expand Down
52 changes: 39 additions & 13 deletions src/edit_session_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -1106,24 +1106,50 @@ module.exports = {
},

"test: mode loading" : function(next) {
if (!require.undef) {
console.log("Skipping test: This test only runs in the browser");
next();
return;
}
delete EditSession.prototype.$modes["ace/mode/javascript"];
delete EditSession.prototype.$modes["ace/mode/css"];
delete EditSession.prototype.$modes["ace/mode/sh"];
require("./config").setLoader(function(name, onLoad) {
if (name == "ace/mode/javascript") {
return onLoad(null, require("./mode/javascript"));
}
if (name == "ace/mode/sh") {
return setTimeout(function() {
return onLoad(null, require("./mode/sh"));
});
}
if (name == "ace/mode/css") {
return setTimeout(function() {
return onLoad(null, require("./mode/css"));
});
}
});
var session = new EditSession([]);
session.setMode("ace/mode/javascript");
assert.equal(session.$modeid, "ace/mode/javascript");
session.on("changeMode", function() {
assert.equal(session.$modeid, "ace/mode/javascript");
assert.equal(session.$modeId, "ace/mode/javascript");

var modeChangeCallbacks = 0;
session.once("changeMode", function() {
assert.equal(session.$modeId, "ace/mode/sh");
modeChangeCallbacks++;
});
session.setMode("ace/mode/sh", function(mode) {
assert.ok(!mode);
session.setMode("ace/mode/sh", function() {
assert.equal(session.$mode.$id, "ace/mode/sh");
modeChangeCallbacks++;
});
assert.equal(session.$modeId, "ace/mode/sh");
assert.equal(session.$mode.$id, "ace/mode/javascript");
setTimeout(function() {
session.setMode("ace/mode/javascript", function(mode) {
session.setMode("ace/mode/javascript");
assert.equal(session.$modeid, "ace/mode/javascript");
assert.equal(modeChangeCallbacks, 2);
session.setMode("ace/mode/javascript");
assert.equal(session.$mode.$id, "ace/mode/javascript");
session.setMode("ace/mode/sh");
assert.equal(session.$mode.$id, "ace/mode/sh");
session.setMode("ace/mode/css");
assert.equal(session.$mode.$id, "ace/mode/sh");
// TODO this should not error
// session.destroy();
setTimeout(function() {
next();
});
}, 0);
Expand Down
2 changes: 1 addition & 1 deletion static.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ function writeHead(res, code, contentType) {

function escapeHTML(str) {
return ("" + str).replace(/&/g, "&#38;").replace(/"/g, "&#34;").replace(/'/g, "&#39;").replace(/</g, "&#60;");
};
}
function serveDirectory(filename, uri, req, res) {
var files = fs.readdirSync(filename);
writeHead(res, 200, "text/html");
Expand Down

0 comments on commit 21ddf07

Please sign in to comment.