1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-09 15:35:45 +01:00

Bang on the tests a bit more.

This commit is contained in:
Kris Maglione
2011-01-29 22:10:51 -05:00
parent 9128fcc51a
commit c50ddf6bb6
5 changed files with 56 additions and 38 deletions

View File

@@ -48,9 +48,10 @@ function Controller(controller) {
this._counBeep = function countBeep() {
self.beepCount++;
}
this.errors = [];
this._countError = function countError(message, highlight) {
if (/\bErrorMsg\b/.test(highlight))
self.errorMessageCount++;
self.errors.push(String(message));
}
this.dactyl.dactyl.registerObserver("beep", this._countBeep);
this.dactyl.dactyl.registerObserver("echoLine", this._countError);
@@ -69,7 +70,6 @@ Controller.prototype = {
beepCount: 0,
errorCount: 0,
errorMessageCount: 0,
/**
* Asserts that an error message is displayed during the execution
@@ -83,10 +83,10 @@ Controller.prototype = {
* @param {string} message The message to display upon assertion failure. @optional
*/
assertMessageError: function (func, self, args, message) {
let errorCount = this.errorMessageCount;
let errorCount = this.errors.length;
this.assertNoErrors(func, self, args, message);
// dump("assertMessageError " + errorCount + " " + this.errorMessageCount + "\n");
return utils.assert('dactyl.assertMessageError', this.errorMessageCount > errorCount,
return utils.assert('dactyl.assertMessageError', this.errors.length > errorCount,
"Expected error but got none" + (message ? ": " + message : ""));
},
@@ -213,7 +213,7 @@ Controller.prototype = {
*/
assertNoErrorMessages: function (func, self, args, message) {
let msg = message ? ": " + message : "";
let count = this.errorMessageCount;
let count = this.errors.length;
try {
func.apply(self || this, args || []);
@@ -222,8 +222,9 @@ Controller.prototype = {
this.dactyl.util.reportError(e);
}
return utils.assertEqual('dactyl.assertNoErrorMessages', count, this.errorMessageCount,
"Error messsages were reported" + msg);
return utils.assertEqual('dactyl.assertNoErrorMessages', count, this.errors.length,
"Error messsages were reported" + msg + ":\n\t" +
this.errors.slice(count).join("\n\t"));
},
/**

View File

@@ -78,9 +78,10 @@ var tests = {
error: ["", "some-non-existent-scheme"]
},
command: {
multiOutput: [""],
someOutput: ["foo"],
init: ["comclear"],
lineOutput: ["", "foobar"],
noOutput: ["foo bar", "-js bar baz"],
multiOutput: [""],
error: ["foo bar", "-js bar baz"]
},
comclear: {
@@ -353,7 +354,9 @@ var tests = {
complete: ["", "m "]
},
qmarks: {
init: ["delqmarks x"],
// init: ["delqmarks a-zA-Z0-9"],
// error: ["", "x"],
init: ["qmark x"],
multiOutput: ["", "m", "x"],
complete: [""]
},
@@ -397,13 +400,36 @@ var tests = {
},
sanitize: {},
saveas: {},
sbclose: {},
sbclose: {
noOutput: [""]
},
scriptnames: {},
set: {},
setglobal: {},
setlocal: {},
sidebar: {},
silent: {},
get setglobal() this.set,
get setlocal() this.set,
sidebar: {
error: ["!", ""],
noOutput: [
"! Add-ons", "Add-ons", "! Add-ons",
"! Bookmarks", "Bookmarks", "! Bookmarks",
"! Console", "Console", "! Console",
"! Downloads", "Downloads", "! Downloads",
"! History", "History", "! History",
"! Preferences", "Preferences", "! Preferences",
// "!" Previous sidebar isn't saved until the window loads.
// We don't give it enough time.
],
completions: ["", "! "]
},
silent: {
noOutput: [
"echo 'foo'",
"echo " + "foo\nbar".quote(),
"echoerr 'foo'",
"echoerr " + "foo\nbar".quote()
],
completions: [""]
},
source: {},
stop: {},
stopall: {},
@@ -424,10 +450,6 @@ var tests = {
tabprevious: {},
tabrewind: {},
time: {},
tlistkeys: {},
tmap: {},
tmapclear: {},
tnoremap: {},
toolbarhide: {},
toolbarshow: {},
toolbartoggle: {},
@@ -440,11 +462,6 @@ var tests = {
verbose: {},
version: {},
viewsource: {},
vlistkeys: {},
vmap: {},
vmapclear: {},
vnoremap: {},
vunmap: {},
winclose: {},
window: {},
winonly: {},
@@ -510,7 +527,7 @@ for (var val in Iterator(tests)) (function ([command, params]) {
case "singleOutput":
runCommands(command, testName, commands, function (cmd) {
dactyl.assertMessageLine(/./, "Expected command output: " + cmd);
}, true);
}, true && !params.errorsOk);
break;
case "multiOutput":
runCommands(command, testName, commands, function (cmd) {
@@ -533,7 +550,6 @@ for (var val in Iterator(tests)) (function ([command, params]) {
commands.forEach(function (cmd) {
dactyl.assertNoErrorMessages(function () {
dactyl.runExCompletion(command + cmd.replace(/^(!?) ?/, "$1 "));
controller.waitForPageLoad(controller.tabs.activeTab);
});
});
});