123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486 |
- /*
- * 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: [ ],
- }
- }
- ]);
- };
|