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 16682e1
Showing 1 changed file with 37 additions and 14 deletions.
51 changes: 37 additions & 14 deletions src/edit_session_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -1106,25 +1106,48 @@ module.exports = {
},

"test: mode loading" : function(next) {
if (!require.undef) {
console.log("Skipping test: This test only runs in the browser");
next();
return;
}
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");
next();
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

0 comments on commit 16682e1

Please sign in to comment.