summaryrefslogtreecommitdiffstats
path: root/devtools/client/commandline/test/browser_gcli_incomplete.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/commandline/test/browser_gcli_incomplete.js')
-rw-r--r--devtools/client/commandline/test/browser_gcli_incomplete.js439
1 files changed, 439 insertions, 0 deletions
diff --git a/devtools/client/commandline/test/browser_gcli_incomplete.js b/devtools/client/commandline/test/browser_gcli_incomplete.js
new file mode 100644
index 000000000..38424b745
--- /dev/null
+++ b/devtools/client/commandline/test/browser_gcli_incomplete.js
@@ -0,0 +1,439 @@
+/*
+ * 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" }
+ }
+ }
+ }
+ ]);
+};