Skip to content

Commit ec09ab8

Browse files
committed
workaround for tests that break mocha
1 parent e794bb5 commit ec09ab8

2 files changed

Lines changed: 31 additions & 11 deletions

File tree

src/ext/static_highlight_test.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,18 @@ var config = require("../config");
1212
module.exports = {
1313
timeout: 10000,
1414

15-
"test loading in node": function() {
16-
require("../test/mockdom").unload();
17-
if (typeof process != "undefined")
18-
assert.equal(typeof window, "undefined");
19-
require("../ace");
15+
"test loading in node": function(done) {
16+
if (typeof process === "undefined") {
17+
return done();
18+
}
19+
var req = require;
20+
req("child_process").execFile(process.execPath, ["-p", "require('../ace').version"], {
21+
cwd: __dirname
22+
}, function(err, stdout, stderr) {
23+
assert.ok(!err, "Failed to load ace in node: " + err);
24+
assert.equal(stdout.trim(), config.version);
25+
done();
26+
});
2027
},
2128

2229
"test simple snippet": function() {

src/mode/_test/highlight_rules_test.js

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ function modeList() {
2828
function checkModes() {
2929
var snippets = {};
3030
modeList().forEach(function(modeName, i) {
31-
console.log(padNumber(i+1, 3) + ") check: \u001b[33m" + modeName + "\u001b[0m");
31+
silent || console.log(padNumber(i+1, 3) + ") check: \u001b[33m" + modeName + "\u001b[0m");
3232
try {
3333
var Mode = require("../" + modeName).Mode;
3434
} catch(e) {
@@ -145,7 +145,7 @@ function checkModes() {
145145
editor.setSession(session);
146146
editor.execCommand("insertstring", "(");
147147
if (editor.getValue() != "()")
148-
return console.log("() not paired in " + modeName);
148+
return silent || console.log("() not paired in " + modeName);
149149
editor.execCommand("insertstring", "(");
150150
if (editor.getValue() != "(())")
151151
die("(()) not paired in " + modeName);
@@ -211,7 +211,7 @@ function generateTestData(names, force) {
211211
console.warn("Can't load mode :" + modeName, p, e);
212212
return;
213213
}
214-
console.log(modeName);
214+
silent || console.log(modeName);
215215
var tokenizer = new Mode().getTokenizer();
216216

217217
var state = "start";
@@ -247,10 +247,10 @@ function test(startAt) {
247247
for (var i = Math.max(0, startAt||0); i < modes.length; i++)
248248
testMode(modes[i], i);
249249

250-
console.log("\u001b[32m" + "all ok" + "\u001b[0m");
250+
silent || console.log("\u001b[32m" + "all ok" + "\u001b[0m");
251251
}
252252
function testMode(modeName, i) {
253-
console.log(padNumber(i+1, 3) + ") testing: \u001b[33m" + modeName + "\u001b[0m");
253+
silent || console.log(padNumber(i+1, 3) + ") testing: \u001b[33m" + modeName + "\u001b[0m");
254254

255255
var text = fs.readFileSync(cwd + "tokens_" + modeName + ".json", "utf8");
256256
var data = JSON.parse(text);
@@ -344,9 +344,22 @@ function checkBacktracking(tokenizer) {
344344
}
345345

346346
// cli
347+
var silent = false;
347348
var arg = process.argv[2];
348349
var RECHECK = process.argv.indexOf("--recheck") !== -1;
349-
if (!arg) {
350+
if (global.describe && global.it) {
351+
silent = true;
352+
global.describe("check modes", function() {
353+
if (this.timeout) this.timeout(20000);
354+
global.it("should check modes", function() {
355+
checkModes();
356+
});
357+
global.it("should test modes", function() {
358+
test();
359+
});
360+
});
361+
}
362+
else if (!arg) {
350363
test();
351364
checkModes();
352365
} else if (/--?g(en)?/.test(arg))

0 commit comments

Comments
 (0)