--- a/devtools/client/commandline/moz.build
+++ b/devtools/client/commandline/moz.build
@@ -1,5 +1,7 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
+BROWSER_CHROME_MANIFESTS += [
+ 'test/browser.ini',
+]
--- a/devtools/client/commandline/test/browser.ini
+++ b/devtools/client/commandline/test/browser.ini
@@ -1,50 +1,13 @@
[DEFAULT]
-skip-if = e10s # Bug 1034511
tags = devtools
subsuite = devtools
support-files =
head.js
helpers.js
mockCommands.js
-[browser_cmd_calllog.js]
-skip-if = true # Bug 845831
-[browser_cmd_calllog_chrome.js]
-skip-if = true # Bug 845831
-[browser_cmd_csscoverage_util.js]
-skip-if = (e10s && debug) # Bug 1034511 (docShell leaks on debug)
-[browser_cmd_settings.js]
-[browser_gcli_async.js]
-[browser_gcli_canon.js]
-[browser_gcli_cli1.js]
-[browser_gcli_cli2.js]
-[browser_gcli_completion1.js]
-[browser_gcli_completion2.js]
-[browser_gcli_date.js]
-skip-if = true # Bug 934098
-[browser_gcli_exec.js]
-[browser_gcli_fail.js]
-[browser_gcli_file.js]
-[browser_gcli_focus.js]
-[browser_gcli_history.js]
-[browser_gcli_incomplete.js]
-[browser_gcli_inputter.js]
-skip-if = true # Bug 1093205 - Test does not run in Firefox due to missing terminal bug
-[browser_gcli_intro.js]
-[browser_gcli_js.js]
-[browser_gcli_keyboard1.js]
-[browser_gcli_keyboard2.js]
-[browser_gcli_keyboard3.js]
-[browser_gcli_keyboard4.js]
-[browser_gcli_keyboard5.js]
-[browser_gcli_menu.js]
-[browser_gcli_node.js]
-[browser_gcli_resource.js]
-[browser_gcli_short.js]
-[browser_gcli_spell.js]
-[browser_gcli_split.js]
-[browser_gcli_tokenize.js]
-[browser_gcli_tooltip.js]
-skip-if = true # Bug 1093205 - Test does not run in Firefox due to missing terminal
-[browser_gcli_types.js]
-[browser_gcli_union.js]
+# Bug 1447494 - browser.ini file has to have at least one test file
+# browser.js is empty, we have this just to expose test helper files
+# for other folder still using it
+[browser.js]
+skip-if = true
new file mode 100644
--- /dev/null
+++ b/devtools/client/commandline/test/browser.js
@@ -0,0 +1,1 @@
+
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_cmd_settings.js
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Tests that the pref commands work
-
-var prefBranch = Cc["@mozilla.org/preferences-service;1"]
- .getService(Ci.nsIPrefService).getBranch(null)
- .QueryInterface(Ci.nsIPrefBranch);
-
-const TEST_URI = "data:text/html;charset=utf-8,gcli-settings";
-
-function test() {
- return Task.spawn(spawnTest).then(finish, helpers.handleError);
-}
-
-function* spawnTest() {
- // Setup
- let options = yield helpers.openTab(TEST_URI);
-
- const { createSystem } = require("gcli/system");
- const system = createSystem({ location: "server" });
-
- const gcliInit = require("devtools/shared/gcli/commands/index");
- gcliInit.addAllItemsByModule(system);
- yield system.load();
-
- let settings = system.settings;
-
- let hideIntroEnabled = settings.get("devtools.gcli.hideIntro");
- let tabSize = settings.get("devtools.editor.tabsize");
- let remoteHost = settings.get("devtools.debugger.remote-host");
-
- let hideIntroOrig = prefBranch.getBoolPref("devtools.gcli.hideIntro");
- let tabSizeOrig = prefBranch.getIntPref("devtools.editor.tabsize");
- let remoteHostOrig = prefBranch.getStringPref(
- "devtools.debugger.remote-host");
-
- info("originally: devtools.gcli.hideIntro = " + hideIntroOrig);
- info("originally: devtools.editor.tabsize = " + tabSizeOrig);
- info("originally: devtools.debugger.remote-host = " + remoteHostOrig);
-
- // Actual tests
- is(hideIntroEnabled.value, hideIntroOrig, "hideIntroEnabled default");
- is(tabSize.value, tabSizeOrig, "tabSize default");
- is(remoteHost.value, remoteHostOrig, "remoteHost default");
-
- hideIntroEnabled.setDefault();
- tabSize.setDefault();
- remoteHost.setDefault();
-
- let hideIntroEnabledDefault = hideIntroEnabled.value;
- let tabSizeDefault = tabSize.value;
- let remoteHostDefault = remoteHost.value;
-
- hideIntroEnabled.value = false;
- tabSize.value = 42;
- remoteHost.value = "example.com";
-
- is(hideIntroEnabled.value, false, "hideIntroEnabled basic");
- is(tabSize.value, 42, "tabSize basic");
- is(remoteHost.value, "example.com", "remoteHost basic");
-
- function hideIntroEnabledCheck(ev) {
- is(ev.setting, hideIntroEnabled, "hideIntroEnabled event setting");
- is(ev.value, true, "hideIntroEnabled event value");
- is(ev.setting.value, true, "hideIntroEnabled event setting value");
- }
- hideIntroEnabled.onChange.add(hideIntroEnabledCheck);
- hideIntroEnabled.value = true;
- is(hideIntroEnabled.value, true, "hideIntroEnabled change");
-
- function tabSizeCheck(ev) {
- is(ev.setting, tabSize, "tabSize event setting");
- is(ev.value, 1, "tabSize event value");
- is(ev.setting.value, 1, "tabSize event setting value");
- }
- tabSize.onChange.add(tabSizeCheck);
- tabSize.value = 1;
- is(tabSize.value, 1, "tabSize change");
-
- function remoteHostCheck(ev) {
- is(ev.setting, remoteHost, "remoteHost event setting");
- is(ev.value, "y.com", "remoteHost event value");
- is(ev.setting.value, "y.com", "remoteHost event setting value");
- }
- remoteHost.onChange.add(remoteHostCheck);
- remoteHost.value = "y.com";
- is(remoteHost.value, "y.com", "remoteHost change");
-
- hideIntroEnabled.onChange.remove(hideIntroEnabledCheck);
- tabSize.onChange.remove(tabSizeCheck);
- remoteHost.onChange.remove(remoteHostCheck);
-
- function remoteHostReCheck(ev) {
- is(ev.setting, remoteHost, "remoteHost event reset");
- is(ev.value, null, "remoteHost event revalue");
- is(ev.setting.value, null, "remoteHost event setting revalue");
- }
- remoteHost.onChange.add(remoteHostReCheck);
-
- hideIntroEnabled.setDefault();
- tabSize.setDefault();
- remoteHost.setDefault();
-
- remoteHost.onChange.remove(remoteHostReCheck);
-
- is(hideIntroEnabled.value, hideIntroEnabledDefault, "hideIntroEnabled reset");
- is(tabSize.value, tabSizeDefault, "tabSize reset");
- is(remoteHost.value, remoteHostDefault, "remoteHost reset");
-
- // Cleanup
- prefBranch.setBoolPref("devtools.gcli.hideIntro", hideIntroOrig);
- prefBranch.setIntPref("devtools.editor.tabsize", tabSizeOrig);
- prefBranch.setStringPref("devtools.debugger.remote-host", remoteHostOrig);
-
- yield helpers.closeTab(options);
-}
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_async.js
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_async.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testBasic = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsslo",
- check: {
- input: "tsslo",
- hints: "w",
- markup: "IIIII",
- cursor: 5,
- current: "__command",
- status: "ERROR",
- predictions: ["tsslow"],
- unassigned: [ ]
- }
- },
- {
- setup: "tsslo<TAB>",
- check: {
- input: "tsslow ",
- hints: "Shalom",
- markup: "VVVVVVV",
- cursor: 7,
- current: "hello",
- status: "ERROR",
- predictions: [
- "Shalom", "Namast\u{00E9}", "Hallo", "Dydd-da", "Ch\u{00E0}o", "Hej",
- "Saluton", "Sawubona"
- ],
- unassigned: [ ],
- args: {
- command: { name: "tsslow" },
- hello: {
- arg: "",
- status: "INCOMPLETE"
- },
- }
- }
- },
- {
- setup: "tsslow S",
- check: {
- input: "tsslow S",
- hints: "halom",
- markup: "VVVVVVVI",
- cursor: 8,
- current: "hello",
- status: "ERROR",
- predictions: [ "Shalom", "Saluton", "Sawubona", "Namast\u{00E9}" ],
- unassigned: [ ],
- args: {
- command: { name: "tsslow" },
- hello: {
- arg: " S",
- status: "INCOMPLETE"
- },
- }
- }
- },
- {
- setup: "tsslow S<TAB>",
- check: {
- input: "tsslow Shalom ",
- hints: "",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "hello",
- status: "VALID",
- predictions: [ "Shalom" ],
- unassigned: [ ],
- args: {
- command: { name: "tsslow" },
- hello: {
- arg: " Shalom ",
- status: "VALID",
- message: ""
- },
- }
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_canon.js
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_canon.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-var Commands = require("gcli/commands/commands").Commands;
-
-var startCount;
-var events;
-
-var commandsChange = function (ev) {
- events++;
-};
-
-exports.setup = function (options) {
- startCount = options.requisition.system.commands.getAll().length;
- events = 0;
-};
-
-exports.shutdown = function (options) {
- startCount = undefined;
- events = undefined;
-};
-
-exports.testAddRemove1 = function (options) {
- var commands = options.requisition.system.commands;
-
- return helpers.audit(options, [
- {
- name: "testadd add",
- setup: function () {
- commands.onCommandsChange.add(commandsChange);
-
- commands.add({
- name: "testadd",
- exec: function () {
- return 1;
- }
- });
-
- assert.is(commands.getAll().length,
- startCount + 1,
- "add command success");
- assert.is(events, 1, "add event");
-
- return helpers.setInput(options, "testadd");
- },
- check: {
- input: "testadd",
- hints: "",
- markup: "VVVVVVV",
- cursor: 7,
- current: "__command",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: { }
- },
- exec: {
- output: /^1$/
- }
- },
- {
- name: "testadd alter",
- setup: function () {
- commands.add({
- name: "testadd",
- exec: function () {
- return 2;
- }
- });
-
- assert.is(commands.getAll().length,
- startCount + 1,
- "read command success");
- assert.is(events, 2, "read event");
-
- return helpers.setInput(options, "testadd");
- },
- check: {
- input: "testadd",
- hints: "",
- markup: "VVVVVVV",
- },
- exec: {
- output: "2"
- }
- },
- {
- name: "testadd remove",
- setup: function () {
- commands.remove("testadd");
-
- assert.is(commands.getAll().length,
- startCount,
- "remove command success");
- assert.is(events, 3, "remove event");
-
- return helpers.setInput(options, "testadd");
- },
- check: {
- typed: "testadd",
- cursor: 7,
- current: "__command",
- status: "ERROR",
- unassigned: [ ],
- }
- }
- ]);
-};
-
-exports.testAddRemove2 = function (options) {
- var commands = options.requisition.system.commands;
-
- commands.add({
- name: "testadd",
- exec: function () {
- return 3;
- }
- });
-
- assert.is(commands.getAll().length,
- startCount + 1,
- "rereadd command success");
- assert.is(events, 4, "rereadd event");
-
- return helpers.audit(options, [
- {
- setup: "testadd",
- exec: {
- output: /^3$/
- },
- post: function () {
- commands.remove({
- name: "testadd"
- });
-
- assert.is(commands.getAll().length,
- startCount,
- "reremove command success");
- assert.is(events, 5, "reremove event");
- }
- },
- {
- setup: "testadd",
- check: {
- typed: "testadd",
- status: "ERROR"
- }
- }
- ]);
-};
-
-exports.testAddRemove3 = function (options) {
- var commands = options.requisition.system.commands;
-
- commands.remove({ name: "nonexistant" });
- assert.is(commands.getAll().length,
- startCount,
- "nonexistant1 command success");
- assert.is(events, 5, "nonexistant1 event");
-
- commands.remove("nonexistant");
- assert.is(commands.getAll().length,
- startCount,
- "nonexistant2 command success");
- assert.is(events, 5, "nonexistant2 event");
-
- commands.onCommandsChange.remove(commandsChange);
-};
-
-exports.testAltCommands = function (options) {
- var commands = options.requisition.system.commands;
- var altCommands = new Commands(options.requisition.system.types);
-
- var tss = {
- name: "tss",
- params: [
- { name: "str", type: "string" },
- { name: "num", type: "number" },
- { name: "opt", type: { name: "selection", data: [ "1", "2", "3" ] } },
- ],
- customProp1: "localValue",
- customProp2: true,
- customProp3: 42,
- exec: function (args, context) {
- return context.commandName + ":" +
- args.str + ":" + args.num + ":" + args.opt;
- }
- };
- altCommands.add(tss);
-
- var commandSpecs = altCommands.getCommandSpecs();
- assert.is(JSON.stringify(commandSpecs),
- '[{"item":"command","name":"tss","params":[' +
- '{"name":"str","type":"string"},' +
- '{"name":"num","type":"number"},' +
- '{"name":"opt","type":{"name":"selection","data":["1","2","3"]}}' +
- '],"isParent":false}]',
- "JSON.stringify(commandSpecs)");
-
- var customProps = [ "customProp1", "customProp2", "customProp3", ];
- var commandSpecs2 = altCommands.getCommandSpecs(customProps);
- assert.is(JSON.stringify(commandSpecs2),
- "[{" +
- '"item":"command",' +
- '"name":"tss",' +
- '"params":[' +
- '{"name":"str","type":"string"},' +
- '{"name":"num","type":"number"},' +
- '{"name":"opt","type":{"name":"selection","data":["1","2","3"]}}' +
- "]," +
- '"isParent":false,' +
- '"customProp1":"localValue",' +
- '"customProp2":true,' +
- '"customProp3":42' +
- "}]",
- "JSON.stringify(commandSpecs)");
-
- var remoter = function (args, context) {
- assert.is(context.commandName, "tss", "commandName is tss");
-
- var cmd = altCommands.get(context.commandName);
- return cmd.exec(args, context);
- };
-
- commands.addProxyCommands(commandSpecs, remoter, "proxy", "test");
-
- var parent = commands.get("proxy");
- assert.is(parent.name, "proxy", "Parent command called proxy");
-
- var child = commands.get("proxy tss");
- assert.is(child.name, "proxy tss", "child command called proxy tss");
-
- return helpers.audit(options, [
- {
- setup: "proxy tss foo 6 3",
- check: {
- input: "proxy tss foo 6 3",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVV",
- cursor: 17,
- status: "VALID",
- args: {
- str: { value: "foo", status: "VALID" },
- num: { value: 6, status: "VALID" },
- opt: { value: "3", status: "VALID" }
- }
- },
- exec: {
- output: "tss:foo:6:3"
- },
- post: function () {
- commands.remove("proxy");
- commands.remove("proxy tss");
-
- assert.is(commands.get("proxy"), undefined, "remove proxy");
- assert.is(commands.get("proxy tss"), undefined, "remove proxy tss");
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_cli1.js
+++ /dev/null
@@ -1,528 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_cli1.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-
-exports.testBlank = function (options) {
- return helpers.audit(options, [
- {
- setup: "",
- check: {
- input: "",
- hints: "",
- markup: "",
- cursor: 0,
- current: "__command",
- status: "ERROR"
- },
- post: function () {
- assert.is(options.requisition.commandAssignment.value, undefined);
- }
- },
- {
- setup: " ",
- check: {
- input: " ",
- hints: "",
- markup: "V",
- cursor: 1,
- current: "__command",
- status: "ERROR"
- },
- post: function () {
- assert.is(options.requisition.commandAssignment.value, undefined);
- }
- },
- {
- name: "| ",
- setup: function () {
- return helpers.setInput(options, " ", 0);
- },
- check: {
- input: " ",
- hints: "",
- markup: "V",
- cursor: 0,
- current: "__command",
- status: "ERROR"
- },
- post: function () {
- assert.is(options.requisition.commandAssignment.value, undefined);
- }
- }
- ]);
-};
-
-exports.testDelete = function (options) {
- return helpers.audit(options, [
- {
- setup: "x<BACKSPACE>",
- check: {
- input: "",
- hints: "",
- markup: "",
- cursor: 0,
- current: "__command",
- status: "ERROR"
- },
- post: function () {
- assert.is(options.requisition.commandAssignment.value, undefined);
- }
- }
- ]);
-};
-
-exports.testIncompleteMultiMatch = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsn ex",
- check: {
- input: "tsn ex",
- hints: "t",
- markup: "IIIVII",
- cursor: 6,
- current: "__command",
- status: "ERROR",
- predictionsContains: [
- "tsn ext", "tsn exte", "tsn exten", "tsn extend"
- ]
- }
- }
- ]);
-};
-
-exports.testIncompleteSingleMatch = function (options) {
- return helpers.audit(options, [
- {
- setup: "tselar",
- check: {
- input: "tselar",
- hints: "r",
- markup: "IIIIII",
- cursor: 6,
- current: "__command",
- status: "ERROR",
- predictions: [ "tselarr" ],
- unassigned: [ ]
- }
- }
- ]);
-};
-
-exports.testTsv = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsv",
- check: {
- input: "tsv",
- hints: " <optionType> <optionValue>",
- markup: "VVV",
- cursor: 3,
- current: "__command",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsv" },
- optionType: { arg: "", status: "INCOMPLETE" },
- optionValue: { arg: "", status: "INCOMPLETE" }
- }
- }
- },
- {
- setup: "tsv ",
- check: {
- input: "tsv ",
- hints: "option1 <optionValue>",
- markup: "VVVV",
- cursor: 4,
- current: "optionType",
- status: "ERROR",
- predictions: [ "option1", "option2", "option3" ],
- unassigned: [ ],
- tooltipState: "true:importantFieldFlag",
- args: {
- command: { name: "tsv" },
- optionType: { arg: "", status: "INCOMPLETE" },
- optionValue: { arg: "", status: "INCOMPLETE" }
- }
- }
- },
- {
- name: "ts|v",
- setup: function () {
- return helpers.setInput(options, "tsv ", 2);
- },
- check: {
- input: "tsv ",
- hints: "<optionType> <optionValue>",
- markup: "VVVV",
- cursor: 2,
- current: "__command",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsv" },
- optionType: { arg: "", status: "INCOMPLETE" },
- optionValue: { arg: "", status: "INCOMPLETE" }
- }
- }
- },
- {
- setup: "tsv o",
- check: {
- input: "tsv o",
- hints: "ption1 <optionValue>",
- markup: "VVVVI",
- cursor: 5,
- current: "optionType",
- status: "ERROR",
- predictions: [ "option1", "option2", "option3" ],
- unassigned: [ ],
- tooltipState: "true:importantFieldFlag",
- args: {
- command: { name: "tsv" },
- optionType: {
- value: undefined,
- arg: " o",
- status: "INCOMPLETE",
- message: "Value required for \u2018optionType\u2019."
- },
- optionValue: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018optionValue\u2019."
- }
- }
- }
- },
- {
- setup: "tsv option",
- check: {
- input: "tsv option",
- hints: "1 <optionValue>",
- markup: "VVVVIIIIII",
- cursor: 10,
- current: "optionType",
- status: "ERROR",
- predictions: [ "option1", "option2", "option3" ],
- unassigned: [ ],
- tooltipState: "true:importantFieldFlag",
- args: {
- command: { name: "tsv" },
- optionType: {
- value: undefined,
- arg: " option",
- status: "INCOMPLETE",
- message: "Value required for \u2018optionType\u2019."
- },
- optionValue: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018optionValue\u2019."
- }
- }
- }
- },
- {
- name: "|tsv option",
- setup: function () {
- return helpers.setInput(options, "tsv option", 0);
- },
- check: {
- input: "tsv option",
- hints: " <optionValue>",
- markup: "VVVVEEEEEE",
- cursor: 0,
- current: "__command",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsv" },
- optionType: {
- value: undefined,
- arg: " option",
- status: "INCOMPLETE",
- message: "Value required for \u2018optionType\u2019."
- },
- optionValue: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018optionValue\u2019."
- }
- }
- }
- },
- {
- setup: "tsv option ",
- check: {
- input: "tsv option ",
- hints: "<optionValue>",
- markup: "VVVVEEEEEEV",
- cursor: 11,
- current: "optionValue",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- tooltipState: "false:default",
- args: {
- command: { name: "tsv" },
- optionType: {
- value: undefined,
- arg: " option ",
- status: "ERROR",
- message: "Can\u2019t use \u2018option\u2019."
- },
- optionValue: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018optionValue\u2019."
- }
- }
- }
- },
- {
- setup: "tsv option1",
- check: {
- input: "tsv option1",
- hints: " <optionValue>",
- markup: "VVVVVVVVVVV",
- cursor: 11,
- current: "optionType",
- status: "ERROR",
- predictions: [ "option1" ],
- unassigned: [ ],
- tooltipState: "true:importantFieldFlag",
- args: {
- command: { name: "tsv" },
- optionType: {
- value: "string",
- arg: " option1",
- status: "VALID",
- message: ""
- },
- optionValue: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018optionValue\u2019."
- }
- }
- }
- },
- {
- setup: "tsv option1 ",
- check: {
- input: "tsv option1 ",
- hints: "<optionValue>",
- markup: "VVVVVVVVVVVV",
- cursor: 12,
- current: "optionValue",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsv" },
- optionType: {
- value: "string",
- arg: " option1 ",
- status: "VALID",
- message: ""
- },
- optionValue: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018optionValue\u2019."
- }
- }
- }
- },
- {
- setup: "tsv option2",
- check: {
- input: "tsv option2",
- hints: " <optionValue>",
- markup: "VVVVVVVVVVV",
- cursor: 11,
- current: "optionType",
- status: "ERROR",
- predictions: [ "option2" ],
- unassigned: [ ],
- tooltipState: "true:importantFieldFlag",
- args: {
- command: { name: "tsv" },
- optionType: {
- value: "number",
- arg: " option2",
- status: "VALID",
- message: ""
- },
- optionValue: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018optionValue\u2019."
- }
- }
- }
- }
- ]);
-};
-
-exports.testTsvValues = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsv option1 6",
- check: {
- input: "tsv option1 6",
- hints: "",
- markup: "VVVVVVVVVVVVV",
- cursor: 13,
- current: "optionValue",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsv" },
- optionType: {
- value: "string",
- arg: " option1",
- status: "VALID",
- message: ""
- },
- optionValue: {
- arg: " 6",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tsv option2 6",
- check: {
- input: "tsv option2 6",
- hints: "",
- markup: "VVVVVVVVVVVVV",
- cursor: 13,
- current: "optionValue",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsv" },
- optionType: {
- value: "number",
- arg: " option2",
- status: "VALID",
- message: ""
- },
- optionValue: {
- arg: " 6",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- // Delegated remote types can't transfer value types so we only test for
- // the value of 'value' when we're local
- {
- skipIf: options.isRemote,
- setup: "tsv option1 6",
- check: {
- args: {
- optionValue: { value: "6" }
- }
- }
- },
- {
- skipIf: options.isRemote,
- setup: "tsv option2 6",
- check: {
- args: {
- optionValue: { value: 6 }
- }
- }
- }
- ]);
-};
-
-exports.testInvalid = function (options) {
- return helpers.audit(options, [
- {
- setup: "zxjq",
- check: {
- input: "zxjq",
- hints: "",
- markup: "EEEE",
- cursor: 4,
- current: "__command",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- tooltipState: "true:isError"
- }
- },
- {
- setup: "zxjq ",
- check: {
- input: "zxjq ",
- hints: "",
- markup: "EEEEV",
- cursor: 5,
- current: "__command",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- tooltipState: "true:isError"
- }
- },
- {
- setup: "zxjq one",
- check: {
- input: "zxjq one",
- hints: "",
- markup: "EEEEVEEE",
- cursor: 8,
- current: "__unassigned",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ " one" ],
- tooltipState: "true:isError"
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_cli2.js
+++ /dev/null
@@ -1,788 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_cli2.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testSingleString = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsr",
- check: {
- input: "tsr",
- hints: " <text>",
- markup: "VVV",
- cursor: 3,
- current: "__command",
- status: "ERROR",
- unassigned: [ ],
- args: {
- command: { name: "tsr" },
- text: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018text\u2019."
- }
- }
- }
- },
- {
- setup: "tsr ",
- check: {
- input: "tsr ",
- hints: "<text>",
- markup: "VVVV",
- cursor: 4,
- current: "text",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsr" },
- text: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018text\u2019."
- }
- }
- }
- },
- {
- setup: "tsr h",
- check: {
- input: "tsr h",
- hints: "",
- markup: "VVVVV",
- cursor: 5,
- current: "text",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsr" },
- text: {
- value: "h",
- arg: " h",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: 'tsr "h h"',
- check: {
- input: 'tsr "h h"',
- hints: "",
- markup: "VVVVVVVVV",
- cursor: 9,
- current: "text",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsr" },
- text: {
- value: "h h",
- arg: ' "h h"',
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tsr h h h",
- check: {
- input: "tsr h h h",
- hints: "",
- markup: "VVVVVVVVV",
- cursor: 9,
- current: "text",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsr" },
- text: {
- value: "h h h",
- arg: " h h h",
- status: "VALID",
- message: ""
- }
- }
- }
- }
- ]);
-};
-
-exports.testSingleNumber = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsu",
- check: {
- input: "tsu",
- hints: " <num>",
- markup: "VVV",
- cursor: 3,
- current: "__command",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsu" },
- num: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018num\u2019."
- }
- }
- }
- },
- {
- setup: "tsu ",
- check: {
- input: "tsu ",
- hints: "<num>",
- markup: "VVVV",
- cursor: 4,
- current: "num",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsu" },
- num: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018num\u2019."
- }
- }
- }
- },
- {
- setup: "tsu 1",
- check: {
- input: "tsu 1",
- hints: "",
- markup: "VVVVV",
- cursor: 5,
- current: "num",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsu" },
- num: { value: 1, arg: " 1", status: "VALID", message: "" }
- }
- }
- },
- {
- setup: "tsu x",
- check: {
- input: "tsu x",
- hints: "",
- markup: "VVVVE",
- cursor: 5,
- current: "num",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- tooltipState: "true:isError",
- args: {
- command: { name: "tsu" },
- num: {
- value: undefined,
- arg: " x",
- status: "ERROR",
- message: "Can\u2019t convert \u201cx\u201d to a number."
- }
- }
- }
- },
- {
- setup: "tsu 1.5",
- check: {
- input: "tsu 1.5",
- hints: "",
- markup: "VVVVEEE",
- cursor: 7,
- current: "num",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsu" },
- num: {
- value: undefined,
- arg: " 1.5",
- status: "ERROR",
- message: "Can\u2019t convert \u201c1.5\u201d to an integer."
- }
- }
- }
- }
- ]);
-};
-
-exports.testSingleFloat = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsf",
- check: {
- input: "tsf",
- hints: " <num>",
- markup: "VVV",
- cursor: 3,
- current: "__command",
- status: "ERROR",
- error: "",
- unassigned: [ ],
- args: {
- command: { name: "tsf" },
- num: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018num\u2019."
- }
- }
- }
- },
- {
- setup: "tsf 1",
- check: {
- input: "tsf 1",
- hints: "",
- markup: "VVVVV",
- cursor: 5,
- current: "num",
- status: "VALID",
- error: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsf" },
- num: { value: 1, arg: " 1", status: "VALID", message: "" }
- }
- }
- },
- {
- setup: "tsf 1.",
- check: {
- input: "tsf 1.",
- hints: "",
- markup: "VVVVVV",
- cursor: 6,
- current: "num",
- status: "VALID",
- error: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsf" },
- num: { value: 1, arg: " 1.", status: "VALID", message: "" }
- }
- }
- },
- {
- setup: "tsf 1.5",
- check: {
- input: "tsf 1.5",
- hints: "",
- markup: "VVVVVVV",
- cursor: 7,
- current: "num",
- status: "VALID",
- error: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsf" },
- num: { value: 1.5, arg: " 1.5", status: "VALID", message: "" }
- }
- }
- },
- {
- setup: "tsf 1.5x",
- check: {
- input: "tsf 1.5x",
- hints: "",
- markup: "VVVVVVVV",
- cursor: 8,
- current: "num",
- status: "VALID",
- error: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsf" },
- num: { value: 1.5, arg: " 1.5x", status: "VALID", message: "" }
- }
- }
- },
- {
- name: "tsf x (cursor=4)",
- setup: function () {
- return helpers.setInput(options, "tsf x", 4);
- },
- check: {
- input: "tsf x",
- hints: "",
- markup: "VVVVE",
- cursor: 4,
- current: "num",
- status: "ERROR",
- error: "Can\u2019t convert \u201cx\u201d to a number.",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsf" },
- num: {
- value: undefined,
- arg: " x",
- status: "ERROR",
- message: "Can\u2019t convert \u201cx\u201d to a number."
- }
- }
- }
- }
- ]);
-};
-
-exports.testElementWeb = function (options) {
- return helpers.audit(options, [
- {
- setup: "tse #gcli-root",
- check: {
- input: "tse #gcli-root",
- hints: " [options]",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "node",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tse" },
- node: {
- arg: " #gcli-root",
- status: "VALID",
- message: ""
- },
- nodes: { arg: "", status: "VALID", message: "" },
- nodes2: { arg: "", status: "VALID", message: "" },
- }
- }
- }
- ]);
-};
-
-exports.testElement = function (options) {
- return helpers.audit(options, [
- {
- setup: "tse",
- check: {
- input: "tse",
- hints: " <node> [options]",
- markup: "VVV",
- cursor: 3,
- current: "__command",
- status: "ERROR",
- predictions: [ "tse", "tselarr" ],
- unassigned: [ ],
- args: {
- command: { name: "tse" },
- node: { arg: "", status: "INCOMPLETE" },
- nodes: { arg: "", status: "VALID", message: "" },
- nodes2: { arg: "", status: "VALID", message: "" },
- }
- }
- },
- {
- setup: "tse #gcli-nomatch",
- check: {
- input: "tse #gcli-nomatch",
- hints: " [options]",
- markup: "VVVVIIIIIIIIIIIII",
- cursor: 17,
- current: "node",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- outputState: "false:default",
- tooltipState: "true:isError",
- args: {
- command: { name: "tse" },
- node: {
- value: undefined,
- arg: " #gcli-nomatch",
- // This is somewhat debatable because this input can't be corrected
- // simply by typing so it's and error rather than incomplete,
- // however without digging into the CSS engine we can't tell that
- // so we default to incomplete
- status: "INCOMPLETE",
- message: "No matches"
- },
- nodes: { arg: "", status: "VALID", message: "" },
- nodes2: { arg: "", status: "VALID", message: "" },
- }
- }
- },
- {
- setup: "tse #",
- check: {
- input: "tse #",
- hints: " [options]",
- markup: "VVVVE",
- cursor: 5,
- current: "node",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- tooltipState: "true:isError",
- args: {
- command: { name: "tse" },
- node: {
- value: undefined,
- arg: " #",
- status: "ERROR",
- message: "Syntax error in CSS query"
- },
- nodes: { arg: "", status: "VALID", message: "" },
- nodes2: { arg: "", status: "VALID", message: "" },
- }
- }
- },
- {
- setup: "tse .",
- check: {
- input: "tse .",
- hints: " [options]",
- markup: "VVVVE",
- cursor: 5,
- current: "node",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- tooltipState: "true:isError",
- args: {
- command: { name: "tse" },
- node: {
- value: undefined,
- arg: " .",
- status: "ERROR",
- message: "Syntax error in CSS query"
- },
- nodes: { arg: "", status: "VALID", message: "" },
- nodes2: { arg: "", status: "VALID", message: "" },
- }
- }
- },
- {
- setup: "tse *",
- check: {
- input: "tse *",
- hints: " [options]",
- markup: "VVVVE",
- cursor: 5,
- current: "node",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- tooltipState: "true:isError",
- args: {
- command: { name: "tse" },
- node: {
- value: undefined,
- arg: " *",
- status: "ERROR",
- message: /^Too many matches \([0-9]*\)/
- },
- nodes: { arg: "", status: "VALID", message: "" },
- nodes2: { arg: "", status: "VALID", message: "" },
- }
- }
- }
- ]);
-};
-
-exports.testNestedCommand = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsn",
- check: {
- input: "tsn",
- hints: " deep down nested cmd",
- markup: "III",
- cursor: 3,
- current: "__command",
- status: "ERROR",
- predictionsInclude: [
- "tsn deep", "tsn deep down", "tsn deep down nested",
- "tsn deep down nested cmd", "tsn dif"
- ],
- unassigned: [ ],
- args: {
- command: { name: "tsn" }
- }
- }
- },
- {
- setup: "tsn ",
- check: {
- input: "tsn ",
- hints: " deep down nested cmd",
- markup: "IIIV",
- cursor: 4,
- current: "__command",
- status: "ERROR",
- unassigned: [ ]
- }
- },
- {
- skipIf: options.isPhantomjs, // PhantomJS gets predictions wrong
- setup: "tsn x",
- check: {
- input: "tsn x",
- hints: " -> tsn ext",
- markup: "IIIVI",
- cursor: 5,
- current: "__command",
- status: "ERROR",
- predictions: [ "tsn ext" ],
- unassigned: [ ]
- }
- },
- {
- setup: "tsn dif",
- check: {
- input: "tsn dif",
- hints: " <text>",
- markup: "VVVVVVV",
- cursor: 7,
- current: "__command",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsn dif" },
- text: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018text\u2019."
- }
- }
- }
- },
- {
- setup: "tsn dif ",
- check: {
- input: "tsn dif ",
- hints: "<text>",
- markup: "VVVVVVVV",
- cursor: 8,
- current: "text",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsn dif" },
- text: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018text\u2019."
- }
- }
- }
- },
- {
- setup: "tsn dif x",
- check: {
- input: "tsn dif x",
- hints: "",
- markup: "VVVVVVVVV",
- cursor: 9,
- current: "text",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsn dif" },
- text: { value: "x", arg: " x", status: "VALID", message: "" }
- }
- }
- },
- {
- setup: "tsn ext",
- check: {
- input: "tsn ext",
- hints: " <text>",
- markup: "VVVVVVV",
- cursor: 7,
- current: "__command",
- status: "ERROR",
- predictions: [ "tsn ext", "tsn exte", "tsn exten", "tsn extend" ],
- unassigned: [ ],
- args: {
- command: { name: "tsn ext" },
- text: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018text\u2019."
- }
- }
- }
- },
- {
- setup: "tsn exte",
- check: {
- input: "tsn exte",
- hints: " <text>",
- markup: "VVVVVVVV",
- cursor: 8,
- current: "__command",
- status: "ERROR",
- predictions: [ "tsn exte", "tsn exten", "tsn extend" ],
- unassigned: [ ],
- args: {
- command: { name: "tsn exte" },
- text: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018text\u2019."
- }
- }
- }
- },
- {
- setup: "tsn exten",
- check: {
- input: "tsn exten",
- hints: " <text>",
- markup: "VVVVVVVVV",
- cursor: 9,
- current: "__command",
- status: "ERROR",
- predictions: [ "tsn exten", "tsn extend" ],
- unassigned: [ ],
- args: {
- command: { name: "tsn exten" },
- text: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018text\u2019."
- }
- }
- }
- },
- {
- setup: "tsn extend",
- check: {
- input: "tsn extend",
- hints: " <text>",
- markup: "VVVVVVVVVV",
- cursor: 10,
- current: "__command",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsn extend" },
- text: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for \u2018text\u2019."
- }
- }
- }
- },
- {
- setup: "ts ",
- check: {
- input: "ts ",
- hints: "",
- markup: "EEV",
- cursor: 3,
- current: "__command",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- tooltipState: "true:isError"
- }
- },
- ]);
-};
-
-// From Bug 664203
-exports.testDeeplyNested = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsn deep down nested",
- check: {
- input: "tsn deep down nested",
- hints: " cmd",
- markup: "IIIVIIIIVIIIIVIIIIII",
- cursor: 20,
- current: "__command",
- status: "ERROR",
- predictions: [ "tsn deep down nested cmd" ],
- unassigned: [ ],
- outputState: "false:default",
- tooltipState: "false:default",
- args: {
- command: { name: "tsn deep down nested" },
- }
- }
- },
- {
- setup: "tsn deep down nested cmd",
- check: {
- input: "tsn deep down nested cmd",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
- cursor: 24,
- current: "__command",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsn deep down nested cmd" },
- }
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_completion1.js
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_completion1.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testActivate = function (options) {
- return helpers.audit(options, [
- {
- setup: "",
- check: {
- hints: ""
- }
- },
- {
- setup: " ",
- check: {
- hints: ""
- }
- },
- {
- setup: "tsr",
- check: {
- hints: " <text>"
- }
- },
- {
- setup: "tsr ",
- check: {
- hints: "<text>"
- }
- },
- {
- setup: "tsr b",
- check: {
- hints: ""
- }
- },
- {
- setup: "tsb",
- check: {
- hints: " [toggle]"
- }
- },
- {
- setup: "tsm",
- check: {
- hints: " <abc> <txt> <num>"
- }
- },
- {
- setup: "tsm ",
- check: {
- hints: "a <txt> <num>"
- }
- },
- {
- setup: "tsm a",
- check: {
- hints: " <txt> <num>"
- }
- },
- {
- setup: "tsm a ",
- check: {
- hints: "<txt> <num>"
- }
- },
- {
- setup: "tsm a ",
- check: {
- hints: "<txt> <num>"
- }
- },
- {
- setup: "tsm a d",
- check: {
- hints: " <num>"
- }
- },
- {
- setup: 'tsm a "d d"',
- check: {
- hints: " <num>"
- }
- },
- {
- setup: 'tsm a "d ',
- check: {
- hints: " <num>"
- }
- },
- {
- setup: 'tsm a "d d" ',
- check: {
- hints: "<num>"
- }
- },
- {
- setup: 'tsm a "d d ',
- check: {
- hints: " <num>"
- }
- },
- {
- setup: "tsm d r",
- check: {
- hints: " <num>"
- }
- },
- {
- setup: "tsm a d ",
- check: {
- hints: "<num>"
- }
- },
- {
- setup: "tsm a d 4",
- check: {
- hints: ""
- }
- },
- {
- setup: "tsg",
- check: {
- hints: " <solo> [options]"
- }
- },
- {
- setup: "tsg ",
- check: {
- hints: "aaa [options]"
- }
- },
- {
- setup: "tsg a",
- check: {
- hints: "aa [options]"
- }
- },
- {
- setup: "tsg b",
- check: {
- hints: "bb [options]"
- }
- },
- {
- skipIf: options.isPhantomjs, // PhantomJS gets predictions wrong
- setup: "tsg d",
- check: {
- hints: " [options] -> ccc"
- }
- },
- {
- setup: "tsg aa",
- check: {
- hints: "a [options]"
- }
- },
- {
- setup: "tsg aaa",
- check: {
- hints: " [options]"
- }
- },
- {
- setup: "tsg aaa ",
- check: {
- hints: "[options]"
- }
- },
- {
- setup: "tsg aaa d",
- check: {
- hints: " [options]"
- }
- },
- {
- setup: "tsg aaa dddddd",
- check: {
- hints: " [options]"
- }
- },
- {
- setup: "tsg aaa dddddd ",
- check: {
- hints: "[options]"
- }
- },
- {
- setup: 'tsg aaa "d',
- check: {
- hints: " [options]"
- }
- },
- {
- setup: 'tsg aaa "d d',
- check: {
- hints: " [options]"
- }
- },
- {
- setup: 'tsg aaa "d d"',
- check: {
- hints: " [options]"
- }
- },
- {
- setup: "tsn ex ",
- check: {
- hints: ""
- }
- },
- {
- setup: "selarr",
- check: {
- hints: " -> tselarr"
- }
- },
- {
- setup: "tselar 1",
- check: {
- hints: ""
- }
- },
- {
- name: "tselar |1",
- setup: function () {
- return helpers.setInput(options, "tselar 1", 7);
- },
- check: {
- hints: ""
- }
- },
- {
- name: "tselar| 1",
- setup: function () {
- return helpers.setInput(options, "tselar 1", 6);
- },
- check: {
- hints: " -> tselarr"
- }
- },
- {
- name: "tsela|r 1",
- setup: function () {
- return helpers.setInput(options, "tselar 1", 5);
- },
- check: {
- hints: " -> tselarr"
- }
- },
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_completion2.js
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_completion2.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testLong = function (options) {
- return helpers.audit(options, [
- {
- setup: "tslong --sel",
- check: {
- input: "tslong --sel",
- hints: " <selection> <msg> [options]",
- markup: "VVVVVVVIIIII"
- }
- },
- {
- setup: "tslong --sel<TAB>",
- check: {
- input: "tslong --sel ",
- hints: "space <msg> [options]",
- markup: "VVVVVVVIIIIIV"
- }
- },
- {
- setup: "tslong --sel ",
- check: {
- input: "tslong --sel ",
- hints: "space <msg> [options]",
- markup: "VVVVVVVIIIIIV"
- }
- },
- {
- setup: "tslong --sel s",
- check: {
- input: "tslong --sel s",
- hints: "pace <msg> [options]",
- markup: "VVVVVVVIIIIIVI"
- }
- },
- {
- setup: "tslong --num ",
- check: {
- input: "tslong --num ",
- hints: "<number> <msg> [options]",
- markup: "VVVVVVVIIIIIV"
- }
- },
- {
- setup: "tslong --num 42",
- check: {
- input: "tslong --num 42",
- hints: " <msg> [options]",
- markup: "VVVVVVVVVVVVVVV"
- }
- },
- {
- setup: "tslong --num 42 ",
- check: {
- input: "tslong --num 42 ",
- hints: "<msg> [options]",
- markup: "VVVVVVVVVVVVVVVV"
- }
- },
- {
- setup: "tslong --num 42 --se",
- check: {
- input: "tslong --num 42 --se",
- hints: "l <msg> [options]",
- markup: "VVVVVVVVVVVVVVVVIIII"
- }
- },
- {
- setup: "tslong --num 42 --se<TAB>",
- check: {
- input: "tslong --num 42 --sel ",
- hints: "space <msg> [options]",
- markup: "VVVVVVVVVVVVVVVVIIIIIV"
- }
- },
- {
- setup: "tslong --num 42 --se<TAB><TAB>",
- check: {
- input: "tslong --num 42 --sel space ",
- hints: "<msg> [options]",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV"
- }
- },
- {
- setup: "tslong --num 42 --sel ",
- check: {
- input: "tslong --num 42 --sel ",
- hints: "space <msg> [options]",
- markup: "VVVVVVVVVVVVVVVVIIIIIV"
- }
- },
- {
- setup: "tslong --num 42 --sel space ",
- check: {
- input: "tslong --num 42 --sel space ",
- hints: "<msg> [options]",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV"
- }
- }
- ]);
-};
-
-exports.testNoTab = function (options) {
- return helpers.audit(options, [
- {
- setup: "tss<TAB>",
- check: {
- input: "tss ",
- markup: "VVVV",
- hints: ""
- }
- },
- {
- setup: "tss<TAB><TAB>",
- check: {
- input: "tss ",
- markup: "VVVV",
- hints: ""
- }
- },
- {
- setup: "xxxx",
- check: {
- input: "xxxx",
- markup: "EEEE",
- hints: ""
- }
- },
- {
- name: "<TAB>",
- setup: function () {
- // Doing it this way avoids clearing the input buffer
- return helpers.pressTab(options);
- },
- check: {
- input: "xxxx",
- markup: "EEEE",
- hints: ""
- }
- }
- ]);
-};
-
-exports.testOutstanding = function (options) {
- // See bug 779800
- /*
- return helpers.audit(options, [
- {
- setup: 'tsg --txt1 ddd ',
- check: {
- input: 'tsg --txt1 ddd ',
- hints: 'aaa [options]',
- markup: 'VVVVVVVVVVVVVVV'
- }
- },
- ]);
- */
-};
-
-exports.testCompleteIntoOptional = function (options) {
- // From bug 779816
- return helpers.audit(options, [
- {
- setup: "tso ",
- check: {
- typed: "tso ",
- hints: "[text]",
- markup: "VVVV",
- status: "VALID"
- }
- },
- {
- setup: "tso<TAB>",
- check: {
- typed: "tso ",
- hints: "[text]",
- markup: "VVVV",
- status: "VALID"
- }
- }
- ]);
-};
-
-exports.testSpaceComplete = function (options) {
- return helpers.audit(options, [
- {
- setup: "tslong --sel2 wit",
- check: {
- input: "tslong --sel2 wit",
- hints: "h space <msg> [options]",
- markup: "VVVVVVVIIIIIIVIII",
- cursor: 17,
- current: "sel2",
- status: "ERROR",
- tooltipState: "true:importantFieldFlag",
- args: {
- command: { name: "tslong" },
- msg: { status: "INCOMPLETE" },
- num: { status: "VALID" },
- sel: { status: "VALID" },
- bool: { value: false, status: "VALID" },
- num2: { status: "VALID" },
- bool2: { value: false, status: "VALID" },
- sel2: { arg: " --sel2 wit", status: "INCOMPLETE" }
- }
- }
- },
- {
- setup: "tslong --sel2 wit<TAB>",
- check: {
- input: "tslong --sel2 'with space' ",
- hints: "<msg> [options]",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVV",
- cursor: 27,
- current: "sel2",
- status: "ERROR",
- tooltipState: "true:importantFieldFlag",
- args: {
- command: { name: "tslong" },
- msg: { status: "INCOMPLETE" },
- num: { status: "VALID" },
- sel: { status: "VALID" },
- bool: { value: false, status: "VALID" },
- num2: { status: "VALID" },
- bool2: { value: false, status: "VALID" },
- sel2: {
- value: "with space",
- arg: " --sel2 'with space' ",
- status: "VALID"
- }
- }
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_context.js
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_context.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testBaseline = function (options) {
- return helpers.audit(options, [
- // These 3 establish a baseline for comparison when we have used the
- // context command
- {
- setup: "ext",
- check: {
- input: "ext",
- hints: " -> context",
- markup: "III",
- message: "",
- predictions: [ "context", "tsn ext", "tsn exte", "tsn exten", "tsn extend" ],
- unassigned: [ ],
- }
- },
- {
- setup: "ext test",
- check: {
- input: "ext test",
- hints: "",
- markup: "IIIVEEEE",
- status: "ERROR",
- message: "Too many arguments",
- unassigned: [ " test" ],
- }
- },
- {
- setup: "tsn",
- check: {
- input: "tsn",
- hints: " deep down nested cmd",
- markup: "III",
- cursor: 3,
- current: "__command",
- status: "ERROR",
- predictionsContains: [ "tsn deep down nested cmd", "tsn ext", "tsn exte" ],
- args: {
- command: { name: "tsn" },
- }
- }
- }
- ]);
-};
-
-exports.testContext = function (options) {
- return helpers.audit(options, [
- // Use the 'tsn' context
- {
- setup: "context tsn",
- check: {
- input: "context tsn",
- hints: " deep down nested cmd",
- markup: "VVVVVVVVVVV",
- message: "",
- predictionsContains: [ "tsn deep down nested cmd", "tsn ext", "tsn exte" ],
- args: {
- command: { name: "context" },
- prefix: {
- value: options.requisition.system.commands.get("tsn"),
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Using tsn as a command prefix"
- }
- },
- // For comparison with earlier
- {
- setup: "ext",
- check: {
- input: "ext",
- hints: " <text>",
- markup: "VVV",
- predictions: [ "tsn ext", "tsn exte", "tsn exten", "tsn extend" ],
- args: {
- command: { name: "tsn ext" },
- text: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE"
- }
- }
- }
- },
- {
- setup: "ext test",
- check: {
- input: "ext test",
- hints: "",
- markup: "VVVVVVVV",
- args: {
- command: { name: "tsn ext" },
- text: {
- value: "test",
- arg: " test",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Exec: tsnExt text=test"
- }
- },
- {
- setup: "tsn",
- check: {
- input: "tsn",
- hints: " deep down nested cmd",
- markup: "III",
- message: "",
- predictionsContains: [ "tsn deep down nested cmd", "tsn ext", "tsn exte" ],
- args: {
- command: { name: "tsn" },
- }
- }
- },
- // Does it actually work?
- {
- setup: "tsb true",
- check: {
- input: "tsb true",
- hints: "",
- markup: "VVVVVVVV",
- options: [ "true" ],
- message: "",
- predictions: [ "true" ],
- unassigned: [ ],
- args: {
- command: { name: "tsb" },
- toggle: { value: true, arg: " true", status: "VALID", message: "" }
- }
- }
- },
- {
- // Bug 866710 - GCLI should allow argument merging for non-string parameters
- setup: "context tsn ext",
- skip: true
- },
- {
- setup: 'context "tsn ext"',
- check: {
- input: 'context "tsn ext"',
- hints: "",
- markup: "VVVVVVVVVVVVVVVVV",
- message: "",
- predictions: [ "tsn ext", "tsn exte", "tsn exten", "tsn extend" ],
- unassigned: [ ],
- args: {
- command: { name: "context" },
- prefix: {
- value: options.requisition.system.commands.get("tsn ext"),
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Can't use 'tsn ext' as a prefix because it is not a parent command.",
- error: true
- }
- },
- /*
- {
- setup: 'context "tsn deep"',
- check: {
- input: 'context "tsn deep"',
- hints: '',
- markup: 'VVVVVVVVVVVVVVVVVV',
- status: 'ERROR',
- message: '',
- predictions: [ 'tsn deep' ],
- unassigned: [ ],
- args: {
- command: { name: 'context' },
- prefix: {
- value: options.requisition.system.commands.get('tsn deep'),
- status: 'VALID',
- message: ''
- }
- }
- },
- exec: {
- output: ''
- }
- },
- */
- {
- setup: "context",
- check: {
- input: "context",
- hints: " [prefix]",
- markup: "VVVVVVV",
- status: "VALID",
- unassigned: [ ],
- args: {
- command: { name: "context" },
- prefix: { value: undefined, arg: "", status: "VALID", message: "" },
- }
- },
- exec: {
- output: "Command prefix is unset",
- type: "string",
- error: false
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_date.js
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_date.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-
-var Status = require("gcli/types/types").Status;
-
-exports.testParse = function (options) {
- var date = options.requisition.system.types.createType("date");
- return date.parseString("now").then(function (conversion) {
- // Date comparison - these 2 dates may not be the same, but how close is
- // close enough? If this test takes more than 30secs to run the it will
- // probably time out, so we'll assume that these 2 values must be within
- // 1 min of each other
- var gap = new Date().getTime() - conversion.value.getTime();
- assert.ok(gap < 60000, "now is less than a minute away");
-
- assert.is(conversion.getStatus(), Status.VALID, "now parse");
- });
-};
-
-exports.testMaxMin = function (options) {
- var max = new Date();
- var min = new Date();
- var types = options.requisition.system.types;
- var date = types.createType({ name: "date", max: max, min: min });
- assert.is(date.getMax(), max, "max setup");
-
- var incremented = date.nudge(min, 1);
- assert.is(incremented, max, "incremented");
-};
-
-exports.testIncrement = function (options) {
- var date = options.requisition.system.types.createType("date");
- return date.parseString("now").then(function (conversion) {
- var plusOne = date.nudge(conversion.value, 1);
- var minusOne = date.nudge(plusOne, -1);
-
- // See comments in testParse
- var gap = new Date().getTime() - minusOne.getTime();
- assert.ok(gap < 60000, "now is less than a minute away");
- });
-};
-
-exports.testInput = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsdate 2001-01-01 1980-01-03",
- check: {
- input: "tsdate 2001-01-01 1980-01-03",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsdate" },
- d1: {
- value: function (d1) {
- assert.is(d1.getFullYear(), 2001, "d1 year");
- assert.is(d1.getMonth(), 0, "d1 month");
- assert.is(d1.getDate(), 1, "d1 date");
- assert.is(d1.getHours(), 0, "d1 hours");
- assert.is(d1.getMinutes(), 0, "d1 minutes");
- assert.is(d1.getSeconds(), 0, "d1 seconds");
- assert.is(d1.getMilliseconds(), 0, "d1 millis");
- },
- arg: " 2001-01-01",
- status: "VALID",
- message: ""
- },
- d2: {
- value: function (d2) {
- assert.is(d2.getFullYear(), 1980, "d2 year");
- assert.is(d2.getMonth(), 0, "d2 month");
- assert.is(d2.getDate(), 3, "d2 date");
- assert.is(d2.getHours(), 0, "d2 hours");
- assert.is(d2.getMinutes(), 0, "d2 minutes");
- assert.is(d2.getSeconds(), 0, "d2 seconds");
- assert.is(d2.getMilliseconds(), 0, "d2 millis");
- },
- arg: " 1980-01-03",
- status: "VALID",
- message: ""
- },
- }
- },
- exec: {
- output: [ /^Exec: tsdate/, /2001/, /1980/ ],
- type: "testCommandOutput",
- error: false
- }
- },
- {
- setup: "tsdate 2001/01/01 1980/01/03",
- check: {
- input: "tsdate 2001/01/01 1980/01/03",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsdate" },
- d1: {
- value: function (d1) {
- assert.is(d1.getFullYear(), 2001, "d1 year");
- assert.is(d1.getMonth(), 0, "d1 month");
- assert.is(d1.getDate(), 1, "d1 date");
- assert.is(d1.getHours(), 0, "d1 hours");
- assert.is(d1.getMinutes(), 0, "d1 minutes");
- assert.is(d1.getSeconds(), 0, "d1 seconds");
- assert.is(d1.getMilliseconds(), 0, "d1 millis");
- },
- arg: " 2001/01/01",
- status: "VALID",
- message: ""
- },
- d2: {
- value: function (d2) {
- assert.is(d2.getFullYear(), 1980, "d2 year");
- assert.is(d2.getMonth(), 0, "d2 month");
- assert.is(d2.getDate(), 3, "d2 date");
- assert.is(d2.getHours(), 0, "d2 hours");
- assert.is(d2.getMinutes(), 0, "d2 minutes");
- assert.is(d2.getSeconds(), 0, "d2 seconds");
- assert.is(d2.getMilliseconds(), 0, "d2 millis");
- },
- arg: " 1980/01/03",
- status: "VALID",
- message: ""
- },
- }
- },
- exec: {
- output: [ /^Exec: tsdate/, /2001/, /1980/ ],
- type: "testCommandOutput",
- error: false
- }
- },
- {
- setup: "tsdate now today",
- check: {
- input: "tsdate now today",
- hints: "",
- markup: "VVVVVVVVVVVVVVVV",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsdate" },
- d1: {
- value: function (d1) {
- // How long should we allow between d1 and now? Mochitest will
- // time out after 30 secs, so that seems like a decent upper
- // limit, although 30 ms should probably do it. I don't think
- // reducing the limit from 30 secs will find any extra bugs
- assert.ok(d1.getTime() - new Date().getTime() < 30 * 1000,
- "d1 time");
- },
- arg: " now",
- status: "VALID",
- message: ""
- },
- d2: {
- value: function (d2) {
- // See comment for d1 above
- assert.ok(d2.getTime() - new Date().getTime() < 30 * 1000,
- "d2 time");
- },
- arg: " today",
- status: "VALID",
- message: ""
- },
- }
- },
- exec: {
- output: [ /^Exec: tsdate/, new Date().getFullYear() ],
- type: "testCommandOutput",
- error: false
- }
- },
- {
- setup: "tsdate yesterday tomorrow",
- check: {
- input: "tsdate yesterday tomorrow",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVV",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsdate" },
- d1: {
- value: function (d1) {
- var compare = new Date().getTime() - (24 * 60 * 60 * 1000);
- // See comment for d1 in the test for 'tsdate now today'
- assert.ok(d1.getTime() - compare < 30 * 1000,
- "d1 time");
- },
- arg: " yesterday",
- status: "VALID",
- message: ""
- },
- d2: {
- value: function (d2) {
- var compare = new Date().getTime() + (24 * 60 * 60 * 1000);
- // See comment for d1 in the test for 'tsdate now today'
- assert.ok(d2.getTime() - compare < 30 * 1000,
- "d2 time");
- },
- arg: " tomorrow",
- status: "VALID",
- message: ""
- },
- }
- },
- exec: {
- output: [ /^Exec: tsdate/, new Date().getFullYear() ],
- type: "testCommandOutput",
- error: false
- }
- }
- ]);
-};
-
-exports.testIncrDecr = function (options) {
- return helpers.audit(options, [
- {
- // createRequisitionAutomator doesn't fake UP/DOWN well enough
- skipRemainingIf: options.isNode,
- setup: "tsdate 2001-01-01<UP>",
- check: {
- input: "tsdate 2001-01-02",
- hints: " <d2>",
- markup: "VVVVVVVVVVVVVVVVV",
- status: "ERROR",
- message: "",
- args: {
- command: { name: "tsdate" },
- d1: {
- value: function (d1) {
- assert.is(d1.getFullYear(), 2001, "d1 year");
- assert.is(d1.getMonth(), 0, "d1 month");
- assert.is(d1.getDate(), 2, "d1 date");
- assert.is(d1.getHours(), 0, "d1 hours");
- assert.is(d1.getMinutes(), 0, "d1 minutes");
- assert.is(d1.getSeconds(), 0, "d1 seconds");
- assert.is(d1.getMilliseconds(), 0, "d1 millis");
- },
- arg: " 2001-01-02",
- status: "VALID",
- message: ""
- },
- d2: {
- value: undefined,
- status: "INCOMPLETE"
- },
- }
- }
- },
- {
- // Check wrapping on decrement
- setup: "tsdate 2001-02-01<DOWN>",
- check: {
- input: "tsdate 2001-01-31",
- hints: " <d2>",
- markup: "VVVVVVVVVVVVVVVVV",
- status: "ERROR",
- message: "",
- args: {
- command: { name: "tsdate" },
- d1: {
- value: function (d1) {
- assert.is(d1.getFullYear(), 2001, "d1 year");
- assert.is(d1.getMonth(), 0, "d1 month");
- assert.is(d1.getDate(), 31, "d1 date");
- assert.is(d1.getHours(), 0, "d1 hours");
- assert.is(d1.getMinutes(), 0, "d1 minutes");
- assert.is(d1.getSeconds(), 0, "d1 seconds");
- assert.is(d1.getMilliseconds(), 0, "d1 millis");
- },
- arg: " 2001-01-31",
- status: "VALID",
- message: ""
- },
- d2: {
- value: undefined,
- status: "INCOMPLETE"
- },
- }
- }
- },
- {
- // Check 'max' value capping on increment
- setup: 'tsdate 2001-02-01 "27 feb 2000"<UP>',
- check: {
- input: 'tsdate 2001-02-01 "2000-02-28"',
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsdate" },
- d1: {
- value: function (d1) {
- assert.is(d1.getFullYear(), 2001, "d1 year");
- assert.is(d1.getMonth(), 1, "d1 month");
- assert.is(d1.getDate(), 1, "d1 date");
- assert.is(d1.getHours(), 0, "d1 hours");
- assert.is(d1.getMinutes(), 0, "d1 minutes");
- assert.is(d1.getSeconds(), 0, "d1 seconds");
- assert.is(d1.getMilliseconds(), 0, "d1 millis");
- },
- arg: " 2001-02-01",
- status: "VALID",
- message: ""
- },
- d2: {
- value: function (d2) {
- assert.is(d2.getFullYear(), 2000, "d2 year");
- assert.is(d2.getMonth(), 1, "d2 month");
- assert.is(d2.getDate(), 28, "d2 date");
- assert.is(d2.getHours(), 0, "d2 hours");
- assert.is(d2.getMinutes(), 0, "d2 minutes");
- assert.is(d2.getSeconds(), 0, "d2 seconds");
- assert.is(d2.getMilliseconds(), 0, "d2 millis");
- },
- arg: ' "2000-02-28"',
- status: "VALID",
- message: ""
- },
- }
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_exec.js
+++ /dev/null
@@ -1,656 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_exec.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-
-exports.testParamGroup = function (options) {
- var tsg = options.requisition.system.commands.get("tsg");
-
- assert.is(tsg.params[0].groupName, null, "tsg param 0 group null");
- assert.is(tsg.params[1].groupName, "First", "tsg param 1 group First");
- assert.is(tsg.params[2].groupName, "First", "tsg param 2 group First");
- assert.is(tsg.params[3].groupName, "Second", "tsg param 3 group Second");
- assert.is(tsg.params[4].groupName, "Second", "tsg param 4 group Second");
-};
-
-exports.testWithHelpers = function (options) {
- return helpers.audit(options, [
- {
- setup: "tss",
- check: {
- input: "tss",
- hints: "",
- markup: "VVV",
- cursor: 3,
- current: "__command",
- status: "VALID",
- unassigned: [ ],
- args: {
- command: { name: "tss" },
- }
- },
- exec: {
- output: /^Exec: tss/,
- }
- },
- {
- setup: "tsv option1 10",
- check: {
- input: "tsv option1 10",
- hints: "",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "optionValue",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsv" },
- optionType: {
- value: "string",
- arg: " option1",
- status: "VALID",
- message: ""
- },
- optionValue: {
- arg: " 10",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Exec: tsv optionType=option1 optionValue=10"
- }
- },
- {
- setup: "tsv option2 10",
- check: {
- input: "tsv option2 10",
- hints: "",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "optionValue",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsv" },
- optionType: {
- value: "number",
- arg: " option2",
- status: "VALID",
- message: ""
- },
- optionValue: {
- arg: " 10",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Exec: tsv optionType=option2 optionValue=10"
- }
- },
- // Delegated remote types can't transfer value types so we only test for
- // the value of optionValue when we're local
- {
- skipIf: options.isRemote,
- setup: "tsv option1 10",
- check: {
- args: { optionValue: { value: "10" } }
- },
- exec: {
- output: "Exec: tsv optionType=option1 optionValue=10"
- }
- },
- {
- skipIf: options.isRemote,
- setup: "tsv option2 10",
- check: {
- args: { optionValue: { value: 10 } }
- },
- exec: {
- output: "Exec: tsv optionType=option2 optionValue=10"
- }
- }
- ]);
-};
-
-exports.testExecText = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsr fred",
- check: {
- input: "tsr fred",
- hints: "",
- markup: "VVVVVVVV",
- cursor: 8,
- current: "text",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsr" },
- text: {
- value: "fred",
- arg: " fred",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Exec: tsr text=fred"
- }
- },
- {
- setup: "tsr fred bloggs",
- check: {
- input: "tsr fred bloggs",
- hints: "",
- markup: "VVVVVVVVVVVVVVV",
- cursor: 15,
- current: "text",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsr" },
- text: {
- value: "fred bloggs",
- arg: " fred bloggs",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Exec: tsr text=fred\\ bloggs"
- }
- },
- {
- setup: 'tsr "fred bloggs"',
- check: {
- input: 'tsr "fred bloggs"',
- hints: "",
- markup: "VVVVVVVVVVVVVVVVV",
- cursor: 17,
- current: "text",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsr" },
- text: {
- value: "fred bloggs",
- arg: ' "fred bloggs"',
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Exec: tsr text=fred\\ bloggs"
- }
- },
- {
- setup: 'tsr "fred bloggs',
- check: {
- input: 'tsr "fred bloggs',
- hints: "",
- markup: "VVVVVVVVVVVVVVVV",
- cursor: 16,
- current: "text",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsr" },
- text: {
- value: "fred bloggs",
- arg: ' "fred bloggs',
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Exec: tsr text=fred\\ bloggs"
- }
- }
- ]);
-};
-
-exports.testExecBoolean = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsb",
- check: {
- input: "tsb",
- hints: " [toggle]",
- markup: "VVV",
- cursor: 3,
- current: "__command",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsb" },
- toggle: {
- value: false,
- arg: "",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Exec: tsb toggle=false"
- }
- },
- {
- setup: "tsb --toggle",
- check: {
- input: "tsb --toggle",
- hints: "",
- markup: "VVVVVVVVVVVV",
- cursor: 12,
- current: "toggle",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- outputState: "false:default",
- args: {
- command: { name: "tsb" },
- toggle: {
- value: true,
- arg: " --toggle",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Exec: tsb toggle=true"
- }
- }
- ]);
-};
-
-exports.testExecNumber = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsu 10",
- check: {
- input: "tsu 10",
- hints: "",
- markup: "VVVVVV",
- cursor: 6,
- current: "num",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsu" },
- num: { value: 10, arg: " 10", status: "VALID", message: "" }
- }
- },
- exec: {
- output: "Exec: tsu num=10"
- }
- },
- {
- setup: "tsu --num 10",
- check: {
- input: "tsu --num 10",
- hints: "",
- markup: "VVVVVVVVVVVV",
- cursor: 12,
- current: "num",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsu" },
- num: { value: 10, arg: " --num 10", status: "VALID", message: "" }
- }
- },
- exec: {
- output: "Exec: tsu num=10"
- }
- }
- ]);
-};
-
-exports.testExecScript = function (options) {
- return helpers.audit(options, [
- {
- // Bug 704829 - Enable GCLI Javascript parameters
- // The answer to this should be 2
- setup: "tsj { 1 + 1 }",
- check: {
- input: "tsj { 1 + 1 }",
- hints: "",
- markup: "VVVVVVVVVVVVV",
- cursor: 13,
- current: "javascript",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsj" },
- javascript: {
- arg: " { 1 + 1 }",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Exec: tsj javascript=1 + 1"
- }
- }
- ]);
-};
-
-exports.testExecNode = function (options) {
- return helpers.audit(options, [
- {
- skipIf: options.isRemote,
- setup: "tse :root",
- check: {
- input: "tse :root",
- hints: " [options]",
- markup: "VVVVVVVVV",
- cursor: 9,
- current: "node",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tse" },
- node: {
- arg: " :root",
- status: "VALID",
- message: ""
- },
- nodes: {
- arg: "",
- status: "VALID",
- message: ""
- },
- nodes2: {
- arg: "",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: /^Exec: tse/
- },
- post: function (output) {
- assert.is(output.data.args.node, ":root", "node should be :root");
- assert.is(output.data.args.nodes, "Error", "nodes should be Error");
- assert.is(output.data.args.nodes2, "Error", "nodes2 should be Error");
- }
- }
- ]);
-};
-
-exports.testExecSubCommand = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsn dif fred",
- check: {
- input: "tsn dif fred",
- hints: "",
- markup: "VVVVVVVVVVVV",
- cursor: 12,
- current: "text",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsn dif" },
- text: { value: "fred", arg: " fred", status: "VALID", message: "" }
- }
- },
- exec: {
- output: "Exec: tsnDif text=fred"
- }
- },
- {
- setup: "tsn exten fred",
- check: {
- input: "tsn exten fred",
- hints: "",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "text",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsn exten" },
- text: { value: "fred", arg: " fred", status: "VALID", message: "" },
- }
- },
- exec: {
- output: "Exec: tsnExten text=fred"
- }
- },
- {
- setup: "tsn extend fred",
- check: {
- input: "tsn extend fred",
- hints: "",
- markup: "VVVVVVVVVVVVVVV",
- cursor: 15,
- current: "text",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsn extend" },
- text: { value: "fred", arg: " fred", status: "VALID", message: "" },
- }
- },
- exec: {
- output: "Exec: tsnExtend text=fred"
- }
- }
- ]);
-};
-
-exports.testExecArray = function (options) {
- return helpers.audit(options, [
- {
- setup: "tselarr 1",
- check: {
- input: "tselarr 1",
- hints: "",
- markup: "VVVVVVVVV",
- cursor: 9,
- current: "num",
- status: "VALID",
- predictions: ["1"],
- unassigned: [ ],
- outputState: "false:default",
- args: {
- command: { name: "tselarr" },
- num: { value: "1", arg: " 1", status: "VALID", message: "" },
- arr: { /* value:,*/ arg: "{}", status: "VALID", message: "" },
- }
- },
- exec: {
- output: "Exec: tselarr num=1 arr="
- }
- },
- {
- setup: "tselarr 1 a",
- check: {
- input: "tselarr 1 a",
- hints: "",
- markup: "VVVVVVVVVVV",
- cursor: 11,
- current: "arr",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tselarr" },
- num: { value: "1", arg: " 1", status: "VALID", message: "" },
- arr: { /* value:a,*/ arg: "{ a}", status: "VALID", message: "" },
- }
- },
- exec: {
- output: "Exec: tselarr num=1 arr=a"
- }
- },
- {
- setup: "tselarr 1 a b",
- check: {
- input: "tselarr 1 a b",
- hints: "",
- markup: "VVVVVVVVVVVVV",
- cursor: 13,
- current: "arr",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tselarr" },
- num: { value: "1", arg: " 1", status: "VALID", message: "" },
- arr: { /* value:a,b,*/ arg: "{ a, b}", status: "VALID", message: "" },
- }
- },
- exec: {
- output: "Exec: tselarr num=1 arr=a b"
- }
- }
- ]);
-};
-
-exports.testExecMultiple = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsm a 10 10",
- check: {
- input: "tsm a 10 10",
- hints: "",
- markup: "VVVVVVVVVVV",
- cursor: 11,
- current: "num",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tsm" },
- abc: { value: "a", arg: " a", status: "VALID", message: "" },
- txt: { value: "10", arg: " 10", status: "VALID", message: "" },
- num: { value: 10, arg: " 10", status: "VALID", message: "" },
- }
- },
- exec: {
- output: "Exec: tsm abc=a txt=10 num=10"
- }
- }
- ]);
-};
-
-exports.testExecDefaults = function (options) {
- return helpers.audit(options, [
- {
- // Bug 707009 - GCLI doesn't always fill in default parameters properly
- setup: "tsg aaa",
- check: {
- input: "tsg aaa",
- hints: " [options]",
- markup: "VVVVVVV",
- cursor: 7,
- current: "solo",
- status: "VALID",
- predictions: ["aaa"],
- unassigned: [ ],
- args: {
- command: { name: "tsg" },
- solo: { value: "aaa", arg: " aaa", status: "VALID", message: "" },
- txt1: { value: undefined, arg: "", status: "VALID", message: "" },
- bool: { value: false, arg: "", status: "VALID", message: "" },
- txt2: { value: undefined, arg: "", status: "VALID", message: "" },
- num: { value: undefined, arg: "", status: "VALID", message: "" },
- }
- },
- exec: {
- output: "Exec: tsg solo=aaa txt1= bool=false txt2=d num=42"
- }
- }
- ]);
-};
-
-exports.testNested = function (options) {
- var commands = options.requisition.system.commands;
- commands.add({
- name: "nestorama",
- exec: function (args, context) {
- return context.updateExec("tsb").then(function (tsbOutput) {
- return context.updateExec("tsu 6").then(function (tsuOutput) {
- return JSON.stringify({
- tsb: tsbOutput.data,
- tsu: tsuOutput.data
- });
- });
- });
- }
- });
-
- return helpers.audit(options, [
- {
- setup: "nestorama",
- exec: {
- output:
- "{" +
- '"tsb":{' +
- '"name":"tsb",' +
- '"args":{"toggle":"false"}' +
- "}," +
- '"tsu":{' +
- '"name":"tsu",' +
- '"args":{"num":"6"}' +
- "}" +
- "}"
- },
- post: function () {
- commands.remove("nestorama");
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_fail.js
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_fail.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testBasic = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsfail reject",
- exec: {
- output: "rejected promise",
- type: "error",
- error: true
- }
- },
- {
- setup: "tsfail rejecttyped",
- exec: {
- output: "54",
- type: "number",
- error: true
- }
- },
- {
- setup: "tsfail throwerror",
- exec: {
- output: /thrown error$/,
- type: "error",
- error: true
- }
- },
- {
- setup: "tsfail throwstring",
- exec: {
- output: "thrown string",
- type: "error",
- error: true
- }
- },
- {
- setup: "tsfail noerror",
- exec: {
- output: "no error",
- type: "string",
- error: false
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_file.js
+++ /dev/null
@@ -1,821 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_file.js");
-}
-
-// var helpers = require('./helpers');
-
-var local = false;
-
-exports.testBasic = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: options.isFirefox, // No file implementation in Firefox
- setup: "tsfile open /",
- check: {
- input: "tsfile open /",
- hints: "",
- markup: "VVVVVVVVVVVVI",
- cursor: 13,
- current: "p1",
- status: "ERROR",
- message: "'/' is not a file",
- args: {
- command: { name: "tsfile open" },
- p1: {
- value: undefined,
- arg: " /",
- status: "INCOMPLETE",
- message: "'/' is not a file"
- }
- }
- }
- },
- {
- setup: "tsfile open /zxcv",
- check: {
- input: "tsfile open /zxcv",
- // hints: ' -> /etc/',
- markup: "VVVVVVVVVVVVIIIII",
- cursor: 17,
- current: "p1",
- status: "ERROR",
- message: "'/zxcv' doesn't exist",
- args: {
- command: { name: "tsfile open" },
- p1: {
- value: undefined,
- arg: " /zxcv",
- status: "INCOMPLETE",
- message: "'/zxcv' doesn't exist"
- }
- }
- }
- },
- {
- skipIf: !local,
- setup: "tsfile open /mach_kernel",
- check: {
- input: "tsfile open /mach_kernel",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
- cursor: 24,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile open" },
- p1: {
- value: "/mach_kernel",
- arg: " /mach_kernel",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tsfile saveas /",
- check: {
- input: "tsfile saveas /",
- hints: "",
- markup: "VVVVVVVVVVVVVVI",
- cursor: 15,
- current: "p1",
- status: "ERROR",
- message: "'/' already exists",
- args: {
- command: { name: "tsfile saveas" },
- p1: {
- value: undefined,
- arg: " /",
- status: "INCOMPLETE",
- message: "'/' already exists"
- }
- }
- }
- },
- {
- setup: "tsfile saveas /zxcv",
- check: {
- input: "tsfile saveas /zxcv",
- // hints: ' -> /etc/',
- markup: "VVVVVVVVVVVVVVVVVVV",
- cursor: 19,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile saveas" },
- p1: {
- value: "/zxcv",
- arg: " /zxcv",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- skipIf: !local,
- setup: "tsfile saveas /mach_kernel",
- check: {
- input: "tsfile saveas /mach_kernel",
- hints: "",
- markup: "VVVVVVVVVVVVVVIIIIIIIIIIII",
- cursor: 26,
- current: "p1",
- status: "ERROR",
- message: "'/mach_kernel' already exists",
- args: {
- command: { name: "tsfile saveas" },
- p1: {
- value: undefined,
- arg: " /mach_kernel",
- status: "INCOMPLETE",
- message: "'/mach_kernel' already exists"
- }
- }
- }
- },
- {
- setup: "tsfile save /",
- check: {
- input: "tsfile save /",
- hints: "",
- markup: "VVVVVVVVVVVVI",
- cursor: 13,
- current: "p1",
- status: "ERROR",
- message: "'/' is not a file",
- args: {
- command: { name: "tsfile save" },
- p1: {
- value: undefined,
- arg: " /",
- status: "INCOMPLETE",
- message: "'/' is not a file"
- }
- }
- }
- },
- {
- setup: "tsfile save /zxcv",
- check: {
- input: "tsfile save /zxcv",
- // hints: ' -> /etc/',
- markup: "VVVVVVVVVVVVVVVVV",
- cursor: 17,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile save" },
- p1: {
- value: "/zxcv",
- arg: " /zxcv",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- skipIf: !local,
- setup: "tsfile save /mach_kernel",
- check: {
- input: "tsfile save /mach_kernel",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
- cursor: 24,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile save" },
- p1: {
- value: "/mach_kernel",
- arg: " /mach_kernel",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tsfile cd /",
- check: {
- input: "tsfile cd /",
- hints: "",
- markup: "VVVVVVVVVVV",
- cursor: 11,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile cd" },
- p1: {
- value: "/",
- arg: " /",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tsfile cd /zxcv",
- check: {
- input: "tsfile cd /zxcv",
- // hints: ' -> /dev/',
- markup: "VVVVVVVVVVIIIII",
- cursor: 15,
- current: "p1",
- status: "ERROR",
- message: "'/zxcv' doesn't exist",
- args: {
- command: { name: "tsfile cd" },
- p1: {
- value: undefined,
- arg: " /zxcv",
- status: "INCOMPLETE",
- message: "'/zxcv' doesn't exist"
- }
- }
- }
- },
- {
- skipIf: true || !local,
- setup: "tsfile cd /etc/passwd",
- check: {
- input: "tsfile cd /etc/passwd",
- hints: " -> /etc/pam.d/",
- markup: "VVVVVVVVVVIIIIIIIIIII",
- cursor: 21,
- current: "p1",
- status: "ERROR",
- message: "'/etc/passwd' is not a directory",
- args: {
- command: { name: "tsfile cd" },
- p1: {
- value: undefined,
- arg: " /etc/passwd",
- status: "INCOMPLETE",
- message: "'/etc/passwd' is not a directory"
- }
- }
- }
- },
- {
- setup: "tsfile mkdir /",
- check: {
- input: "tsfile mkdir /",
- hints: "",
- markup: "VVVVVVVVVVVVVI",
- cursor: 14,
- current: "p1",
- status: "ERROR",
- message: "" / " already exists",
- args: {
- command: { name: "tsfile mkdir" },
- p1: {
- value: undefined,
- arg: " /",
- status: "INCOMPLETE",
- message: "'/' already exists"
- }
- }
- }
- },
- {
- setup: "tsfile mkdir /zxcv",
- check: {
- input: "tsfile mkdir /zxcv",
- // hints: ' -> /dev/',
- markup: "VVVVVVVVVVVVVVVVVV",
- cursor: 18,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile mkdir" },
- p1: {
- value: "/zxcv",
- arg: " /zxcv",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- skipIf: !local,
- setup: "tsfile mkdir /mach_kernel",
- check: {
- input: "tsfile mkdir /mach_kernel",
- hints: "",
- markup: "VVVVVVVVVVVVVIIIIIIIIIIII",
- cursor: 25,
- current: "p1",
- status: "ERROR",
- message: "'/mach_kernel' already exists",
- args: {
- command: { name: "tsfile mkdir" },
- p1: {
- value: undefined,
- arg: " /mach_kernel",
- status: "INCOMPLETE",
- message: "'/mach_kernel' already exists"
- }
- }
- }
- },
- {
- setup: "tsfile rm /",
- check: {
- input: "tsfile rm /",
- hints: "",
- markup: "VVVVVVVVVVV",
- cursor: 11,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile rm" },
- p1: {
- value: "/",
- arg: " /",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tsfile rm /zxcv",
- check: {
- input: "tsfile rm /zxcv",
- // hints: ' -> /etc/',
- markup: "VVVVVVVVVVIIIII",
- cursor: 15,
- current: "p1",
- status: "ERROR",
- message: "'/zxcv' doesn't exist",
- args: {
- command: { name: "tsfile rm" },
- p1: {
- value: undefined,
- arg: " /zxcv",
- status: "INCOMPLETE",
- message: "'/zxcv' doesn't exist"
- }
- }
- }
- },
- {
- skipIf: !local,
- setup: "tsfile rm /mach_kernel",
- check: {
- input: "tsfile rm /mach_kernel",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVV",
- cursor: 22,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile rm" },
- p1: {
- value: "/mach_kernel",
- arg: " /mach_kernel",
- status: "VALID",
- message: ""
- }
- }
- }
- }
- ]);
-};
-
-exports.testFirefoxBasic = function (options) {
- return helpers.audit(options, [
- {
- // These tests are just like the ones above tailored for running in
- // Firefox
- skipRemainingIf: true,
- // skipRemainingIf: !options.isFirefox,
- skipIf: true,
- setup: "tsfile open /",
- check: {
- input: "tsfile open /",
- hints: "",
- markup: "VVVVVVVVVVVVI",
- cursor: 13,
- current: "p1",
- status: "ERROR",
- message: "'/' is not a file",
- args: {
- command: { name: "tsfile open" },
- p1: {
- value: undefined,
- arg: " /",
- status: "INCOMPLETE",
- message: "'/' is not a file"
- }
- }
- }
- },
- {
- skipIf: true,
- setup: "tsfile open /zxcv",
- check: {
- input: "tsfile open /zxcv",
- // hints: ' -> /etc/',
- markup: "VVVVVVVVVVVVIIIII",
- cursor: 17,
- current: "p1",
- status: "ERROR",
- message: "'/zxcv' doesn't exist",
- args: {
- command: { name: "tsfile open" },
- p1: {
- value: undefined,
- arg: " /zxcv",
- status: "INCOMPLETE",
- message: "'/zxcv' doesn't exist"
- }
- }
- }
- },
- {
- skipIf: !local,
- setup: "tsfile open /mach_kernel",
- check: {
- input: "tsfile open /mach_kernel",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
- cursor: 24,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile open" },
- p1: {
- value: "/mach_kernel",
- arg: " /mach_kernel",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- skipIf: true,
- setup: "tsfile saveas /",
- check: {
- input: "tsfile saveas /",
- hints: "",
- markup: "VVVVVVVVVVVVVVI",
- cursor: 15,
- current: "p1",
- status: "ERROR",
- message: "'/' already exists",
- args: {
- command: { name: "tsfile saveas" },
- p1: {
- value: undefined,
- arg: " /",
- status: "INCOMPLETE",
- message: "'/' already exists"
- }
- }
- }
- },
- {
- skipIf: true,
- setup: "tsfile saveas /zxcv",
- check: {
- input: "tsfile saveas /zxcv",
- // hints: ' -> /etc/',
- markup: "VVVVVVVVVVVVVVVVVVV",
- cursor: 19,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile saveas" },
- p1: {
- value: "/zxcv",
- arg: " /zxcv",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- skipIf: !local,
- setup: "tsfile saveas /mach_kernel",
- check: {
- input: "tsfile saveas /mach_kernel",
- hints: "",
- markup: "VVVVVVVVVVVVVVIIIIIIIIIIII",
- cursor: 26,
- current: "p1",
- status: "ERROR",
- message: "'/mach_kernel' already exists",
- args: {
- command: { name: "tsfile saveas" },
- p1: {
- value: undefined,
- arg: " /mach_kernel",
- status: "INCOMPLETE",
- message: "'/mach_kernel' already exists"
- }
- }
- }
- },
- {
- skipIf: true,
- setup: "tsfile save /",
- check: {
- input: "tsfile save /",
- hints: "",
- markup: "VVVVVVVVVVVVI",
- cursor: 13,
- current: "p1",
- status: "ERROR",
- message: "'/' is not a file",
- args: {
- command: { name: "tsfile save" },
- p1: {
- value: undefined,
- arg: " /",
- status: "INCOMPLETE",
- message: "'/' is not a file"
- }
- }
- }
- },
- {
- skipIf: true,
- setup: "tsfile save /zxcv",
- check: {
- input: "tsfile save /zxcv",
- // hints: ' -> /etc/',
- markup: "VVVVVVVVVVVVVVVVV",
- cursor: 17,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile save" },
- p1: {
- value: "/zxcv",
- arg: " /zxcv",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- skipIf: !local,
- setup: "tsfile save /mach_kernel",
- check: {
- input: "tsfile save /mach_kernel",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
- cursor: 24,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile save" },
- p1: {
- value: "/mach_kernel",
- arg: " /mach_kernel",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tsfile cd /",
- check: {
- input: "tsfile cd /",
- hints: "",
- markup: "VVVVVVVVVVV",
- cursor: 11,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile cd" },
- p1: {
- value: "/",
- arg: " /",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tsfile cd /zxcv",
- check: {
- input: "tsfile cd /zxcv",
- // hints: ' -> /dev/',
- // markup: 'VVVVVVVVVVIIIII',
- cursor: 15,
- current: "p1",
- // status: 'ERROR',
- message: "'/zxcv' doesn't exist",
- args: {
- command: { name: "tsfile cd" },
- p1: {
- value: undefined,
- arg: " /zxcv",
- // status: 'INCOMPLETE',
- message: "'/zxcv' doesn't exist"
- }
- }
- }
- },
- {
- skipIf: true || !local,
- setup: "tsfile cd /etc/passwd",
- check: {
- input: "tsfile cd /etc/passwd",
- hints: " -> /etc/pam.d/",
- markup: "VVVVVVVVVVIIIIIIIIIII",
- cursor: 21,
- current: "p1",
- status: "ERROR",
- message: "'/etc/passwd' is not a directory",
- args: {
- command: { name: "tsfile cd" },
- p1: {
- value: undefined,
- arg: " /etc/passwd",
- status: "INCOMPLETE",
- message: "'/etc/passwd' is not a directory"
- }
- }
- }
- },
- {
- setup: "tsfile mkdir /",
- check: {
- input: "tsfile mkdir /",
- hints: "",
- markup: "VVVVVVVVVVVVVI",
- cursor: 14,
- current: "p1",
- status: "ERROR",
- message: "" / " already exists",
- args: {
- command: { name: "tsfile mkdir" },
- p1: {
- value: undefined,
- arg: " /",
- status: "INCOMPLETE",
- message: "'/' already exists"
- }
- }
- }
- },
- {
- setup: "tsfile mkdir /zxcv",
- check: {
- input: "tsfile mkdir /zxcv",
- // hints: ' -> /dev/',
- markup: "VVVVVVVVVVVVVVVVVV",
- cursor: 18,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile mkdir" },
- p1: {
- value: "/zxcv",
- arg: " /zxcv",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- skipIf: !local,
- setup: "tsfile mkdir /mach_kernel",
- check: {
- input: "tsfile mkdir /mach_kernel",
- hints: "",
- markup: "VVVVVVVVVVVVVIIIIIIIIIIII",
- cursor: 25,
- current: "p1",
- status: "ERROR",
- message: "'/mach_kernel' already exists",
- args: {
- command: { name: "tsfile mkdir" },
- p1: {
- value: undefined,
- arg: " /mach_kernel",
- status: "INCOMPLETE",
- message: "'/mach_kernel' already exists"
- }
- }
- }
- },
- {
- skipIf: true,
- setup: "tsfile rm /",
- check: {
- input: "tsfile rm /",
- hints: "",
- markup: "VVVVVVVVVVV",
- cursor: 11,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile rm" },
- p1: {
- value: "/",
- arg: " /",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- skipIf: true,
- setup: "tsfile rm /zxcv",
- check: {
- input: "tsfile rm /zxcv",
- // hints: ' -> /etc/',
- markup: "VVVVVVVVVVIIIII",
- cursor: 15,
- current: "p1",
- status: "ERROR",
- message: "'/zxcv' doesn't exist",
- args: {
- command: { name: "tsfile rm" },
- p1: {
- value: undefined,
- arg: " /zxcv",
- status: "INCOMPLETE",
- message: "'/zxcv' doesn't exist"
- }
- }
- }
- },
- {
- skipIf: !local,
- setup: "tsfile rm /mach_kernel",
- check: {
- input: "tsfile rm /mach_kernel",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVV",
- cursor: 22,
- current: "p1",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsfile rm" },
- p1: {
- value: "/mach_kernel",
- arg: " /mach_kernel",
- status: "VALID",
- message: ""
- }
- }
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_fileparser.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_fileparser.js");
-}
-
-// var assert = require('../testharness/assert');
-var fileparser = require("gcli/util/fileparser");
-
-var local = false;
-
-exports.testGetPredictor = function (options) {
- if (!options.isNode || !local) {
- assert.log("Skipping tests due to install differences.");
- return;
- }
-
- var opts = { filetype: "file", existing: "yes" };
- var predictor = fileparser.getPredictor("/usr/locl/bin/nmp", opts);
- return predictor().then(function (replies) {
- assert.is(replies[0].name,
- "/usr/local/bin/npm",
- "predict npm");
- });
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_filesystem.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_filesystem.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-var filesystem = require("gcli/util/filesystem");
-
-exports.testSplit = function (options) {
- if (!options.isNode) {
- return;
- }
-
- helpers.arrayIs(filesystem.split("", "/"),
- [ "." ],
- "split <blank>");
-
- helpers.arrayIs(filesystem.split("a", "/"),
- [ "a" ],
- "split a");
-
- helpers.arrayIs(filesystem.split("a/b/c", "/"),
- [ "a", "b", "c" ],
- "split a/b/c");
-
- helpers.arrayIs(filesystem.split("/a/b/c/", "/"),
- [ "a", "b", "c" ],
- "split a/b/c");
-
- helpers.arrayIs(filesystem.split("/a/b///c/", "/"),
- [ "a", "b", "c" ],
- "split a/b/c");
-};
-
-exports.testJoin = function (options) {
- if (!options.isNode) {
- return;
- }
-
- assert.is(filesystem.join("usr", "local", "bin"),
- "usr/local/bin",
- "join to usr/local/bin");
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_focus.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_focus.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testBasic = function (options) {
- return helpers.audit(options, [
- {
- name: "exec setup",
- setup: function () {
- // Just check that we've got focus, and everything is clear
- helpers.focusInput(options);
- return helpers.setInput(options, "echo hi");
- },
- check: { },
- exec: { }
- },
- {
- setup: "tsn deep",
- check: {
- input: "tsn deep",
- hints: " down nested cmd",
- markup: "IIIVIIII",
- cursor: 8,
- status: "ERROR",
- outputState: "false:default",
- tooltipState: "false:default"
- }
- },
- {
- setup: "tsn deep<TAB>",
- check: {
- input: "tsn deep down nested cmd ",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVV",
- cursor: 25,
- status: "VALID",
- outputState: "false:default",
- tooltipState: "false:default"
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_history.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_history.js");
-}
-
-// var assert = require('../testharness/assert');
-var History = require("gcli/ui/history").History;
-
-exports.testSimpleHistory = function (options) {
- var history = new History({});
- history.add("foo");
- history.add("bar");
- assert.is(history.backward(), "bar");
- assert.is(history.backward(), "foo");
-
- // Adding to the history again moves us back to the start of the history.
- history.add("quux");
- assert.is(history.backward(), "quux");
- assert.is(history.backward(), "bar");
- assert.is(history.backward(), "foo");
-};
-
-exports.testBackwardsPastIndex = function (options) {
- var history = new History({});
- history.add("foo");
- history.add("bar");
- assert.is(history.backward(), "bar");
- assert.is(history.backward(), "foo");
-
- // Moving backwards past recorded history just keeps giving you the last
- // item.
- assert.is(history.backward(), "foo");
-};
-
-exports.testForwardsPastIndex = function (options) {
- var history = new History({});
- history.add("foo");
- history.add("bar");
- assert.is(history.backward(), "bar");
- assert.is(history.backward(), "foo");
-
- // Going forward through the history again.
- assert.is(history.forward(), "bar");
-
- // 'Present' time.
- assert.is(history.forward(), "");
-
- // Going to the 'future' just keeps giving us the empty string.
- assert.is(history.forward(), "");
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_incomplete.js
+++ /dev/null
@@ -1,439 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_incomplete.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-
-exports.testBasic = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsu 2 extra",
- check: {
- args: {
- num: { value: 2, type: "Argument" }
- }
- },
- post: function () {
- var requisition = options.requisition;
-
- assert.is(requisition._unassigned.length,
- 1,
- "single unassigned: tsu 2 extra");
- assert.is(requisition._unassigned[0].param.type.isIncompleteName,
- false,
- "unassigned.isIncompleteName: tsu 2 extra");
- }
- },
- {
- setup: "tsu",
- check: {
- args: {
- num: { value: undefined, type: "BlankArgument" }
- }
- }
- },
- {
- setup: "tsg",
- check: {
- args: {
- solo: { type: "BlankArgument" },
- txt1: { type: "BlankArgument" },
- bool: { type: "BlankArgument" },
- txt2: { type: "BlankArgument" },
- num: { type: "BlankArgument" }
- }
- }
- }
- ]);
-};
-
-exports.testCompleted = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsela<TAB>",
- check: {
- args: {
- command: { name: "tselarr", type: "Argument" },
- num: { type: "BlankArgument" },
- arr: { type: "ArrayArgument" }
- }
- }
- },
- {
- setup: "tsn dif ",
- check: {
- input: "tsn dif ",
- hints: "<text>",
- markup: "VVVVVVVV",
- cursor: 8,
- status: "ERROR",
- args: {
- command: { name: "tsn dif", type: "MergedArgument" },
- text: { type: "BlankArgument", status: "INCOMPLETE" }
- }
- }
- },
- {
- setup: "tsn di<TAB>",
- check: {
- input: "tsn dif ",
- hints: "<text>",
- markup: "VVVVVVVV",
- cursor: 8,
- status: "ERROR",
- args: {
- command: { name: "tsn dif", type: "Argument" },
- text: { type: "BlankArgument", status: "INCOMPLETE" }
- }
- }
- },
- // The above 2 tests take different routes to 'tsn dif '.
- // The results should be similar. The difference is in args.command.type.
- {
- setup: "tsg -",
- check: {
- input: "tsg -",
- hints: "-txt1 <solo> [options]",
- markup: "VVVVI",
- cursor: 5,
- status: "ERROR",
- args: {
- solo: { value: undefined, status: "INCOMPLETE" },
- txt1: { value: undefined, status: "VALID" },
- bool: { value: false, status: "VALID" },
- txt2: { value: undefined, status: "VALID" },
- num: { value: undefined, status: "VALID" }
- }
- }
- },
- {
- setup: "tsg -<TAB>",
- check: {
- input: "tsg --txt1 ",
- hints: "<string> <solo> [options]",
- markup: "VVVVIIIIIIV",
- cursor: 11,
- status: "ERROR",
- args: {
- solo: { value: undefined, status: "INCOMPLETE" },
- txt1: { value: undefined, status: "INCOMPLETE" },
- bool: { value: false, status: "VALID" },
- txt2: { value: undefined, status: "VALID" },
- num: { value: undefined, status: "VALID" }
- }
- }
- },
- {
- setup: "tsg --txt1 fred",
- check: {
- input: "tsg --txt1 fred",
- hints: " <solo> [options]",
- markup: "VVVVVVVVVVVVVVV",
- status: "ERROR",
- args: {
- solo: { value: undefined, status: "INCOMPLETE" },
- txt1: { value: "fred", status: "VALID" },
- bool: { value: false, status: "VALID" },
- txt2: { value: undefined, status: "VALID" },
- num: { value: undefined, status: "VALID" }
- }
- }
- },
- {
- setup: "tscook key value --path path --",
- check: {
- input: "tscook key value --path path --",
- hints: "domain [options]",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVII",
- status: "ERROR",
- args: {
- key: { value: "key", status: "VALID" },
- value: { value: "value", status: "VALID" },
- path: { value: "path", status: "VALID" },
- domain: { value: undefined, status: "VALID" },
- secure: { value: false, status: "VALID" }
- }
- }
- },
- {
- setup: "tscook key value --path path --domain domain --",
- check: {
- input: "tscook key value --path path --domain domain --",
- hints: "secure [options]",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVII",
- status: "ERROR",
- args: {
- key: { value: "key", status: "VALID" },
- value: { value: "value", status: "VALID" },
- path: { value: "path", status: "VALID" },
- domain: { value: "domain", status: "VALID" },
- secure: { value: false, status: "VALID" }
- }
- }
- }
- ]);
-
-};
-
-exports.testCase = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsg AA",
- check: {
- input: "tsg AA",
- hints: " [options] -> aaa",
- markup: "VVVVII",
- status: "ERROR",
- args: {
- solo: { value: undefined, text: "AA", status: "INCOMPLETE" },
- txt1: { value: undefined, status: "VALID" },
- bool: { value: false, status: "VALID" },
- txt2: { value: undefined, status: "VALID" },
- num: { value: undefined, status: "VALID" }
- }
- }
- }
- ]);
-};
-
-exports.testIncomplete = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsm a a -",
- check: {
- args: {
- abc: { value: "a", type: "Argument" },
- txt: { value: "a", type: "Argument" },
- num: { value: undefined, arg: " -", type: "Argument", status: "INCOMPLETE" }
- }
- }
- },
- {
- setup: "tsg -",
- check: {
- args: {
- solo: { type: "BlankArgument" },
- txt1: { type: "BlankArgument" },
- bool: { type: "BlankArgument" },
- txt2: { type: "BlankArgument" },
- num: { type: "BlankArgument" }
- }
- },
- post: function () {
- var requisition = options.requisition;
-
- assert.is(requisition._unassigned[0],
- requisition.getAssignmentAt(5),
- "unassigned -");
- assert.is(requisition._unassigned.length,
- 1,
- "single unassigned - tsg -");
- assert.is(requisition._unassigned[0].param.type.isIncompleteName,
- true,
- "unassigned.isIncompleteName: tsg -");
- }
- }
- ]);
-};
-
-exports.testRepeated = function (options) {
- return helpers.audit(options, [
- {
- setup: "tscook key value --path jjj --path kkk",
- check: {
- input: "tscook key value --path jjj --path kkk",
- hints: " [options]",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVEEEEEEVEEE",
- cursor: 38,
- current: "__unassigned",
- status: "ERROR",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ " --path", " kkk" ],
- args: {
- command: { name: "tscook" },
- key: {
- value: "key",
- arg: " key",
- status: "VALID",
- message: ""
- },
- value: {
- value: "value",
- arg: " value",
- status: "VALID",
- message: ""
- },
- path: {
- value: "jjj",
- arg: " --path jjj",
- status: "VALID",
- message: ""
- },
- domain: {
- value: undefined,
- arg: "",
- status: "VALID",
- message: ""
- },
- secure: {
- value: false,
- arg: "",
- status: "VALID",
- message: ""
- },
- }
- }
- }
- ]);
-};
-
-exports.testHidden = function (options) {
- return helpers.audit(options, [
- {
- setup: "tshidde",
- check: {
- input: "tshidde",
- hints: " -> tse",
- status: "ERROR"
- }
- },
- {
- setup: "tshidden",
- check: {
- input: "tshidden",
- hints: " [options]",
- markup: "VVVVVVVV",
- status: "VALID",
- args: {
- visible: { value: undefined, status: "VALID" },
- invisiblestring: { value: undefined, status: "VALID" },
- invisibleboolean: { value: false, status: "VALID" }
- }
- }
- },
- {
- setup: "tshidden --vis",
- check: {
- input: "tshidden --vis",
- hints: "ible [options]",
- markup: "VVVVVVVVVIIIII",
- status: "ERROR",
- args: {
- visible: { value: undefined, status: "VALID" },
- invisiblestring: { value: undefined, status: "VALID" },
- invisibleboolean: { value: false, status: "VALID" }
- }
- }
- },
- {
- setup: "tshidden --invisiblestrin",
- check: {
- input: "tshidden --invisiblestrin",
- hints: " [options]",
- markup: "VVVVVVVVVEEEEEEEEEEEEEEEE",
- status: "ERROR",
- args: {
- visible: { value: undefined, status: "VALID" },
- invisiblestring: { value: undefined, status: "VALID" },
- invisibleboolean: { value: false, status: "VALID" }
- }
- }
- },
- {
- setup: "tshidden --invisiblestring",
- check: {
- input: "tshidden --invisiblestring",
- hints: " <string> [options]",
- markup: "VVVVVVVVVIIIIIIIIIIIIIIIII",
- status: "ERROR",
- args: {
- visible: { value: undefined, status: "VALID" },
- invisiblestring: { value: undefined, status: "INCOMPLETE" },
- invisibleboolean: { value: false, status: "VALID" }
- }
- }
- },
- {
- setup: "tshidden --invisiblestring x",
- check: {
- input: "tshidden --invisiblestring x",
- hints: " [options]",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV",
- status: "VALID",
- args: {
- visible: { value: undefined, status: "VALID" },
- invisiblestring: { value: "x", status: "VALID" },
- invisibleboolean: { value: false, status: "VALID" }
- }
- }
- },
- {
- setup: "tshidden --invisibleboolea",
- check: {
- input: "tshidden --invisibleboolea",
- hints: " [options]",
- markup: "VVVVVVVVVEEEEEEEEEEEEEEEEE",
- status: "ERROR",
- args: {
- visible: { value: undefined, status: "VALID" },
- invisiblestring: { value: undefined, status: "VALID" },
- invisibleboolean: { value: false, status: "VALID" }
- }
- }
- },
- {
- setup: "tshidden --invisibleboolean",
- check: {
- input: "tshidden --invisibleboolean",
- hints: " [options]",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVV",
- status: "VALID",
- args: {
- visible: { value: undefined, status: "VALID" },
- invisiblestring: { value: undefined, status: "VALID" },
- invisibleboolean: { value: true, status: "VALID" }
- }
- }
- },
- {
- setup: "tshidden --visible xxx",
- check: {
- input: "tshidden --visible xxx",
- markup: "VVVVVVVVVVVVVVVVVVVVVV",
- status: "VALID",
- hints: "",
- args: {
- visible: { value: "xxx", status: "VALID" },
- invisiblestring: { value: undefined, status: "VALID" },
- invisibleboolean: { value: false, status: "VALID" }
- }
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_inputter.js
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_inputter.js");
-}
-
-// var assert = require('../testharness/assert');
-var KeyEvent = require("gcli/util/util").KeyEvent;
-
-var latestEvent;
-var latestData;
-
-var outputted = function (ev) {
- latestEvent = ev;
-
- ev.output.promise.then(function () {
- latestData = ev.output.data;
- });
-};
-
-
-exports.setup = function (options) {
- options.requisition.commandOutputManager.onOutput.add(outputted);
-};
-
-exports.shutdown = function (options) {
- options.requisition.commandOutputManager.onOutput.remove(outputted);
-};
-
-exports.testOutput = function (options) {
- latestEvent = undefined;
- latestData = undefined;
-
- var terminal = options.terminal;
- if (!terminal) {
- assert.log("Skipping testInputter.testOutput due to lack of terminal.");
- return;
- }
-
- var focusManager = terminal.focusManager;
-
- terminal.setInput("tss");
-
- var ev0 = { keyCode: KeyEvent.DOM_VK_RETURN };
- terminal.onKeyDown(ev0);
-
- assert.is(terminal.getInputState().typed,
- "tss",
- "terminal should do nothing on RETURN keyDown");
- assert.is(latestEvent, undefined, "no events this test");
- assert.is(latestData, undefined, "no data this test");
-
- var ev1 = { keyCode: KeyEvent.DOM_VK_RETURN };
- return terminal.handleKeyUp(ev1).then(function () {
- assert.ok(latestEvent != null, "events this test");
- assert.is(latestData.name, "tss", "last command is tss");
-
- assert.is(terminal.getInputState().typed,
- "",
- "terminal should exec on RETURN keyUp");
-
- assert.ok(focusManager._recentOutput, "recent output happened");
-
- var ev2 = { keyCode: KeyEvent.DOM_VK_F1 };
- return terminal.handleKeyUp(ev2).then(function () {
- assert.ok(!focusManager._recentOutput, "no recent output happened post F1");
- assert.ok(focusManager._helpRequested, "F1 = help");
-
- var ev3 = { keyCode: KeyEvent.DOM_VK_ESCAPE };
- return terminal.handleKeyUp(ev3).then(function () {
- assert.ok(!focusManager._helpRequested, "ESCAPE = anti help");
- });
- });
-
- });
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_intro.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_intro.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testIntroStatus = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: function commandIntroMissing() {
- return options.requisition.system.commands.get("intro") == null;
- },
- setup: "intro",
- check: {
- typed: "intro",
- markup: "VVVVV",
- status: "VALID",
- hints: ""
- }
- },
- {
- setup: "intro foo",
- check: {
- typed: "intro foo",
- markup: "VVVVVVEEE",
- status: "ERROR",
- hints: ""
- }
- },
- {
- setup: "intro",
- check: {
- typed: "intro",
- markup: "VVVVV",
- status: "VALID",
- hints: ""
- },
- exec: {
- output: [
- /command\s*line/,
- /help/,
- /F1/,
- /Escape/
- ]
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_js.js
+++ /dev/null
@@ -1,570 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_js.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-
-exports.setup = function (options) {
- if (jsTestDisallowed(options)) {
- return;
- }
-
- // Check that we're not trespassing on 'donteval'
- var win = options.requisition.environment.window;
- Object.defineProperty(win, "donteval", {
- get: function () {
- assert.ok(false, "donteval should not be used");
- console.trace();
- return { cant: "", touch: "", "this": "" };
- },
- enumerable: true,
- configurable: true
- });
-};
-
-exports.shutdown = function (options) {
- if (jsTestDisallowed(options)) {
- return;
- }
-
- delete options.requisition.environment.window.donteval;
-};
-
-function jsTestDisallowed(options) {
- return options.isRemote || // Altering the environment (which isn't remoted)
- options.isNode ||
- options.requisition.system.commands.get("{") == null;
-}
-
-exports.testBasic = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: jsTestDisallowed,
- setup: "{",
- check: {
- input: "{",
- hints: "",
- markup: "V",
- cursor: 1,
- current: "javascript",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: undefined,
- arg: "{",
- status: "INCOMPLETE"
- }
- }
- }
- },
- {
- setup: "{ ",
- check: {
- input: "{ ",
- hints: "",
- markup: "VV",
- cursor: 2,
- current: "javascript",
- status: "ERROR",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: undefined,
- arg: "{ ",
- status: "INCOMPLETE"
- }
- }
- }
- },
- {
- setup: "{ w",
- check: {
- input: "{ w",
- hints: "indow",
- markup: "VVI",
- cursor: 3,
- current: "javascript",
- status: "ERROR",
- predictionsContains: [ "window" ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "w",
- arg: "{ w",
- status: "INCOMPLETE"
- }
- }
- }
- },
- {
- setup: "{ windo",
- check: {
- input: "{ windo",
- hints: "w",
- markup: "VVIIIII",
- cursor: 7,
- current: "javascript",
- status: "ERROR",
- predictions: [ "window" ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "windo",
- arg: "{ windo",
- status: "INCOMPLETE"
- }
- }
- }
- },
- {
- setup: "{ window",
- check: {
- input: "{ window",
- hints: "",
- markup: "VVVVVVVV",
- cursor: 8,
- current: "javascript",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "window",
- arg: "{ window",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "{ window.do",
- check: {
- input: "{ window.do",
- hints: "cument",
- markup: "VVIIIIIIIII",
- cursor: 11,
- current: "javascript",
- status: "ERROR",
- predictionsContains: [ "window.document" ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "window.do",
- arg: "{ window.do",
- status: "INCOMPLETE"
- }
- }
- }
- },
- {
- setup: "{ window.document.title",
- check: {
- input: "{ window.document.title",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVV",
- cursor: 23,
- current: "javascript",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "window.document.title",
- arg: "{ window.document.title",
- status: "VALID",
- message: ""
- }
- }
- }
- }
- ]);
-};
-
-exports.testDocument = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: jsTestDisallowed,
- setup: "{ docu",
- check: {
- input: "{ docu",
- hints: "ment",
- markup: "VVIIII",
- cursor: 6,
- current: "javascript",
- status: "ERROR",
- predictions: [ "document" ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "docu",
- arg: "{ docu",
- status: "INCOMPLETE"
- }
- }
- }
- },
- {
- setup: "{ docu<TAB>",
- check: {
- input: "{ document",
- hints: "",
- markup: "VVVVVVVVVV",
- cursor: 10,
- current: "javascript",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "document",
- arg: "{ document",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "{ document.titl",
- check: {
- input: "{ document.titl",
- hints: "e",
- markup: "VVIIIIIIIIIIIII",
- cursor: 15,
- current: "javascript",
- status: "ERROR",
- predictions: [ "document.title" ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "document.titl",
- arg: "{ document.titl",
- status: "INCOMPLETE"
- }
- }
- }
- },
- {
- setup: "{ document.titl<TAB>",
- check: {
- input: "{ document.title ",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVV",
- cursor: 17,
- current: "javascript",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "document.title",
- // arg: '{ document.title ',
- // Node/JSDom gets this wrong and omits the trailing space. Why?
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "{ document.title",
- check: {
- input: "{ document.title",
- hints: "",
- markup: "VVVVVVVVVVVVVVVV",
- cursor: 16,
- current: "javascript",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "document.title",
- arg: "{ document.title",
- status: "VALID",
- message: ""
- }
- }
- }
- }
- ]);
-};
-
-exports.testDonteval = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: true, // Commented out until we fix non-enumerable props
- setup: "{ don",
- check: {
- input: "{ don",
- hints: "teval",
- markup: "VVIII",
- cursor: 5,
- current: "javascript",
- status: "ERROR",
- predictions: [ "donteval" ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "don",
- arg: "{ don",
- status: "INCOMPLETE"
- }
- }
- }
- },
- {
- setup: "{ donteval",
- check: {
- input: "{ donteval",
- hints: "",
- markup: "VVVVVVVVVV",
- cursor: 10,
- current: "javascript",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "donteval",
- arg: "{ donteval",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- /*
- // This is a controversial test - technically we can tell that it's an error
- // because 'donteval.' is a syntax error, however donteval is unsafe so we
- // are playing safe by bailing out early. It's enough of a corner case that
- // I don't think it warrants fixing
- {
- setup: '{ donteval.',
- check: {
- input: '{ donteval.',
- hints: '',
- markup: 'VVVVVVVVVVV',
- cursor: 11,
- current: 'javascript',
- status: 'VALID',
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: '{' },
- javascript: {
- value: 'donteval.',
- arg: '{ donteval.',
- status: 'VALID',
- message: ''
- }
- }
- }
- },
- */
- {
- setup: "{ donteval.cant",
- check: {
- input: "{ donteval.cant",
- hints: "",
- markup: "VVVVVVVVVVVVVVV",
- cursor: 15,
- current: "javascript",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "donteval.cant",
- arg: "{ donteval.cant",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "{ donteval.xxx",
- check: {
- input: "{ donteval.xxx",
- hints: "",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "javascript",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "{" },
- javascript: {
- value: "donteval.xxx",
- arg: "{ donteval.xxx",
- status: "VALID",
- message: ""
- }
- }
- }
- }
- ]);
-};
-
-exports.testExec = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: jsTestDisallowed,
- setup: "{ 1+1",
- check: {
- input: "{ 1+1",
- hints: "",
- markup: "VVVVV",
- cursor: 5,
- current: "javascript",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- javascript: {
- value: "1+1",
- arg: "{ 1+1",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "2",
- type: "number",
- error: false
- }
- },
- {
- setup: "{ 1+1 }",
- check: {
- input: "{ 1+1 }",
- hints: "",
- markup: "VVVVVVV",
- cursor: 7,
- current: "javascript",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- javascript: {
- value: "1+1",
- arg: "{ 1+1 }",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "2",
- type: "number",
- error: false
- }
- },
- {
- setup: '{ "hello"',
- check: {
- input: '{ "hello"',
- hints: "",
- markup: "VVVVVVVVV",
- cursor: 9,
- current: "javascript",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- javascript: {
- value: '"hello"',
- arg: '{ "hello"',
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "hello",
- type: "string",
- error: false
- }
- },
- {
- setup: '{ "hello" + 1',
- check: {
- input: '{ "hello" + 1',
- hints: "",
- markup: "VVVVVVVVVVVVV",
- cursor: 13,
- current: "javascript",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- javascript: {
- value: '"hello" + 1',
- arg: '{ "hello" + 1',
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "hello1",
- type: "string",
- error: false
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_keyboard1.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_keyboard1.js");
-}
-
-var javascript = require("gcli/types/javascript");
-// var helpers = require('./helpers');
-
-exports.testSimple = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsela<TAB>",
- check: { input: "tselarr ", cursor: 8 }
- },
- {
- setup: "tsn di<TAB>",
- check: { input: "tsn dif ", cursor: 8 }
- },
- {
- setup: "tsg a<TAB>",
- check: { input: "tsg aaa ", cursor: 8 }
- }
- ]);
-};
-
-exports.testScript = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: options.isRemote ||
- options.requisition.system.commands.get("{") == null,
- setup: "{ wind<TAB>",
- check: { input: "{ window" }
- },
- {
- setup: "{ window.docum<TAB>",
- check: { input: "{ window.document" }
- }
- ]);
-};
-
-exports.testJsdom = function (options) {
- return helpers.audit(options, [
- {
- skipIf: options.isRemote ||
- options.requisition.system.commands.get("{") == null,
- setup: "{ window.document.titl<TAB>",
- check: { input: "{ window.document.title " }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_keyboard2.js
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_keyboard2.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testIncr = function (options) {
- return helpers.audit(options, [
- /*
- // We currently refuse to increment/decrement things with a non-valid
- // status which makes sense for many cases, and is a decent default.
- // However in theory we could do better, these tests are there for then
- {
- setup: 'tsu -70<UP>',
- check: { input: 'tsu -5' }
- },
- {
- setup: 'tsu -7<UP>',
- check: { input: 'tsu -5' }
- },
- {
- setup: 'tsu -6<UP>',
- check: { input: 'tsu -5' }
- },
- */
- {
- setup: "tsu -5<UP>",
- check: { input: "tsu -3" }
- },
- {
- setup: "tsu -4<UP>",
- check: { input: "tsu -3" }
- },
- {
- setup: "tsu -3<UP>",
- check: { input: "tsu 0" }
- },
- {
- setup: "tsu -2<UP>",
- check: { input: "tsu 0" }
- },
- {
- setup: "tsu -1<UP>",
- check: { input: "tsu 0" }
- },
- {
- setup: "tsu 0<UP>",
- check: { input: "tsu 3" }
- },
- {
- setup: "tsu 1<UP>",
- check: { input: "tsu 3" }
- },
- {
- setup: "tsu 2<UP>",
- check: { input: "tsu 3" }
- },
- {
- setup: "tsu 3<UP>",
- check: { input: "tsu 6" }
- },
- {
- setup: "tsu 4<UP>",
- check: { input: "tsu 6" }
- },
- {
- setup: "tsu 5<UP>",
- check: { input: "tsu 6" }
- },
- {
- setup: "tsu 6<UP>",
- check: { input: "tsu 9" }
- },
- {
- setup: "tsu 7<UP>",
- check: { input: "tsu 9" }
- },
- {
- setup: "tsu 8<UP>",
- check: { input: "tsu 9" }
- },
- {
- setup: "tsu 9<UP>",
- check: { input: "tsu 10" }
- },
- {
- setup: "tsu 10<UP>",
- check: { input: "tsu 10" }
- }
- /*
- // See notes above
- {
- setup: 'tsu 100<UP>',
- check: { input: 'tsu 10' }
- }
- */
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_keyboard3.js
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_keyboard3.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testDecr = function (options) {
- return helpers.audit(options, [
- /*
- // See notes at top of testIncr in testKeyboard2.js
- {
- setup: 'tsu -70<DOWN>',
- check: { input: 'tsu -5' }
- },
- {
- setup: 'tsu -7<DOWN>',
- check: { input: 'tsu -5' }
- },
- {
- setup: 'tsu -6<DOWN>',
- check: { input: 'tsu -5' }
- },
- */
- {
- setup: "tsu -5<DOWN>",
- check: { input: "tsu -5" }
- },
- {
- setup: "tsu -4<DOWN>",
- check: { input: "tsu -5" }
- },
- {
- setup: "tsu -3<DOWN>",
- check: { input: "tsu -5" }
- },
- {
- setup: "tsu -2<DOWN>",
- check: { input: "tsu -3" }
- },
- {
- setup: "tsu -1<DOWN>",
- check: { input: "tsu -3" }
- },
- {
- setup: "tsu 0<DOWN>",
- check: { input: "tsu -3" }
- },
- {
- setup: "tsu 1<DOWN>",
- check: { input: "tsu 0" }
- },
- {
- setup: "tsu 2<DOWN>",
- check: { input: "tsu 0" }
- },
- {
- setup: "tsu 3<DOWN>",
- check: { input: "tsu 0" }
- },
- {
- setup: "tsu 4<DOWN>",
- check: { input: "tsu 3" }
- },
- {
- setup: "tsu 5<DOWN>",
- check: { input: "tsu 3" }
- },
- {
- setup: "tsu 6<DOWN>",
- check: { input: "tsu 3" }
- },
- {
- setup: "tsu 7<DOWN>",
- check: { input: "tsu 6" }
- },
- {
- setup: "tsu 8<DOWN>",
- check: { input: "tsu 6" }
- },
- {
- setup: "tsu 9<DOWN>",
- check: { input: "tsu 6" }
- },
- {
- setup: "tsu 10<DOWN>",
- check: { input: "tsu 9" }
- }
- /*
- // See notes at top of testIncr
- {
- setup: 'tsu 100<DOWN>',
- check: { input: 'tsu 9' }
- }
- */
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_keyboard4.js
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_keyboard4.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testIncrFloat = function (options) {
- return helpers.audit(options, [
- /*
- // See notes at top of testIncr
- {
- setup: 'tsf -70<UP>',
- check: { input: 'tsf -6.5' }
- },
- */
- {
- setup: "tsf -6.5<UP>",
- check: { input: "tsf -6" }
- },
- {
- setup: "tsf -6<UP>",
- check: { input: "tsf -4.5" }
- },
- {
- setup: "tsf -4.5<UP>",
- check: { input: "tsf -3" }
- },
- {
- setup: "tsf -4<UP>",
- check: { input: "tsf -3" }
- },
- {
- setup: "tsf -3<UP>",
- check: { input: "tsf -1.5" }
- },
- {
- setup: "tsf -1.5<UP>",
- check: { input: "tsf 0" }
- },
- {
- setup: "tsf 0<UP>",
- check: { input: "tsf 1.5" }
- },
- {
- setup: "tsf 1.5<UP>",
- check: { input: "tsf 3" }
- },
- {
- setup: "tsf 2<UP>",
- check: { input: "tsf 3" }
- },
- {
- setup: "tsf 3<UP>",
- check: { input: "tsf 4.5" }
- },
- {
- setup: "tsf 5<UP>",
- check: { input: "tsf 6" }
- }
- /*
- // See notes at top of testIncr
- {
- setup: 'tsf 100<UP>',
- check: { input: 'tsf -6.5' }
- }
- */
- ]);
-};
-
-exports.testDecrFloat = function (options) {
- return helpers.audit(options, [
- /*
- // See notes at top of testIncr
- {
- setup: 'tsf -70<DOWN>',
- check: { input: 'tsf 11.5' }
- },
- */
- {
- setup: "tsf -6.5<DOWN>",
- check: { input: "tsf -6.5" }
- },
- {
- setup: "tsf -6<DOWN>",
- check: { input: "tsf -6.5" }
- },
- {
- setup: "tsf -4.5<DOWN>",
- check: { input: "tsf -6" }
- },
- {
- setup: "tsf -4<DOWN>",
- check: { input: "tsf -4.5" }
- },
- {
- setup: "tsf -3<DOWN>",
- check: { input: "tsf -4.5" }
- },
- {
- setup: "tsf -1.5<DOWN>",
- check: { input: "tsf -3" }
- },
- {
- setup: "tsf 0<DOWN>",
- check: { input: "tsf -1.5" }
- },
- {
- setup: "tsf 1.5<DOWN>",
- check: { input: "tsf 0" }
- },
- {
- setup: "tsf 2<DOWN>",
- check: { input: "tsf 1.5" }
- },
- {
- setup: "tsf 3<DOWN>",
- check: { input: "tsf 1.5" }
- },
- {
- setup: "tsf 5<DOWN>",
- check: { input: "tsf 4.5" }
- }
- /*
- // See notes at top of testIncr
- {
- setup: 'tsf 100<DOWN>',
- check: { input: 'tsf 11.5' }
- }
- */
- ]);
-};
-
-exports.testIncrSelection = function (options) {
- /*
- // Bug 829516: GCLI up/down navigation over selection is sometimes bizarre
- return helpers.audit(options, [
- {
- setup: 'tselarr <DOWN>',
- check: { hints: '2' },
- exec: {}
- },
- {
- setup: 'tselarr <DOWN><DOWN>',
- check: { hints: '3' },
- exec: {}
- },
- {
- setup: 'tselarr <DOWN><DOWN><DOWN>',
- check: { hints: '1' },
- exec: {}
- }
- ]);
- */
-};
-
-exports.testDecrSelection = function (options) {
- /*
- // Bug 829516: GCLI up/down navigation over selection is sometimes bizarre
- return helpers.audit(options, [
- {
- setup: 'tselarr <UP>',
- check: { hints: '3' }
- }
- ]);
- */
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_keyboard5.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_keyboard5.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testCompleteDown = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsn e<DOWN><DOWN><DOWN><DOWN><DOWN><TAB>",
- check: { input: "tsn exte " }
- },
- {
- setup: "tsn e<DOWN><DOWN><DOWN><DOWN><TAB>",
- check: { input: "tsn ext " }
- },
- {
- setup: "tsn e<DOWN><DOWN><DOWN><TAB>",
- check: { input: "tsn extend " }
- },
- {
- setup: "tsn e<DOWN><DOWN><TAB>",
- check: { input: "tsn exten " }
- },
- {
- setup: "tsn e<DOWN><TAB>",
- check: { input: "tsn exte " }
- },
- {
- setup: "tsn e<TAB>",
- check: { input: "tsn ext " }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_keyboard6.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_keyboard6.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testCompleteUp = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsn e<UP><TAB>",
- check: { input: "tsn extend " }
- },
- {
- setup: "tsn e<UP><UP><TAB>",
- check: { input: "tsn exten " }
- },
- {
- setup: "tsn e<UP><UP><UP><TAB>",
- check: { input: "tsn exte " }
- },
- {
- setup: "tsn e<UP><UP><UP><UP><TAB>",
- check: { input: "tsn ext " }
- },
- {
- setup: "tsn e<UP><UP><UP><UP><UP><TAB>",
- check: { input: "tsn extend " }
- },
- {
- setup: "tsn e<UP><UP><UP><UP><UP><UP><TAB>",
- check: { input: "tsn exten " }
- },
- {
- setup: "tsn e<UP><UP><UP><UP><UP><UP><UP><TAB>",
- check: { input: "tsn exte " }
- },
- {
- setup: "tsn e<UP><UP><UP><UP><UP><UP><UP><UP><TAB>",
- check: { input: "tsn ext " }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_menu.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_menu.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testOptions = function (options) {
- return helpers.audit(options, [
- {
- setup: "tslong",
- check: {
- input: "tslong",
- markup: "VVVVVV",
- status: "ERROR",
- hints: " <msg> [options]",
- args: {
- msg: { value: undefined, status: "INCOMPLETE" },
- num: { value: undefined, status: "VALID" },
- sel: { value: undefined, status: "VALID" },
- bool: { value: false, status: "VALID" },
- bool2: { value: false, status: "VALID" },
- sel2: { value: undefined, status: "VALID" },
- num2: { value: undefined, status: "VALID" }
- }
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_node.js
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_node.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-
-exports.testNode = function (options) {
- return helpers.audit(options, [
- {
- setup: "tse ",
- check: {
- input: "tse ",
- hints: "<node> [options]",
- markup: "VVVV",
- cursor: 4,
- current: "node",
- status: "ERROR",
- args: {
- command: { name: "tse" },
- node: { status: "INCOMPLETE" },
- nodes: { status: "VALID" },
- nodes2: { status: "VALID" }
- }
- }
- },
- {
- setup: "tse :",
- check: {
- input: "tse :",
- hints: " [options]",
- markup: "VVVVE",
- cursor: 5,
- current: "node",
- status: "ERROR",
- args: {
- command: { name: "tse" },
- node: {
- arg: " :",
- status: "ERROR",
- message: "Syntax error in CSS query"
- },
- nodes: { status: "VALID" },
- nodes2: { status: "VALID" }
- }
- }
- },
- {
- setup: "tse #",
- check: {
- input: "tse #",
- hints: " [options]",
- markup: "VVVVE",
- cursor: 5,
- current: "node",
- status: "ERROR",
- args: {
- command: { name: "tse" },
- node: {
- value: undefined,
- arg: " #",
- status: "ERROR",
- message: "Syntax error in CSS query"
- },
- nodes: { status: "VALID" },
- nodes2: { status: "VALID" }
- }
- }
- },
- {
- setup: "tse .",
- check: {
- input: "tse .",
- hints: " [options]",
- markup: "VVVVE",
- cursor: 5,
- current: "node",
- status: "ERROR",
- args: {
- command: { name: "tse" },
- node: {
- value: undefined,
- arg: " .",
- status: "ERROR",
- message: "Syntax error in CSS query"
- },
- nodes: { status: "VALID" },
- nodes2: { status: "VALID" }
- }
- }
- },
- {
- setup: "tse *",
- check: {
- input: "tse *",
- hints: " [options]",
- markup: "VVVVE",
- cursor: 5,
- current: "node",
- status: "ERROR",
- args: {
- command: { name: "tse" },
- node: {
- value: undefined,
- arg: " *",
- status: "ERROR"
- // message: 'Too many matches (128)'
- },
- nodes: { status: "VALID" },
- nodes2: { status: "VALID" }
- }
- }
- }
- ]);
-};
-
-exports.testNodeDom = function (options) {
- return helpers.audit(options, [
- {
- setup: "tse :root",
- check: {
- input: "tse :root",
- hints: " [options]",
- markup: "VVVVVVVVV",
- cursor: 9,
- current: "node",
- status: "VALID",
- args: {
- command: { name: "tse" },
- node: { arg: " :root", status: "VALID" },
- nodes: { status: "VALID" },
- nodes2: { status: "VALID" }
- }
- }
- },
- {
- setup: "tse :root ",
- check: {
- input: "tse :root ",
- hints: "[options]",
- markup: "VVVVVVVVVV",
- cursor: 10,
- current: "node",
- status: "VALID",
- args: {
- command: { name: "tse" },
- node: { arg: " :root ", status: "VALID" },
- nodes: { status: "VALID" },
- nodes2: { status: "VALID" }
- }
- },
- exec: {
- },
- post: function (output) {
- if (!options.isRemote) {
- assert.is(output.args.node.tagName, "HTML", ":root tagName");
- }
- }
- },
- {
- setup: "tse #gcli-nomatch",
- check: {
- input: "tse #gcli-nomatch",
- hints: " [options]",
- markup: "VVVVIIIIIIIIIIIII",
- cursor: 17,
- current: "node",
- status: "ERROR",
- args: {
- command: { name: "tse" },
- node: {
- value: undefined,
- arg: " #gcli-nomatch",
- status: "INCOMPLETE",
- message: "No matches"
- },
- nodes: { status: "VALID" },
- nodes2: { status: "VALID" }
- }
- }
- }
- ]);
-};
-
-exports.testNodes = function (options) {
- return helpers.audit(options, [
- {
- setup: "tse :root --nodes *",
- check: {
- input: "tse :root --nodes *",
- hints: " [options]",
- markup: "VVVVVVVVVVVVVVVVVVV",
- current: "nodes",
- status: "VALID",
- args: {
- command: { name: "tse" },
- node: { arg: " :root", status: "VALID" },
- nodes: { arg: " --nodes *", status: "VALID" },
- nodes2: { status: "VALID" }
- }
- },
- exec: {
- },
- post: function (output) {
- if (!options.isRemote) {
- assert.is(output.args.node.tagName, "HTML", ":root tagName");
- assert.ok(output.args.nodes.length > 3, "nodes length");
- assert.is(output.args.nodes2.length, 0, "nodes2 length");
- }
-
- assert.is(output.data.args.node, ":root", "node data");
- assert.is(output.data.args.nodes, "*", "nodes data");
- assert.is(output.data.args.nodes2, "Error", "nodes2 data");
- }
- },
- {
- setup: "tse :root --nodes2 div",
- check: {
- input: "tse :root --nodes2 div",
- hints: " [options]",
- markup: "VVVVVVVVVVVVVVVVVVVVVV",
- cursor: 22,
- current: "nodes2",
- status: "VALID",
- args: {
- command: { name: "tse" },
- node: { arg: " :root", status: "VALID" },
- nodes: { status: "VALID" },
- nodes2: { arg: " --nodes2 div", status: "VALID" }
- }
- },
- exec: {
- },
- post: function (output) {
- if (!options.isRemote) {
- assert.is(output.args.node.tagName, "HTML", ":root tagName");
- assert.is(output.args.nodes.length, 0, "nodes length");
- assert.is(output.args.nodes2.item(0).tagName, "DIV", "div tagName");
- }
-
- assert.is(output.data.args.node, ":root", "node data");
- assert.is(output.data.args.nodes, "Error", "nodes data");
- assert.is(output.data.args.nodes2, "div", "nodes2 data");
- }
- },
- {
- setup: "tse --nodes ffff",
- check: {
- input: "tse --nodes ffff",
- hints: " <node> [options]",
- markup: "VVVVIIIIIIIVIIII",
- cursor: 16,
- current: "nodes",
- status: "ERROR",
- args: {
- command: { name: "tse" },
- node: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE"
- },
- nodes: {
- value: undefined,
- arg: " --nodes ffff",
- status: "INCOMPLETE",
- message: "No matches"
- },
- nodes2: { arg: "", status: "VALID", message: "" }
- }
- }
- },
- {
- setup: "tse --nodes2 ffff",
- check: {
- input: "tse --nodes2 ffff",
- hints: " <node> [options]",
- markup: "VVVVVVVVVVVVVVVVV",
- cursor: 17,
- current: "nodes2",
- status: "ERROR",
- args: {
- command: { name: "tse" },
- node: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE"
- },
- nodes: { arg: "", status: "VALID", message: "" },
- nodes2: { arg: " --nodes2 ffff", status: "VALID", message: "" }
- }
- }
- },
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_pref1.js
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_pref1.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testPrefShowStatus = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: options.requisition.system.commands.get("pref") == null,
- setup: "pref s",
- check: {
- typed: "pref s",
- hints: "et",
- markup: "IIIIVI",
- status: "ERROR"
- }
- },
- {
- setup: "pref show",
- check: {
- typed: "pref show",
- hints: " <setting>",
- markup: "VVVVVVVVV",
- status: "ERROR"
- }
- },
- {
- setup: "pref show ",
- check: {
- typed: "pref show ",
- hints: "eagerHelper",
- markup: "VVVVVVVVVV",
- status: "ERROR"
- }
- },
- {
- setup: "pref show tempTBo",
- check: {
- typed: "pref show tempTBo",
- hints: "ol",
- markup: "VVVVVVVVVVIIIIIII",
- status: "ERROR"
- }
- },
- {
- setup: "pref show tempTBool",
- check: {
- typed: "pref show tempTBool",
- markup: "VVVVVVVVVVVVVVVVVVV",
- status: "VALID",
- hints: ""
- }
- },
- {
- setup: "pref show tempTBool 4",
- check: {
- typed: "pref show tempTBool 4",
- markup: "VVVVVVVVVVVVVVVVVVVVE",
- status: "ERROR",
- hints: ""
- }
- },
- {
- setup: "pref show tempNumber 4",
- check: {
- typed: "pref show tempNumber 4",
- markup: "VVVVVVVVVVVVVVVVVVVVVE",
- status: "ERROR",
- hints: ""
- }
- }
- ]);
-};
-
-exports.testPrefSetStatus = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: options.requisition.system.commands.get("pref") == null,
- setup: "pref s",
- check: {
- typed: "pref s",
- hints: "et",
- markup: "IIIIVI",
- status: "ERROR"
- }
- },
- {
- setup: "pref set",
- check: {
- typed: "pref set",
- hints: " <setting> <value>",
- markup: "VVVVVVVV",
- status: "ERROR"
- }
- },
- {
- setup: "pref xxx",
- check: {
- typed: "pref xxx",
- markup: "IIIIVIII",
- status: "ERROR"
- }
- },
- {
- setup: "pref set ",
- check: {
- typed: "pref set ",
- hints: "eagerHelper <value>",
- markup: "VVVVVVVVV",
- status: "ERROR"
- }
- },
- {
- setup: "pref set tempTBo",
- check: {
- typed: "pref set tempTBo",
- hints: "ol <value>",
- markup: "VVVVVVVVVIIIIIII",
- status: "ERROR"
- }
- },
- {
- skipIf: options.isRemote,
- setup: "pref set tempTBool 4",
- check: {
- typed: "pref set tempTBool 4",
- markup: "VVVVVVVVVVVVVVVVVVVE",
- status: "ERROR",
- hints: ""
- }
- },
- {
- setup: "pref set tempNumber 4",
- check: {
- typed: "pref set tempNumber 4",
- markup: "VVVVVVVVVVVVVVVVVVVVV",
- status: "VALID",
- hints: ""
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_pref2.js
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_pref2.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-var mockSettings = require("./mockSettings");
-
-exports.testPrefExec = function (options) {
- if (options.requisition.system.commands.get("pref") == null) {
- assert.log("Skipping test; missing pref command.");
- return;
- }
-
- if (options.isRemote) {
- assert.log("Skipping test which assumes local settings.");
- return;
- }
-
- assert.is(mockSettings.tempNumber.value, 42, "set to 42");
-
- return helpers.audit(options, [
- {
- // Delegated remote types can't transfer value types so we only test for
- // the value of 'value' when we're local
- skipIf: options.isRemote,
- setup: "pref set tempNumber 4",
- check: {
- setting: { value: mockSettings.tempNumber },
- args: { value: { value: 4 } }
- }
- },
- {
- setup: "pref set tempNumber 4",
- check: {
- input: "pref set tempNumber 4",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVV",
- cursor: 21,
- current: "value",
- status: "VALID",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "pref set" },
- setting: {
- arg: " tempNumber",
- status: "VALID",
- message: ""
- },
- value: {
- arg: " 4",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: ""
- },
- post: function () {
- assert.is(mockSettings.tempNumber.value, 4, "set to 4");
- }
- },
- {
- setup: "pref reset tempNumber",
- check: {
- args: {
- command: { name: "pref reset" },
- setting: { value: mockSettings.tempNumber }
- }
- },
- exec: {
- output: ""
- },
- post: function () {
- assert.is(mockSettings.tempNumber.value, 42, "reset to 42");
- }
- },
- {
- skipRemainingIf: function commandPrefListMissing() {
- return options.requisition.system.commands.get("pref list") == null;
- },
- setup: "pref list tempNum",
- check: {
- args: {
- command: { name: "pref list" },
- search: { value: "tempNum" }
- }
- },
- exec: {
- output: /tempNum/
- }
- },
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_remotews.js
+++ /dev/null
@@ -1,485 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_remotews.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-
-// testRemoteWs and testRemoteXhr are virtually identical.
-// Changes made here should be made there too.
-// They are kept separate to save adding complexity to the test system and so
-// to help us select the test that are available in different environments
-
-exports.testRemoteWebsocket = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: options.isRemote || options.isNode || options.isFirefox,
- setup: "remote ",
- check: {
- input: "remote ",
- hints: "",
- markup: "EEEEEEV",
- cursor: 7,
- current: "__command",
- status: "ERROR",
- options: [ ],
- message: "Can't use 'remote'.",
- predictions: [ ],
- unassigned: [ ],
- }
- },
- {
- setup: "connect remote",
- check: {
- args: {
- prefix: { value: "remote" },
- url: { value: undefined }
- }
- },
- exec: {
- error: false
- }
- },
- {
- setup: "disconnect remote",
- check: {
- args: {
- prefix: {
- value: function (front) {
- assert.is(front.prefix, "remote", "disconnecting remote");
- }
- }
- }
- },
- exec: {
- output: /^Removed [0-9]* commands.$/,
- type: "string",
- error: false
- }
- },
- {
- setup: "connect remote --method websocket",
- check: {
- args: {
- prefix: { value: "remote" },
- url: { value: undefined }
- }
- },
- exec: {
- error: false
- }
- },
- {
- setup: "disconnect remote",
- check: {
- args: {
- prefix: {
- value: function (front) {
- assert.is(front.prefix, "remote", "disconnecting remote");
- }
- }
- }
- },
- exec: {
- output: /^Removed [0-9]* commands.$/,
- type: "string",
- error: false
- }
- },
- {
- setup: "connect remote --method websocket",
- check: {
- args: {
- prefix: { value: "remote" },
- url: { value: undefined }
- }
- },
- exec: {
- output: /^Added [0-9]* commands.$/,
- type: "string",
- error: false
- }
- },
- {
- setup: "remote ",
- check: {
- input: "remote ",
- // PhantomJS fails on this. Unsure why
- // hints: ' {',
- markup: "IIIIIIV",
- status: "ERROR",
- optionsIncludes: [
- "remote", "remote cd", "remote context", "remote echo",
- "remote exec", "remote exit", "remote firefox", "remote help",
- "remote intro", "remote make"
- ],
- message: "",
- predictionsIncludes: [ "remote" ],
- unassigned: [ ],
- }
- },
- {
- setup: "remote echo hello world",
- check: {
- input: "remote echo hello world",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVV",
- cursor: 23,
- current: "message",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote echo" },
- message: {
- value: "hello world",
- arg: " hello world",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "hello world",
- type: "string",
- error: false
- }
- },
- {
- setup: "remote exec ls",
- check: {
- input: "remote exec ls",
- hints: "",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "command",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: {
- value: "ls",
- arg: " ls",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- // output: '', We can't rely on the contents of the FS
- type: "output",
- error: false
- }
- },
- {
- setup: "remote sleep mistake",
- check: {
- input: "remote sleep mistake",
- hints: "",
- markup: "VVVVVVVVVVVVVEEEEEEE",
- cursor: 20,
- current: "length",
- status: "ERROR",
- options: [ ],
- message: 'Can\'t convert "mistake" to a number.',
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote sleep" },
- length: {
- value: undefined,
- arg: " mistake",
- status: "ERROR",
- message: 'Can\'t convert "mistake" to a number.'
- }
- }
- }
- },
- {
- setup: "remote sleep 1",
- check: {
- input: "remote sleep 1",
- hints: "",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "length",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote sleep" },
- length: { value: 1, arg: " 1", status: "VALID", message: "" }
- }
- },
- exec: {
- output: "Done",
- type: "string",
- error: false
- }
- },
- {
- setup: "remote help ",
- skipIf: true, // The help command is not remotable
- check: {
- input: "remote help ",
- hints: "[search]",
- markup: "VVVVVVVVVVVV",
- cursor: 12,
- current: "search",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote help" },
- search: {
- value: undefined,
- arg: "",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "",
- type: "string",
- error: false
- }
- },
- {
- setup: "remote intro",
- check: {
- input: "remote intro",
- hints: "",
- markup: "VVVVVVVVVVVV",
- cursor: 12,
- current: "__command",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote intro" }
- }
- },
- exec: {
- output: [
- /GCLI is an experiment/,
- /F1\/Escape/
- ],
- type: "intro",
- error: false
- }
- },
- {
- setup: "context remote",
- check: {
- input: "context remote",
- // hints: ' {',
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "prefix",
- status: "VALID",
- optionsContains: [
- "remote", "remote cd", "remote echo", "remote exec", "remote exit",
- "remote firefox", "remote help", "remote intro", "remote make"
- ],
- message: "",
- // predictionsContains: [
- // 'remote', 'remote cd', 'remote echo', 'remote exec', 'remote exit',
- // 'remote firefox', 'remote help', 'remote intro', 'remote make',
- // 'remote pref'
- // ],
- unassigned: [ ],
- args: {
- command: { name: "context" },
- prefix: {
- arg: " remote",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Using remote as a command prefix",
- type: "string",
- error: false
- }
- },
- {
- setup: "exec ls",
- check: {
- input: "exec ls",
- hints: "",
- markup: "VVVVVVV",
- cursor: 7,
- current: "command",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { value: "ls", arg: " ls", status: "VALID", message: "" },
- }
- },
- exec: {
- // output: '', We can't rely on the contents of the filesystem
- type: "output",
- error: false
- }
- },
- {
- setup: "echo hello world",
- check: {
- input: "echo hello world",
- hints: "",
- markup: "VVVVVVVVVVVVVVVV",
- cursor: 16,
- current: "message",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote echo" },
- message: {
- value: "hello world",
- arg: " hello world",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: /^hello world$/,
- type: "string",
- error: false
- }
- },
- {
- setup: "context",
- check: {
- input: "context",
- hints: " [prefix]",
- markup: "VVVVVVV",
- cursor: 7,
- current: "__command",
- status: "VALID",
- optionsContains: [
- "remote", "remote cd", "remote echo", "remote exec", "remote exit",
- "remote firefox", "remote help", "remote intro", "remote make"
- ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "context" },
- prefix: { value: undefined, arg: "", status: "VALID", message: "" }
- }
- },
- exec: {
- output: "Command prefix is unset",
- type: "string",
- error: false
- }
- },
- {
- setup: "disconnect ",
- check: {
- input: "disconnect ",
- hints: "remote",
- markup: "VVVVVVVVVVV",
- cursor: 11,
- current: "prefix",
- status: "ERROR",
- options: [ "remote" ],
- message: "",
- predictions: [ "remote" ],
- unassigned: [ ],
- args: {
- command: { name: "disconnect" },
- prefix: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for 'prefix'."
- }
- }
- }
- },
- {
- setup: "disconnect remote",
- check: {
- input: "disconnect remote",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVV",
- status: "VALID",
- message: "",
- unassigned: [ ],
- args: {
- prefix: {
- value: function (front) {
- assert.is(front.prefix, "remote", "disconnecting remote");
- },
- arg: " remote",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: /^Removed [0-9]* commands.$/,
- type: "string",
- error: false
- }
- },
- {
- setup: "remote ",
- check: {
- input: "remote ",
- hints: "",
- markup: "EEEEEEV",
- cursor: 7,
- current: "__command",
- status: "ERROR",
- options: [ ],
- message: "Can't use 'remote'.",
- predictions: [ ],
- unassigned: [ ],
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_remotexhr.js
+++ /dev/null
@@ -1,485 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_remotexhr.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-
-// testRemoteWs and testRemoteXhr are virtually identical.
-// Changes made here should be made there too.
-// They are kept separate to save adding complexity to the test system and so
-// to help us select the test that are available in different environments
-
-exports.testRemoteXhr = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: options.isRemote || options.isNode || options.isFirefox,
- setup: "remote ",
- check: {
- input: "remote ",
- hints: "",
- markup: "EEEEEEV",
- cursor: 7,
- current: "__command",
- status: "ERROR",
- options: [ ],
- message: "Can't use 'remote'.",
- predictions: [ ],
- unassigned: [ ],
- }
- },
- {
- setup: "connect remote",
- check: {
- args: {
- prefix: { value: "remote" },
- url: { value: undefined }
- }
- },
- exec: {
- error: false
- }
- },
- {
- setup: "disconnect remote",
- check: {
- args: {
- prefix: {
- value: function (front) {
- assert.is(front.prefix, "remote", "disconnecting remote");
- }
- }
- }
- },
- exec: {
- output: /^Removed [0-9]* commands.$/,
- type: "string",
- error: false
- }
- },
- {
- setup: "connect remote --method xhr",
- check: {
- args: {
- prefix: { value: "remote" },
- url: { value: undefined }
- }
- },
- exec: {
- error: false
- }
- },
- {
- setup: "disconnect remote",
- check: {
- args: {
- prefix: {
- value: function (front) {
- assert.is(front.prefix, "remote", "disconnecting remote");
- }
- }
- }
- },
- exec: {
- output: /^Removed [0-9]* commands.$/,
- type: "string",
- error: false
- }
- },
- {
- setup: "connect remote --method xhr",
- check: {
- args: {
- prefix: { value: "remote" },
- url: { value: undefined }
- }
- },
- exec: {
- output: /^Added [0-9]* commands.$/,
- type: "string",
- error: false
- }
- },
- {
- setup: "remote ",
- check: {
- input: "remote ",
- // PhantomJS fails on this. Unsure why
- // hints: ' {',
- markup: "IIIIIIV",
- status: "ERROR",
- optionsIncludes: [
- "remote", "remote cd", "remote context", "remote echo",
- "remote exec", "remote exit", "remote firefox", "remote help",
- "remote intro", "remote make"
- ],
- message: "",
- predictionsIncludes: [ "remote" ],
- unassigned: [ ],
- }
- },
- {
- setup: "remote echo hello world",
- check: {
- input: "remote echo hello world",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVV",
- cursor: 23,
- current: "message",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote echo" },
- message: {
- value: "hello world",
- arg: " hello world",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "hello world",
- type: "string",
- error: false
- }
- },
- {
- setup: "remote exec ls",
- check: {
- input: "remote exec ls",
- hints: "",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "command",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: {
- value: "ls",
- arg: " ls",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- // output: '', We can't rely on the contents of the FS
- type: "output",
- error: false
- }
- },
- {
- setup: "remote sleep mistake",
- check: {
- input: "remote sleep mistake",
- hints: "",
- markup: "VVVVVVVVVVVVVEEEEEEE",
- cursor: 20,
- current: "length",
- status: "ERROR",
- options: [ ],
- message: 'Can\'t convert "mistake" to a number.',
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote sleep" },
- length: {
- value: undefined,
- arg: " mistake",
- status: "ERROR",
- message: 'Can\'t convert "mistake" to a number.'
- }
- }
- }
- },
- {
- setup: "remote sleep 1",
- check: {
- input: "remote sleep 1",
- hints: "",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "length",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote sleep" },
- length: { value: 1, arg: " 1", status: "VALID", message: "" }
- }
- },
- exec: {
- output: "Done",
- type: "string",
- error: false
- }
- },
- {
- setup: "remote help ",
- skipIf: true, // The help command is not remotable
- check: {
- input: "remote help ",
- hints: "[search]",
- markup: "VVVVVVVVVVVV",
- cursor: 12,
- current: "search",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote help" },
- search: {
- value: undefined,
- arg: "",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "",
- type: "string",
- error: false
- }
- },
- {
- setup: "remote intro",
- check: {
- input: "remote intro",
- hints: "",
- markup: "VVVVVVVVVVVV",
- cursor: 12,
- current: "__command",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote intro" }
- }
- },
- exec: {
- output: [
- /GCLI is an experiment/,
- /F1\/Escape/
- ],
- type: "intro",
- error: false
- }
- },
- {
- setup: "context remote",
- check: {
- input: "context remote",
- // hints: ' {',
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "prefix",
- status: "VALID",
- optionsContains: [
- "remote", "remote cd", "remote echo", "remote exec", "remote exit",
- "remote firefox", "remote help", "remote intro", "remote make"
- ],
- message: "",
- // predictionsContains: [
- // 'remote', 'remote cd', 'remote echo', 'remote exec', 'remote exit',
- // 'remote firefox', 'remote help', 'remote intro', 'remote make',
- // 'remote pref'
- // ],
- unassigned: [ ],
- args: {
- command: { name: "context" },
- prefix: {
- arg: " remote",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: "Using remote as a command prefix",
- type: "string",
- error: false
- }
- },
- {
- setup: "exec ls",
- check: {
- input: "exec ls",
- hints: "",
- markup: "VVVVVVV",
- cursor: 7,
- current: "command",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { value: "ls", arg: " ls", status: "VALID", message: "" },
- }
- },
- exec: {
- // output: '', We can't rely on the contents of the filesystem
- type: "output",
- error: false
- }
- },
- {
- setup: "echo hello world",
- check: {
- input: "echo hello world",
- hints: "",
- markup: "VVVVVVVVVVVVVVVV",
- cursor: 16,
- current: "message",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "remote echo" },
- message: {
- value: "hello world",
- arg: " hello world",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: /^hello world$/,
- type: "string",
- error: false
- }
- },
- {
- setup: "context",
- check: {
- input: "context",
- hints: " [prefix]",
- markup: "VVVVVVV",
- cursor: 7,
- current: "__command",
- status: "VALID",
- optionsContains: [
- "remote", "remote cd", "remote echo", "remote exec", "remote exit",
- "remote firefox", "remote help", "remote intro", "remote make"
- ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "context" },
- prefix: { value: undefined, arg: "", status: "VALID", message: "" }
- }
- },
- exec: {
- output: "Command prefix is unset",
- type: "string",
- error: false
- }
- },
- {
- setup: "disconnect ",
- check: {
- input: "disconnect ",
- hints: "remote",
- markup: "VVVVVVVVVVV",
- cursor: 11,
- current: "prefix",
- status: "ERROR",
- options: [ "remote" ],
- message: "",
- predictions: [ "remote" ],
- unassigned: [ ],
- args: {
- command: { name: "disconnect" },
- prefix: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE",
- message: "Value required for 'prefix'."
- }
- }
- }
- },
- {
- setup: "disconnect remote",
- check: {
- input: "disconnect remote",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVV",
- status: "VALID",
- message: "",
- unassigned: [ ],
- args: {
- prefix: {
- value: function (front) {
- assert.is(front.prefix, "remote", "disconnecting remote");
- },
- arg: " remote",
- status: "VALID",
- message: ""
- }
- }
- },
- exec: {
- output: /^Removed [0-9]* commands.$/,
- type: "string",
- error: false
- }
- },
- {
- setup: "remote ",
- check: {
- input: "remote ",
- hints: "",
- markup: "EEEEEEV",
- cursor: 7,
- current: "__command",
- status: "ERROR",
- options: [ ],
- message: "Can't use 'remote'.",
- predictions: [ ],
- unassigned: [ ],
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_resource.js
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_resource.js");
-}
-
-// var helpers = require('./helpers');
-// var assert = require('../testharness/assert');
-
-var util = require("gcli/util/util");
-var resource = require("gcli/types/resource");
-var Status = require("gcli/types/types").Status;
-
-exports.testCommand = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsres ",
- check: {
- predictionsContains: [ "inline-css" ],
- }
- }
- ]);
-};
-
-exports.testAllPredictions1 = function (options) {
- if (options.isRemote) {
- assert.log("Can't directly test remote types locally.");
- return;
- }
-
- var context = options.requisition.conversionContext;
- var resource = options.requisition.system.types.createType("resource");
- return resource.getLookup(context).then(function (opts) {
- assert.ok(opts.length > 1, "have all resources");
-
- return util.promiseEach(opts, function (prediction) {
- return checkPrediction(resource, prediction, context);
- });
- });
-};
-
-exports.testScriptPredictions = function (options) {
- if (options.isRemote || options.isNode) {
- assert.log("Can't directly test remote types locally.");
- return;
- }
-
- var context = options.requisition.conversionContext;
- var types = options.requisition.system.types;
- var resource = types.createType({ name: "resource", include: "text/javascript" });
- return resource.getLookup(context).then(function (opts) {
- assert.ok(opts.length > 1, "have js resources");
-
- return util.promiseEach(opts, function (prediction) {
- return checkPrediction(resource, prediction, context);
- });
- });
-};
-
-exports.testStylePredictions = function (options) {
- if (options.isRemote) {
- assert.log("Can't directly test remote types locally.");
- return;
- }
-
- var context = options.requisition.conversionContext;
- var types = options.requisition.system.types;
- var resource = types.createType({ name: "resource", include: "text/css" });
- return resource.getLookup(context).then(function (opts) {
- assert.ok(opts.length >= 1, "have css resources");
-
- return util.promiseEach(opts, function (prediction) {
- return checkPrediction(resource, prediction, context);
- });
- });
-};
-
-exports.testAllPredictions2 = function (options) {
- if (options.isRemote) {
- assert.log("Can't directly test remote types locally.");
- return;
- }
-
- var context = options.requisition.conversionContext;
- var types = options.requisition.system.types;
-
- var scriptRes = types.createType({ name: "resource", include: "text/javascript" });
- return scriptRes.getLookup(context).then(function (scriptOptions) {
- var styleRes = types.createType({ name: "resource", include: "text/css" });
- return styleRes.getLookup(context).then(function (styleOptions) {
- var allRes = types.createType({ name: "resource" });
- return allRes.getLookup(context).then(function (allOptions) {
- assert.is(scriptOptions.length + styleOptions.length,
- allOptions.length,
- "split");
- });
- });
- });
-};
-
-exports.testAllPredictions3 = function (options) {
- if (options.isRemote) {
- assert.log("Can't directly test remote types locally.");
- return;
- }
-
- var context = options.requisition.conversionContext;
- var types = options.requisition.system.types;
- var res1 = types.createType({ name: "resource" });
- return res1.getLookup(context).then(function (options1) {
- var res2 = types.createType("resource");
- return res2.getLookup(context).then(function (options2) {
- assert.is(options1.length, options2.length, "type spec");
- });
- });
-};
-
-function checkPrediction(res, prediction, context) {
- var name = prediction.name;
- var value = prediction.value;
-
- return res.parseString(name, context).then(function (conversion) {
- assert.is(conversion.getStatus(), Status.VALID, "status VALID for " + name);
- assert.is(conversion.value, value, "value for " + name);
-
- assert.is(typeof value.loadContents, "function", "resource for " + name);
- assert.is(typeof value.element, "object", "resource for " + name);
-
- return Promise.resolve(res.stringify(value, context)).then(function (strung) {
- assert.is(strung, name, "stringify for " + name);
- });
- });
-}
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_short.js
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_short.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testBasic = function (options) {
- return helpers.audit(options, [
- {
- setup: "tshidden -v",
- check: {
- input: "tshidden -v",
- hints: " <string>",
- markup: "VVVVVVVVVII",
- cursor: 11,
- current: "visible",
- status: "ERROR",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tshidden" },
- visible: {
- value: undefined,
- arg: " -v",
- status: "INCOMPLETE"
- },
- invisiblestring: {
- value: undefined,
- arg: "",
- status: "VALID",
- message: ""
- },
- invisibleboolean: {
- value: false,
- arg: "",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tshidden -v v",
- check: {
- input: "tshidden -v v",
- hints: "",
- markup: "VVVVVVVVVVVVV",
- cursor: 13,
- current: "visible",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tshidden" },
- visible: {
- value: "v",
- arg: " -v v",
- status: "VALID",
- message: ""
- },
- invisiblestring: {
- value: undefined,
- arg: "",
- status: "VALID",
- message: ""
- },
- invisibleboolean: {
- value: false,
- arg: "",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tshidden -i i",
- check: {
- input: "tshidden -i i",
- hints: " [options]",
- markup: "VVVVVVVVVVVVV",
- cursor: 13,
- current: "invisiblestring",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tshidden" },
- visible: {
- value: undefined,
- arg: "",
- status: "VALID",
- message: ""
- },
- invisiblestring: {
- value: "i",
- arg: " -i i",
- status: "VALID",
- message: ""
- },
- invisibleboolean: {
- value: false,
- arg: "",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tshidden -b",
- check: {
- input: "tshidden -b",
- hints: " [options]",
- markup: "VVVVVVVVVVV",
- cursor: 11,
- current: "invisibleboolean",
- status: "VALID",
- options: [ ],
- message: "",
- predictions: [ ],
- unassigned: [ ],
- args: {
- command: { name: "tshidden" },
- visible: {
- value: undefined,
- arg: "",
- status: "VALID",
- message: ""
- },
- invisiblestring: {
- value: undefined,
- arg: "",
- status: "VALID",
- message: ""
- },
- invisibleboolean: {
- value: true,
- arg: " -b",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tshidden -j",
- check: {
- input: "tshidden -j",
- hints: " [options]",
- markup: "VVVVVVVVVEE",
- cursor: 11,
- current: "__unassigned",
- status: "ERROR",
- options: [ ],
- message: "Can't use '-j'.",
- predictions: [ ],
- unassigned: [ " -j" ],
- args: {
- command: { name: "tshidden" },
- visible: {
- value: undefined,
- arg: "",
- status: "VALID",
- message: ""
- },
- invisiblestring: {
- value: undefined,
- arg: "",
- status: "VALID",
- message: ""
- },
- invisibleboolean: {
- value: false,
- arg: "",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: "tshidden -v jj -b --",
- check: {
- input: "tshidden -v jj -b --",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVEE",
- cursor: 20,
- current: "__unassigned",
- status: "ERROR",
- options: [ ],
- message: "Can't use '--'.",
- predictions: [ ],
- unassigned: [ " --" ],
- args: {
- command: { name: "tshidden" },
- visible: {
- value: "jj",
- arg: " -v jj",
- status: "VALID",
- message: ""
- },
- invisiblestring: {
- value: undefined,
- arg: "",
- status: "VALID",
- message: ""
- },
- invisibleboolean: {
- value: true,
- arg: " -b",
- status: "VALID",
- message: ""
- }
- }
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_spell.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2009 Panagiotis Astithas
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_spell.js");
-}
-
-// var assert = require('../testharness/assert');
-var spell = require("gcli/util/spell");
-
-exports.testSpellerSimple = function (options) {
- var alternatives = [
- "window", "document", "InstallTrigger", "requirejs", "require", "define",
- "console", "location", "constructor", "getInterface", "external", "sidebar"
- ];
-
- assert.is(spell.correct("document", alternatives), "document");
- assert.is(spell.correct("documen", alternatives), "document");
- assert.is(spell.correct("ocument", alternatives), "document");
- assert.is(spell.correct("odcument", alternatives), "document");
-
- assert.is(spell.correct("=========", alternatives), undefined);
-};
-
-exports.testRank = function (options) {
- var distances = spell.rank("fred", [ "banana", "fred", "ed", "red", "FRED" ]);
-
- assert.is(distances.length, 5, "rank length");
-
- assert.is(distances[0].name, "fred", "fred name #0");
- assert.is(distances[1].name, "FRED", "FRED name #1");
- assert.is(distances[2].name, "red", "red name #2");
- assert.is(distances[3].name, "ed", "ed name #3");
- assert.is(distances[4].name, "banana", "banana name #4");
-
- assert.is(distances[0].dist, 0, "fred dist 0");
- assert.is(distances[1].dist, 4, "FRED dist 4");
- assert.is(distances[2].dist, 10, "red dist 10");
- assert.is(distances[3].dist, 20, "ed dist 20");
- assert.is(distances[4].dist, 100, "banana dist 100");
-};
-
-exports.testRank2 = function (options) {
- var distances = spell.rank("caps", [ "CAPS", "false" ]);
- assert.is(JSON.stringify(distances),
- '[{"name":"CAPS","dist":4},{"name":"false","dist":50}]',
- 'spell.rank("caps", [ "CAPS", "false" ]');
-};
-
-exports.testDistancePrefix = function (options) {
- assert.is(spell.distancePrefix("fred", "freddy"), 0, "distancePrefix fred");
- assert.is(spell.distancePrefix("FRED", "freddy"), 4, "distancePrefix FRED");
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_split.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_split.js");
-}
-
-// var assert = require('../testharness/assert');
-
-var cli = require("gcli/cli");
-
-exports.testSplitSimple = function (options) {
- var args = cli.tokenize("s");
- options.requisition._split(args);
- assert.is(args.length, 0);
- assert.is(options.requisition.commandAssignment.arg.text, "s");
-};
-
-exports.testFlatCommand = function (options) {
- var args = cli.tokenize("tsv");
- options.requisition._split(args);
- assert.is(args.length, 0);
- assert.is(options.requisition.commandAssignment.value.name, "tsv");
-
- args = cli.tokenize("tsv a b");
- options.requisition._split(args);
- assert.is(options.requisition.commandAssignment.value.name, "tsv");
- assert.is(args.length, 2);
- assert.is(args[0].text, "a");
- assert.is(args[1].text, "b");
-};
-
-exports.testJavascript = function (options) {
- if (!options.requisition.system.commands.get("{")) {
- assert.log("Skipping testJavascript because { is not registered");
- return;
- }
-
- var args = cli.tokenize("{");
- options.requisition._split(args);
- assert.is(args.length, 1);
- assert.is(args[0].text, "");
- assert.is(options.requisition.commandAssignment.arg.text, "");
- assert.is(options.requisition.commandAssignment.value.name, "{");
-};
-
-// BUG 663081 - add tests for sub commands
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_string.js
+++ /dev/null
@@ -1,270 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_string.js");
-}
-
-// var helpers = require('./helpers');
-
-exports.testNewLine = function (options) {
- return helpers.audit(options, [
- {
- setup: "echo a\\nb",
- check: {
- input: "echo a\\nb",
- hints: "",
- markup: "VVVVVVVVV",
- cursor: 9,
- current: "message",
- status: "VALID",
- args: {
- command: { name: "echo" },
- message: {
- value: "a\nb",
- arg: " a\\nb",
- status: "VALID",
- message: ""
- }
- }
- }
- }
- ]);
-};
-
-exports.testTab = function (options) {
- return helpers.audit(options, [
- {
- setup: "echo a\\tb",
- check: {
- input: "echo a\\tb",
- hints: "",
- markup: "VVVVVVVVV",
- cursor: 9,
- current: "message",
- status: "VALID",
- args: {
- command: { name: "echo" },
- message: {
- value: "a\tb",
- arg: " a\\tb",
- status: "VALID",
- message: ""
- }
- }
- }
- }
- ]);
-};
-
-exports.testEscape = function (options) {
- return helpers.audit(options, [
- {
- // What's typed is actually:
- // tsrsrsr a\\ b c
- setup: "tsrsrsr a\\\\ b c",
- check: {
- input: "tsrsrsr a\\\\ b c",
- hints: "",
- markup: "VVVVVVVVVVVVVVV",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsrsrsr" },
- p1: { value: "a\\", arg: " a\\\\", status: "VALID", message: "" },
- p2: { value: "b", arg: " b", status: "VALID", message: "" },
- p3: { value: "c", arg: " c", status: "VALID", message: "" },
- }
- }
- },
- {
- // What's typed is actually:
- // tsrsrsr abc\\ndef asd asd
- setup: "tsrsrsr abc\\\\ndef asd asd",
- check: {
- input: "tsrsrsr abc\\\\ndef asd asd",
- hints: "",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVV",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsrsrsr" },
- p1: {
- value: "abc\\ndef",
- arg: " abc\\\\ndef",
- status: "VALID",
- message: ""
- },
- p2: { value: "asd", arg: " asd", status: "VALID", message: "" },
- p3: { value: "asd", arg: " asd", status: "VALID", message: "" },
- }
- }
- }
- ]);
-};
-
-exports.testBlank = function (options) {
- return helpers.audit(options, [
- {
- setup: 'tsrsrsr a "" c',
- check: {
- input: 'tsrsrsr a "" c',
- hints: "",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "p3",
- status: "ERROR",
- message: "",
- args: {
- command: { name: "tsrsrsr" },
- p1: {
- value: "a",
- arg: " a",
- status: "VALID",
- message: ""
- },
- p2: {
- value: undefined,
- arg: ' ""',
- status: "INCOMPLETE"
- },
- p3: {
- value: "c",
- arg: " c",
- status: "VALID",
- message: ""
- }
- }
- }
- },
- {
- setup: 'tsrsrsr a b ""',
- check: {
- input: 'tsrsrsr a b ""',
- hints: "",
- markup: "VVVVVVVVVVVVVV",
- cursor: 14,
- current: "p3",
- status: "VALID",
- message: "",
- args: {
- command: { name: "tsrsrsr" },
- p1: {
- value: "a",
- arg: " a",
- status:"VALID",
- message: "" },
- p2: {
- value: "b",
- arg: " b",
- status: "VALID",
- message: ""
- },
- p3: {
- value: "",
- arg: ' ""',
- status: "VALID",
- message: ""
- }
- }
- }
- }
- ]);
-};
-
-exports.testBlankWithParam = function (options) {
- return helpers.audit(options, [
- {
- setup: "tsrsrsr a --p3",
- check: {
- input: "tsrsrsr a --p3",
- hints: " <string> <p2>",
- markup: "VVVVVVVVVVVVVVV",
- cursor: 15,
- current: "p3",
- status: "ERROR",
- message: "",
- args: {
- command: { name: "tsrsrsr" },
- p1: { value: "a", arg: " a", status: "VALID", message: "" },
- p2: { value: undefined, arg: "", status: "INCOMPLETE" },
- p3: { value: "", arg: " --p3", status: "VALID", message: "" },
- }
- }
- },
- {
- setup: "tsrsrsr a --p3 ",
- check: {
- input: "tsrsrsr a --p3 ",
- hints: "<string> <p2>",
- markup: "VVVVVVVVVVVVVVVV",
- cursor: 16,
- current: "p3",
- status: "ERROR",
- message: "",
- args: {
- command: { name: "tsrsrsr" },
- p1: { value: "a", arg: " a", status: "VALID", message: "" },
- p2: { value: undefined, arg: "", status: "INCOMPLETE" },
- p3: { value: "", arg: " --p3 ", status: "VALID", message: "" },
- }
- }
- },
- {
- setup: 'tsrsrsr a --p3 "',
- check: {
- input: 'tsrsrsr a --p3 "',
- hints: " <p2>",
- markup: "VVVVVVVVVVVVVVVVV",
- cursor: 17,
- current: "p3",
- status: "ERROR",
- message: "",
- args: {
- command: { name: "tsrsrsr" },
- p1: { value: "a", arg: " a", status: "VALID", message: "" },
- p2: { value: undefined, arg: "", status: "INCOMPLETE" },
- p3: { value: "", arg: ' --p3 "', status: "VALID", message: "" },
- }
- }
- },
- {
- setup: 'tsrsrsr a --p3 ""',
- check: {
- input: 'tsrsrsr a --p3 ""',
- hints: " <p2>",
- markup: "VVVVVVVVVVVVVVVVVV",
- cursor: 18,
- current: "p3",
- status: "ERROR",
- message: "",
- args: {
- command: { name: "tsrsrsr" },
- p1: { value: "a", arg: " a", status: "VALID", message: "" },
- p2: { value: undefined, arg: "", status: "INCOMPLETE" },
- p3: { value: "", arg: ' --p3 ""', status: "VALID", message: "" },
- }
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_tokenize.js
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_tokenize.js");
-}
-
-// var assert = require('../testharness/assert');
-var cli = require("gcli/cli");
-
-exports.testBlanks = function (options) {
- var args;
-
- args = cli.tokenize("");
- assert.is(args.length, 1);
- assert.is(args[0].text, "");
- assert.is(args[0].prefix, "");
- assert.is(args[0].suffix, "");
-
- args = cli.tokenize(" ");
- assert.is(args.length, 1);
- assert.is(args[0].text, "");
- assert.is(args[0].prefix, " ");
- assert.is(args[0].suffix, "");
-};
-
-exports.testTokSimple = function (options) {
- var args;
-
- args = cli.tokenize("s");
- assert.is(args.length, 1);
- assert.is(args[0].text, "s");
- assert.is(args[0].prefix, "");
- assert.is(args[0].suffix, "");
- assert.is(args[0].type, "Argument");
-
- args = cli.tokenize("s s");
- assert.is(args.length, 2);
- assert.is(args[0].text, "s");
- assert.is(args[0].prefix, "");
- assert.is(args[0].suffix, "");
- assert.is(args[0].type, "Argument");
- assert.is(args[1].text, "s");
- assert.is(args[1].prefix, " ");
- assert.is(args[1].suffix, "");
- assert.is(args[1].type, "Argument");
-};
-
-exports.testJavascript = function (options) {
- var args;
-
- args = cli.tokenize("{x}");
- assert.is(args.length, 1);
- assert.is(args[0].text, "x");
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "}");
- assert.is(args[0].type, "ScriptArgument");
-
- args = cli.tokenize("{ x }");
- assert.is(args.length, 1);
- assert.is(args[0].text, "x");
- assert.is(args[0].prefix, "{ ");
- assert.is(args[0].suffix, " }");
- assert.is(args[0].type, "ScriptArgument");
-
- args = cli.tokenize("{x} {y}");
- assert.is(args.length, 2);
- assert.is(args[0].text, "x");
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "}");
- assert.is(args[0].type, "ScriptArgument");
- assert.is(args[1].text, "y");
- assert.is(args[1].prefix, " {");
- assert.is(args[1].suffix, "}");
- assert.is(args[1].type, "ScriptArgument");
-
- args = cli.tokenize("{x}{y}");
- assert.is(args.length, 2);
- assert.is(args[0].text, "x");
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "}");
- assert.is(args[0].type, "ScriptArgument");
- assert.is(args[1].text, "y");
- assert.is(args[1].prefix, "{");
- assert.is(args[1].suffix, "}");
- assert.is(args[1].type, "ScriptArgument");
-
- args = cli.tokenize("{");
- assert.is(args.length, 1);
- assert.is(args[0].text, "");
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "");
- assert.is(args[0].type, "ScriptArgument");
-
- args = cli.tokenize("{ ");
- assert.is(args.length, 1);
- assert.is(args[0].text, "");
- assert.is(args[0].prefix, "{ ");
- assert.is(args[0].suffix, "");
- assert.is(args[0].type, "ScriptArgument");
-
- args = cli.tokenize("{x");
- assert.is(args.length, 1);
- assert.is(args[0].text, "x");
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "");
- assert.is(args[0].type, "ScriptArgument");
-};
-
-exports.testRegularNesting = function (options) {
- var args;
-
- args = cli.tokenize('{"x"}');
- assert.is(args.length, 1);
- assert.is(args[0].text, '"x"');
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "}");
- assert.is(args[0].type, "ScriptArgument");
-
- args = cli.tokenize("{'x'}");
- assert.is(args.length, 1);
- assert.is(args[0].text, "'x'");
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "}");
- assert.is(args[0].type, "ScriptArgument");
-
- args = cli.tokenize('"{x}"');
- assert.is(args.length, 1);
- assert.is(args[0].text, "{x}");
- assert.is(args[0].prefix, '"');
- assert.is(args[0].suffix, '"');
- assert.is(args[0].type, "Argument");
-
- args = cli.tokenize("'{x}'");
- assert.is(args.length, 1);
- assert.is(args[0].text, "{x}");
- assert.is(args[0].prefix, "'");
- assert.is(args[0].suffix, "'");
- assert.is(args[0].type, "Argument");
-};
-
-exports.testDeepNesting = function (options) {
- var args;
-
- args = cli.tokenize("{{}}");
- assert.is(args.length, 1);
- assert.is(args[0].text, "{}");
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "}");
- assert.is(args[0].type, "ScriptArgument");
-
- args = cli.tokenize("{{x} {y}}");
- assert.is(args.length, 1);
- assert.is(args[0].text, "{x} {y}");
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "}");
- assert.is(args[0].type, "ScriptArgument");
-
- args = cli.tokenize("{{w} {{{x}}}} {y} {{{z}}}");
-
- assert.is(args.length, 3);
-
- assert.is(args[0].text, "{w} {{{x}}}");
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "}");
- assert.is(args[0].type, "ScriptArgument");
-
- assert.is(args[1].text, "y");
- assert.is(args[1].prefix, " {");
- assert.is(args[1].suffix, "}");
- assert.is(args[1].type, "ScriptArgument");
-
- assert.is(args[2].text, "{{z}}");
- assert.is(args[2].prefix, " {");
- assert.is(args[2].suffix, "}");
- assert.is(args[2].type, "ScriptArgument");
-
- args = cli.tokenize("{{w} {{{x}}} {y} {{{z}}}");
-
- assert.is(args.length, 1);
-
- assert.is(args[0].text, "{w} {{{x}}} {y} {{{z}}}");
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "");
- assert.is(args[0].type, "ScriptArgument");
-};
-
-exports.testStrangeNesting = function (options) {
- var args;
-
- // Note: When we get real JS parsing this should break
- args = cli.tokenize('{"x}"}');
-
- assert.is(args.length, 2);
-
- assert.is(args[0].text, '"x');
- assert.is(args[0].prefix, "{");
- assert.is(args[0].suffix, "}");
- assert.is(args[0].type, "ScriptArgument");
-
- assert.is(args[1].text, "}");
- assert.is(args[1].prefix, '"');
- assert.is(args[1].suffix, "");
- assert.is(args[1].type, "Argument");
-};
-
-exports.testComplex = function (options) {
- var args;
-
- args = cli.tokenize(" 1234 '12 34'");
-
- assert.is(args.length, 2);
-
- assert.is(args[0].text, "1234");
- assert.is(args[0].prefix, " ");
- assert.is(args[0].suffix, "");
- assert.is(args[0].type, "Argument");
-
- assert.is(args[1].text, "12 34");
- assert.is(args[1].prefix, " '");
- assert.is(args[1].suffix, "'");
- assert.is(args[1].type, "Argument");
-
- args = cli.tokenize('12\'34 "12 34" \\'); // 12'34 "12 34" \
-
- assert.is(args.length, 3);
-
- assert.is(args[0].text, "12'34");
- assert.is(args[0].prefix, "");
- assert.is(args[0].suffix, "");
- assert.is(args[0].type, "Argument");
-
- assert.is(args[1].text, "12 34");
- assert.is(args[1].prefix, ' "');
- assert.is(args[1].suffix, '"');
- assert.is(args[1].type, "Argument");
-
- assert.is(args[2].text, "\\");
- assert.is(args[2].prefix, " ");
- assert.is(args[2].suffix, "");
- assert.is(args[2].type, "Argument");
-};
-
-exports.testPathological = function (options) {
- var args;
-
- args = cli.tokenize('a\\ b \\t\\n\\r \\\'x\\\" \'d'); // a_b \t\n\r \'x\" 'd
-
- assert.is(args.length, 4);
-
- assert.is(args[0].text, "a\\ b");
- assert.is(args[0].prefix, "");
- assert.is(args[0].suffix, "");
- assert.is(args[0].type, "Argument");
-
- assert.is(args[1].text, "\\t\\n\\r");
- assert.is(args[1].prefix, " ");
- assert.is(args[1].suffix, "");
- assert.is(args[1].type, "Argument");
-
- assert.is(args[2].text, '\\\'x\\"');
- assert.is(args[2].prefix, " ");
- assert.is(args[2].suffix, "");
- assert.is(args[2].type, "Argument");
-
- assert.is(args[3].text, "d");
- assert.is(args[3].prefix, " '");
- assert.is(args[3].suffix, "");
- assert.is(args[3].type, "Argument");
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_tooltip.js
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_tooltip.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-
-exports.testActivate = function (options) {
- return helpers.audit(options, [
- {
- setup: " ",
- check: {
- input: " ",
- hints: "",
- markup: "V",
- cursor: 1,
- current: "__command",
- status: "ERROR",
- message: "",
- unassigned: [ ],
- outputState: "false:default",
- tooltipState: "false:default"
- }
- },
- {
- setup: "tsb ",
- check: {
- input: "tsb ",
- hints: "false",
- markup: "VVVV",
- cursor: 4,
- current: "toggle",
- status: "VALID",
- options: [ "false", "true" ],
- message: "",
- predictions: [ "false", "true" ],
- unassigned: [ ],
- outputState: "false:default",
- tooltipState: "true:importantFieldFlag"
- }
- },
- {
- setup: "tsb t",
- check: {
- input: "tsb t",
- hints: "rue",
- markup: "VVVVI",
- cursor: 5,
- current: "toggle",
- status: "ERROR",
- options: [ "true" ],
- message: "",
- predictions: [ "true" ],
- unassigned: [ ],
- outputState: "false:default",
- tooltipState: "true:importantFieldFlag"
- }
- },
- {
- setup: "tsb tt",
- check: {
- input: "tsb tt",
- hints: " -> true",
- markup: "VVVVII",
- cursor: 6,
- current: "toggle",
- status: "ERROR",
- options: [ "true" ],
- message: "",
- predictions: [ "true" ],
- unassigned: [ ],
- outputState: "false:default",
- tooltipState: "true:importantFieldFlag"
- }
- },
- {
- setup: "wxqy",
- check: {
- input: "wxqy",
- hints: "",
- markup: "EEEE",
- cursor: 4,
- current: "__command",
- status: "ERROR",
- options: [ ],
- message: "Can't use 'wxqy'.",
- predictions: [ ],
- unassigned: [ ],
- outputState: "false:default",
- tooltipState: "true:isError"
- }
- },
- {
- setup: "",
- check: {
- input: "",
- hints: "",
- markup: "",
- cursor: 0,
- current: "__command",
- status: "ERROR",
- message: "",
- unassigned: [ ],
- outputState: "false:default",
- tooltipState: "false:default"
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_types.js
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_types.js");
-}
-
-// var assert = require('../testharness/assert');
-var util = require("gcli/util/util");
-
-function forEachType(options, templateTypeSpec, callback) {
- var types = options.requisition.system.types;
- return util.promiseEach(types.getTypeNames(), function (name) {
- var typeSpec = {};
- util.copyProperties(templateTypeSpec, typeSpec);
- typeSpec.name = name;
- typeSpec.requisition = options.requisition;
-
- // Provide some basic defaults to help selection/delegate/array work
- if (name === "selection") {
- typeSpec.data = [ "a", "b" ];
- }
- else if (name === "delegate") {
- typeSpec.delegateType = function () {
- return "string";
- };
- }
- else if (name === "array") {
- typeSpec.subtype = "string";
- }
- else if (name === "remote") {
- return;
- }
- else if (name === "union") {
- typeSpec.alternatives = [{ name: "string" }];
- }
- else if (options.isRemote) {
- if (name === "node" || name === "nodelist") {
- return;
- }
- }
-
- var type = types.createType(typeSpec);
- var reply = callback(type);
- return Promise.resolve(reply);
- });
-}
-
-exports.testDefault = function (options) {
- return forEachType(options, {}, function (type) {
- var context = options.requisition.executionContext;
- var blank = type.getBlank(context).value;
-
- // boolean and array types are exempt from needing undefined blank values
- if (type.name === "boolean") {
- assert.is(blank, false, "blank boolean is false");
- }
- else if (type.name === "array") {
- assert.ok(Array.isArray(blank), "blank array is array");
- assert.is(blank.length, 0, "blank array is empty");
- }
- else if (type.name === "nodelist") {
- assert.ok(typeof blank.item, "function", "blank.item is function");
- assert.is(blank.length, 0, "blank nodelist is empty");
- }
- else {
- assert.is(blank, undefined, "default defined for " + type.name);
- }
- });
-};
-
-exports.testNullDefault = function (options) {
- var context = null; // Is this test still valid with a null context?
-
- return forEachType(options, { defaultValue: null }, function (type) {
- var reply = type.stringify(null, context);
- return Promise.resolve(reply).then(function (str) {
- assert.is(str, "", "stringify(null) for " + type.name);
- });
- });
-};
-
-exports.testGetSpec = function (options) {
- return forEachType(options, {}, function (type) {
- if (type.name === "param") {
- return;
- }
-
- var spec = type.getSpec("cmd", "param");
- assert.ok(spec != null, "non null spec for " + type.name);
-
- var str = JSON.stringify(spec);
- assert.ok(str != null, "serializable spec for " + type.name);
-
- var example = options.requisition.system.types.createType(spec);
- assert.ok(example != null, "creatable spec for " + type.name);
- });
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_union.js
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_union.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-
-exports.testDefault = function (options) {
- return helpers.audit(options, [
- {
- setup: "unionc1",
- check: {
- input: "unionc1",
- markup: "VVVVVVV",
- hints: " <first>",
- status: "ERROR",
- args: {
- first: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE"
- }
- }
- }
- },
- {
- setup: "unionc1 three",
- check: {
- input: "unionc1 three",
- markup: "VVVVVVVVVVVVV",
- hints: "",
- status: "VALID",
- args: {
- first: {
- value: function (data) {
- assert.is(Object.keys(data).length, 2, "union3 Object.keys");
- assert.is(data.type, "string", "union3 val type");
- assert.is(data.string, "three", "union3 val string");
- },
- arg: " three",
- status: "VALID"
- }
- }
- },
- exec: {
- output: [
- /"type": ?"string"/,
- /"string": ?"three"/
- ]
- },
- post: function (output, text) {
- var data = output.data.first;
- assert.is(Object.keys(data).length, 2, "union3 Object.keys");
- assert.is(data.type, "string", "union3 val type");
- assert.is(data.string, "three", "union3 val string");
- }
- },
- {
- setup: "unionc1 one",
- check: {
- input: "unionc1 one",
- markup: "VVVVVVVVVVV",
- hints: "",
- status: "VALID",
- args: {
- first: {
- value: function (data) {
- assert.is(Object.keys(data).length, 2, "union1 Object.keys");
- assert.is(data.type, "selection", "union1 val type");
- assert.is(data.selection, 1, "union1 val selection");
- },
- arg: " one",
- status: "VALID"
- }
- }
- },
- exec: {
- output: [
- /"type": ?"selection"/,
- /"selection": ?1/
- ]
- },
- post: function (output, text) {
- var data = output.data.first;
- assert.is(Object.keys(data).length, 2, "union1 Object.keys");
- assert.is(data.type, "selection", "union1 val type");
- assert.is(data.selection, 1, "union1 val selection");
- }
- },
- {
- skipIf: options.isPhantomjs, // PhantomJS gets predictions wrong
- setup: "unionc1 5",
- check: {
- input: "unionc1 5",
- markup: "VVVVVVVVV",
- hints: " -> two",
- predictions: [ "two" ],
- status: "VALID",
- args: {
- first: {
- value: function (data) {
- assert.is(Object.keys(data).length, 2, "union5 Object.keys");
- assert.is(data.type, "number", "union5 val type");
- assert.is(data.number, 5, "union5 val number");
- },
- arg: " 5",
- status: "VALID"
- }
- }
- },
- exec: {
- output: [
- /"type": ?"number"/,
- /"number": ?5/
- ]
- },
- post: function (output, text) {
- var data = output.data.first;
- assert.is(Object.keys(data).length, 2, "union5 Object.keys");
- assert.is(data.type, "number", "union5 val type");
- assert.is(data.number, 5, "union5 val number");
- }
- },
- {
- skipIf: options.isPhantomjs, // PhantomJS URL type is broken
- setup: "unionc2 on",
- check: {
- input: "unionc2 on",
- hints: "e",
- markup: "VVVVVVVVII",
- current: "first",
- status: "ERROR",
- predictionsContains: [
- "one",
- "http://on/",
- "https://on/"
- ],
- args: {
- command: { name: "unionc2" },
- first: {
- value: undefined,
- arg: " on",
- status: "INCOMPLETE",
- message: "Can\u2019t use \u2018on\u2019."
- },
- }
- }
- }
- ]);
-};
deleted file mode 100644
--- a/devtools/client/commandline/test/browser_gcli_url.js
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright 2012, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-"use strict";
-
-// THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
-// PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
-
-const exports = {};
-
-function test() {
- helpers.runTestModule(exports, "browser_gcli_url.js");
-}
-
-// var assert = require('../testharness/assert');
-// var helpers = require('./helpers');
-
-exports.testDefault = function (options) {
- return helpers.audit(options, [
- {
- skipRemainingIf: options.isPhantomjs, // PhantomJS URL type is broken
- setup: "urlc",
- check: {
- input: "urlc",
- markup: "VVVV",
- hints: " <url>",
- status: "ERROR",
- args: {
- url: {
- value: undefined,
- arg: "",
- status: "INCOMPLETE"
- }
- }
- }
- },
- {
- setup: "urlc example",
- check: {
- input: "urlc example",
- markup: "VVVVVIIIIIII",
- hints: " -> http://example/",
- predictions: [
- "http://example/",
- "https://example/",
- "http://localhost:9999/example"
- ],
- status: "ERROR",
- args: {
- url: {
- value: undefined,
- arg: " example",
- status: "INCOMPLETE"
- }
- }
- },
- },
- {
- setup: "urlc example.com/",
- check: {
- input: "urlc example.com/",
- markup: "VVVVVIIIIIIIIIIII",
- hints: " -> http://example.com/",
- status: "ERROR",
- args: {
- url: {
- value: undefined,
- arg: " example.com/",
- status: "INCOMPLETE"
- }
- }
- },
- },
- {
- setup: "urlc http://example.com/index?q=a#hash",
- check: {
- input: "urlc http://example.com/index?q=a#hash",
- markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
- hints: "",
- status: "VALID",
- args: {
- url: {
- value: function (data) {
- assert.is(data.hash, "#hash", "url hash");
- },
- arg: " http://example.com/index?q=a#hash",
- status: "VALID"
- }
- }
- },
- exec: { output: /"url": ?/ }
- }
- ]);
-};
--- a/devtools/client/commandline/test/helpers.js
+++ b/devtools/client/commandline/test/helpers.js
@@ -32,72 +32,16 @@ var { helpers, assert } = (function () {
var cli = require("gcli/cli");
var KeyEvent = require("gcli/util/util").KeyEvent;
const { GcliFront } = require("devtools/shared/fronts/gcli");
/**
* See notes in helpers.checkOptions()
*/
- var createDeveloperToolbarAutomator = function (toolbar) {
- var automator = {
- setInput: function (typed) {
- return toolbar.inputter.setInput(typed);
- },
-
- setCursor: function (cursor) {
- return toolbar.inputter.setCursor(cursor);
- },
-
- focus: function () {
- return toolbar.inputter.focus();
- },
-
- fakeKey: function (keyCode) {
- var fakeEvent = {
- keyCode: keyCode,
- preventDefault: function () { },
- timeStamp: new Date().getTime()
- };
-
- toolbar.inputter.onKeyDown(fakeEvent);
-
- if (keyCode === KeyEvent.DOM_VK_BACK_SPACE) {
- var input = toolbar.inputter.element;
- input.value = input.value.slice(0, -1);
- }
-
- return toolbar.inputter.handleKeyUp(fakeEvent);
- },
-
- getInputState: function () {
- return toolbar.inputter.getInputState();
- },
-
- getCompleterTemplateData: function () {
- return toolbar.completer._getCompleterTemplateData();
- },
-
- getErrorMessage: function () {
- return toolbar.tooltip.errorEle.textContent;
- }
- };
-
- Object.defineProperty(automator, "focusManager", {
- get: function () { return toolbar.focusManager; },
- enumerable: true
- });
-
- Object.defineProperty(automator, "field", {
- get: function () { return toolbar.tooltip.field; },
- enumerable: true
- });
-
- return automator;
- };
/**
* Warning: For use with Firefox Mochitests only.
*
* Open a new tab at a URL and call a callback on load, and then tidy up when
* the callback finishes.
* The function will be passed a set of test options, and will usually return a
* promise to indicate that the tab can be cleared up. (To be formal, we call
@@ -195,37 +139,16 @@ var { helpers, assert } = (function () {
delete options.chromeWindow;
delete options.isFirefox;
return Promise.resolve(undefined);
};
/**
- * Open the developer toolbar in a tab
- * @param options Object to which we add properties describing the developer
- * toolbar. The following properties are added:
- * - automator
- * - requisition
- * @return A promise which resolves to the options object when the 'load' event
- * happens on the new tab
- */
- helpers.openToolbar = function (options) {
- options = options || {};
- options.chromeWindow = options.chromeWindow || window;
-
- var toolbar = gDevToolsBrowser.getDeveloperToolbar(options.chromeWindow);
- return toolbar.show(true).then(function () {
- options.automator = createDeveloperToolbarAutomator(toolbar);
- options.requisition = toolbar.requisition;
- return options;
- });
- };
-
-/**
* Navigate the current tab to a URL
*/
helpers.navigate = async function(url, options) {
options = options || {};
options.chromeWindow = options.chromeWindow || window;
options.tab = options.tab || options.chromeWindow.gBrowser.selectedTab;
var tabbrowser = options.chromeWindow.gBrowser;
@@ -234,29 +157,16 @@ var { helpers, assert } = (function () {
let onLoaded = BrowserTestUtils.browserLoaded(options.browser);
options.browser.loadURI(url);
await onLoaded;
return options;
};
/**
- * Undo the effects of |helpers.openToolbar|
- * @param options The options object passed to |helpers.openToolbar|
- * @return A promise resolved (with undefined) when the toolbar is closed
- */
- helpers.closeToolbar = function (options) {
- var toolbar = gDevToolsBrowser.getDeveloperToolbar(options.chromeWindow).hide();
- return toolbar.then(function () {
- delete options.automator;
- delete options.requisition;
- });
- };
-
-/**
* A helper to work with Task.spawn so you can do:
* return Task.spawn(realTestFunc).then(finish, helpers.handleError);
*/
helpers.handleError = function (ex) {
console.error(ex);
ok(false, ex);
finish();
};
@@ -312,46 +222,16 @@ var { helpers, assert } = (function () {
functionWithLastParamCallback.apply(scope, args);
});
};
};
/**
* Warning: For use with Firefox Mochitests only.
*
- * As addTab, but that also opens the developer toolbar. In addition a new
- * 'automator' property is added to the options object which uses the
- * developer toolbar
- */
- helpers.addTabWithToolbar = function (url, callback, options) {
- return helpers.addTab(url, function (innerOptions) {
- var win = innerOptions.chromeWindow;
-
- var toolbar = gDevToolsBrowser.getDeveloperToolbar(win);
- return toolbar.show(true).then(function () {
- innerOptions.automator = createDeveloperToolbarAutomator(toolbar);
- innerOptions.requisition = toolbar.requisition;
-
- var reply = callback.call(null, innerOptions);
-
- return Promise.resolve(reply).catch(function (error) {
- ok(false, error);
- console.error(error);
- }).then(function () {
- toolbar.hide().then(function () {
- delete innerOptions.automator;
- });
- });
- });
- }, options);
- };
-
-/**
- * Warning: For use with Firefox Mochitests only.
- *
* Run a set of test functions stored in the values of the 'exports' object
* functions stored under setup/shutdown will be run at the start/end of the
* sequence of tests.
* A test will be considered finished when its return value is resolved.
* @param options An object to be passed to the test functions
* @param tests An object containing named test functions
* @return a promise which will be resolved when all tests have been run and
* their return values resolved
@@ -404,86 +284,16 @@ var { helpers, assert } = (function () {
deferred.promise = new Promise(function (resolve, reject) {
deferred.resolve = resolve;
deferred.reject = reject;
});
return deferred;
};
/**
- * This does several actions associated with running a GCLI test in mochitest
- * 1. Create a new tab containing basic markup for GCLI tests
- * 2. Open the developer toolbar
- * 3. Register the mock commands with the server process
- * 4. Wait for the proxy commands to be auto-regitstered with the client
- * 5. Register the mock converters with the client process
- * 6. Run all the tests
- * 7. Tear down all the setup
- */
- helpers.runTestModule = function (exports, name) {
- return (async function() {
- const uri = "data:text/html;charset=utf-8," +
- "<style>div{color:red;}</style>" +
- "<div id='gcli-root'>" + name + "</div>";
-
- const options = await helpers.openTab(uri);
- options.isRemote = true;
-
- await helpers.openToolbar(options);
-
- const system = options.requisition.system;
-
- // Register a one time listener with the local set of commands
- const addedDeferred = defer();
- const removedDeferred = defer();
- let state = "preAdd"; // Then 'postAdd' then 'postRemove'
-
- system.commands.onCommandsChange.add(function (ev) {
- if (system.commands.get("tsslow") != null) {
- if (state === "preAdd") {
- addedDeferred.resolve();
- state = "postAdd";
- }
- }
- else {
- if (state === "postAdd") {
- removedDeferred.resolve();
- state = "postRemove";
- }
- }
- });
-
- // Send a message to add the commands to the content process
- const front = await GcliFront.create(options.target);
- await front._testOnlyAddItemsByModule(MOCK_COMMANDS_URI);
-
- // This will cause the local set of commands to be updated with the
- // command proxies, wait for that to complete.
- await addedDeferred.promise;
-
- // Now we need to add the converters to the local GCLI
- const converters = mockCommands.items.filter(item => item.item === "converter");
- system.addItems(converters);
-
- // Next run the tests
- await helpers.runTests(options, exports);
-
- // Finally undo the mock commands and converters
- system.removeItems(converters);
- const removePromise = system.commands.onCommandsChange.once();
- await front._testOnlyRemoveItemsByModule(MOCK_COMMANDS_URI);
- await removedDeferred.promise;
-
- // And close everything down
- await helpers.closeToolbar(options);
- await helpers.closeTab(options);
- })().then(finish, helpers.handleError);
- };
-
-/**
* Ensure that the options object is setup correctly
* options should contain an automator object that looks like this:
* {
* getInputState: function() { ... },
* setCursor: function(cursor) { ... },
* getCompleterTemplateData: function() { ... },
* focus: function() { ... },
* getErrorMessage: function() { ... },