1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-20 18:17:58 +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

@@ -13,6 +13,8 @@ MOZMILL = mozmill
HOSTAPP_PATH = $(shell which $(HOSTAPP))
TEST_DIR = $(BASE)/tests/functional
IDNAME := $(shell echo "$(NAME)" | tr a-z A-Z)
LOCALEDIR = locale
DOC_FILES = $(wildcard $(LOCALEDIR)/*/*.xml)
@@ -164,6 +166,7 @@ distclean:
# TODO: generalize log path
test: xpi
@echo "Running functional tests..."
$(IDNAME)_INIT="set loadplugins=" \
$(MOZMILL) --show-all -l /tmp/dactyl-test.log -b $(HOSTAPP_PATH) --addons $(XPI) -t $(TEST_DIR)
#### xpi

View File

@@ -2036,13 +2036,11 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
dactyl.log("All modules loaded", 3);
try {
if (services.fuel)
var args = services.fuel.storage.get("dactyl.commandlineArgs", null);
if (!args) {
let commandline = services.commandLineHandler.optionValue;
if (commandline)
args = dactyl.parseCommandLine(commandline);
}
var args = services.fuel && services.fuel.storage.get("dactyl.commandlineArgs", null)
|| services.commandLineHandler.optionValue;
if (isString(args))
args = dactyl.parseCommandLine(args);
if (args) {
dactyl.commandLineOptions.rcFile = args["+u"];
dactyl.commandLineOptions.noPlugins = "++noplugin" in args;
@@ -2112,7 +2110,7 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
}
if (dactyl.commandLineOptions.rcFile == "NONE" || dactyl.commandLineOptions.noPlugins)
options["loadplugins"] = false;
options["loadplugins"] = [];
if (options["loadplugins"])
dactyl.loadPlugins();

View File

@@ -133,9 +133,9 @@ var QuickMarks = Module("quickmarks", {
quickmarks.remove(args[0]);
},
{
argCount: "?",
bang: true,
completer: function (context) completion.quickmark(context),
literal: 0
completer: function (context) completion.quickmark(context)
});
commands.add(["qma[rk]"],
@@ -171,8 +171,8 @@ var QuickMarks = Module("quickmarks", {
function (args) {
quickmarks.list(args[0] || "");
}, {
argCount: "?",
completer: function (context) completion.quickmark(context),
literal: 0
});
},
completion: function () {

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);
});
});
});