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