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