123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795 |
- /*
- * 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
- var mockCommands;
- if (typeof exports !== "undefined") {
- // If we're being loaded via require();
- mockCommands = exports;
- }
- else {
- // If we're being loaded via loadScript in mochitest
- mockCommands = {};
- }
- // We use an alias for exports here because this module is used in Firefox
- // mochitests where we don't have define/require
- /**
- * Registration and de-registration.
- */
- mockCommands.setup = function (requisition) {
- requisition.system.addItems(mockCommands.items);
- };
- mockCommands.shutdown = function (requisition) {
- requisition.system.removeItems(mockCommands.items);
- };
- function createExec(name) {
- return function (args, context) {
- var promises = [];
- Object.keys(args).map(function (argName) {
- var value = args[argName];
- var type = this.getParameterByName(argName).type;
- var promise = Promise.resolve(type.stringify(value, context));
- promises.push(promise.then(function (str) {
- return { name: argName, value: str };
- }.bind(this)));
- }.bind(this));
- return Promise.all(promises).then(function (data) {
- var argValues = {};
- data.forEach(function (entry) { argValues[entry.name] = entry.value; });
- return context.typedData("testCommandOutput", {
- name: name,
- args: argValues
- });
- }.bind(this));
- };
- }
- mockCommands.items = [
- {
- item: "converter",
- from: "testCommandOutput",
- to: "dom",
- exec: function (testCommandOutput, context) {
- var view = context.createView({
- data: testCommandOutput,
- html: "" +
- "<table>" +
- "<thead>" +
- "<tr>" +
- '<th colspan="3">Exec: ${name}</th>' +
- "</tr>" +
- "</thead>" +
- "<tbody>" +
- '<tr foreach="key in ${args}">' +
- "<td> ${key}</td>" +
- "<td>=</td>" +
- "<td>${args[key]}</td>" +
- "</tr>" +
- "</tbody>" +
- "</table>",
- options: {
- allowEval: true
- }
- });
- return view.toDom(context.document);
- }
- },
- {
- item: "converter",
- from: "testCommandOutput",
- to: "string",
- exec: function (testCommandOutput, context) {
- var argsOut = Object.keys(testCommandOutput.args).map(function (key) {
- return key + "=" + testCommandOutput.args[key];
- }).join(" ");
- return "Exec: " + testCommandOutput.name + " " + argsOut;
- }
- },
- {
- item: "type",
- name: "optionType",
- parent: "selection",
- lookup: [
- {
- name: "option1",
- value: "string"
- },
- {
- name: "option2",
- value: "number"
- },
- {
- name: "option3",
- value: {
- name: "selection",
- lookup: [
- { name: "one", value: 1 },
- { name: "two", value: 2 },
- { name: "three", value: 3 }
- ]
- }
- }
- ]
- },
- {
- item: "type",
- name: "optionValue",
- parent: "delegate",
- delegateType: function (executionContext) {
- if (executionContext != null) {
- var option = executionContext.getArgsObject().optionType;
- if (option != null) {
- return option;
- }
- }
- return "blank";
- }
- },
- {
- item: "command",
- name: "tsv",
- params: [
- { name: "optionType", type: "optionType" },
- { name: "optionValue", type: "optionValue" }
- ],
- exec: createExec("tsv")
- },
- {
- item: "command",
- name: "tsr",
- params: [ { name: "text", type: "string" } ],
- exec: createExec("tsr")
- },
- {
- item: "command",
- name: "tsrsrsr",
- params: [
- { name: "p1", type: "string" },
- { name: "p2", type: "string" },
- { name: "p3", type: { name: "string", allowBlank: true} },
- ],
- exec: createExec("tsrsrsr")
- },
- {
- item: "command",
- name: "tso",
- params: [ { name: "text", type: "string", defaultValue: null } ],
- exec: createExec("tso")
- },
- {
- item: "command",
- name: "tse",
- params: [
- { name: "node", type: "node" },
- {
- group: "options",
- params: [
- { name: "nodes", type: { name: "nodelist" } },
- { name: "nodes2", type: { name: "nodelist", allowEmpty: true } }
- ]
- }
- ],
- exec: createExec("tse")
- },
- {
- item: "command",
- name: "tsj",
- params: [ { name: "javascript", type: "javascript" } ],
- exec: createExec("tsj")
- },
- {
- item: "command",
- name: "tsb",
- params: [ { name: "toggle", type: "boolean" } ],
- exec: createExec("tsb")
- },
- {
- item: "command",
- name: "tss",
- exec: createExec("tss")
- },
- {
- item: "command",
- name: "tsu",
- params: [
- {
- name: "num",
- type: {
- name: "number",
- max: 10,
- min: -5,
- step: 3
- }
- }
- ],
- exec: createExec("tsu")
- },
- {
- item: "command",
- name: "tsf",
- params: [
- {
- name: "num",
- type: {
- name: "number",
- allowFloat: true,
- max: 11.5,
- min: -6.5,
- step: 1.5
- }
- }
- ],
- exec: createExec("tsf")
- },
- {
- item: "command",
- name: "tsn"
- },
- {
- item: "command",
- name: "tsn dif",
- params: [ { name: "text", type: "string", description: "tsn dif text" } ],
- exec: createExec("tsnDif")
- },
- {
- item: "command",
- name: "tsn hidden",
- hidden: true,
- exec: createExec("tsnHidden")
- },
- {
- item: "command",
- name: "tsn ext",
- params: [ { name: "text", type: "string" } ],
- exec: createExec("tsnExt")
- },
- {
- item: "command",
- name: "tsn exte",
- params: [ { name: "text", type: "string" } ],
- exec: createExec("tsnExte")
- },
- {
- item: "command",
- name: "tsn exten",
- params: [ { name: "text", type: "string" } ],
- exec: createExec("tsnExten")
- },
- {
- item: "command",
- name: "tsn extend",
- params: [ { name: "text", type: "string" } ],
- exec: createExec("tsnExtend")
- },
- {
- item: "command",
- name: "tsn deep"
- },
- {
- item: "command",
- name: "tsn deep down"
- },
- {
- item: "command",
- name: "tsn deep down nested"
- },
- {
- item: "command",
- name: "tsn deep down nested cmd",
- exec: createExec("tsnDeepDownNestedCmd")
- },
- {
- item: "command",
- name: "tshidden",
- hidden: true,
- params: [
- {
- group: "Options",
- params: [
- {
- name: "visible",
- type: "string",
- short: "v",
- defaultValue: null,
- description: "visible"
- },
- {
- name: "invisiblestring",
- type: "string",
- short: "i",
- description: "invisiblestring",
- defaultValue: null,
- hidden: true
- },
- {
- name: "invisibleboolean",
- short: "b",
- type: "boolean",
- description: "invisibleboolean",
- hidden: true
- }
- ]
- }
- ],
- exec: createExec("tshidden")
- },
- {
- item: "command",
- name: "tselarr",
- params: [
- { name: "num", type: { name: "selection", data: [ "1", "2", "3" ] } },
- { name: "arr", type: { name: "array", subtype: "string" } }
- ],
- exec: createExec("tselarr")
- },
- {
- item: "command",
- name: "tsm",
- description: "a 3-param test selection|string|number",
- params: [
- { name: "abc", type: { name: "selection", data: [ "a", "b", "c" ] } },
- { name: "txt", type: "string" },
- { name: "num", type: { name: "number", max: 42, min: 0 } }
- ],
- exec: createExec("tsm")
- },
- {
- item: "command",
- name: "tsg",
- description: "a param group test",
- params: [
- {
- name: "solo",
- type: { name: "selection", data: [ "aaa", "bbb", "ccc" ] },
- description: "solo param"
- },
- {
- group: "First",
- params: [
- {
- name: "txt1",
- type: "string",
- defaultValue: null,
- description: "txt1 param"
- },
- {
- name: "bool",
- type: "boolean",
- description: "bool param"
- }
- ]
- },
- {
- name: "txt2",
- type: "string",
- defaultValue: "d",
- description: "txt2 param",
- option: "Second"
- },
- {
- name: "num",
- type: { name: "number", min: 40 },
- defaultValue: 42,
- description: "num param",
- option: "Second"
- }
- ],
- exec: createExec("tsg")
- },
- {
- item: "command",
- name: "tscook",
- description: "param group test to catch problems with cookie command",
- params: [
- {
- name: "key",
- type: "string",
- description: "tscookKeyDesc"
- },
- {
- name: "value",
- type: "string",
- description: "tscookValueDesc"
- },
- {
- group: "tscookOptionsDesc",
- params: [
- {
- name: "path",
- type: "string",
- defaultValue: "/",
- description: "tscookPathDesc"
- },
- {
- name: "domain",
- type: "string",
- defaultValue: null,
- description: "tscookDomainDesc"
- },
- {
- name: "secure",
- type: "boolean",
- description: "tscookSecureDesc"
- }
- ]
- }
- ],
- exec: createExec("tscook")
- },
- {
- item: "command",
- name: "tslong",
- description: "long param tests to catch problems with the jsb command",
- params: [
- {
- name: "msg",
- type: "string",
- description: "msg Desc"
- },
- {
- group: "Options Desc",
- params: [
- {
- name: "num",
- short: "n",
- type: "number",
- description: "num Desc",
- defaultValue: 2
- },
- {
- name: "sel",
- short: "s",
- type: {
- name: "selection",
- lookup: [
- { name: "space", value: " " },
- { name: "tab", value: "\t" }
- ]
- },
- description: "sel Desc",
- defaultValue: " "
- },
- {
- name: "bool",
- short: "b",
- type: "boolean",
- description: "bool Desc"
- },
- {
- name: "num2",
- short: "m",
- type: "number",
- description: "num2 Desc",
- defaultValue: -1
- },
- {
- name: "bool2",
- short: "c",
- type: "boolean",
- description: "bool2 Desc"
- },
- {
- name: "sel2",
- short: "t",
- type: {
- name: "selection",
- data: [ "collapse", "basic", "with space", "with two spaces" ]
- },
- description: "sel2 Desc",
- defaultValue: "collapse"
- }
- ]
- }
- ],
- exec: createExec("tslong")
- },
- {
- item: "command",
- name: "tsdate",
- description: "long param tests to catch problems with the jsb command",
- params: [
- {
- name: "d1",
- type: "date",
- },
- {
- name: "d2",
- type: {
- name: "date",
- min: "1 jan 2000",
- max: "28 feb 2000",
- step: 2
- }
- },
- ],
- exec: createExec("tsdate")
- },
- {
- item: "command",
- name: "tsfail",
- description: "test errors",
- params: [
- {
- name: "method",
- type: {
- name: "selection",
- data: [
- "reject", "rejecttyped",
- "throwerror", "throwstring", "throwinpromise",
- "noerror"
- ]
- }
- }
- ],
- exec: function (args, context) {
- if (args.method === "reject") {
- return new Promise(function (resolve, reject) {
- context.environment.window.setTimeout(function () {
- reject("rejected promise");
- }, 10);
- });
- }
- if (args.method === "rejecttyped") {
- return new Promise(function (resolve, reject) {
- context.environment.window.setTimeout(function () {
- reject(context.typedData("number", 54));
- }, 10);
- });
- }
- if (args.method === "throwinpromise") {
- return new Promise(function (resolve, reject) {
- context.environment.window.setTimeout(function () {
- resolve("should be lost");
- }, 10);
- }).then(function () {
- var t = null;
- return t.foo;
- });
- }
- if (args.method === "throwerror") {
- throw new Error("thrown error");
- }
- if (args.method === "throwstring") {
- throw "thrown string";
- }
- return "no error";
- }
- },
- {
- item: "command",
- name: "tsfile",
- description: "test file params",
- },
- {
- item: "command",
- name: "tsfile open",
- description: "a file param in open mode",
- params: [
- {
- name: "p1",
- type: {
- name: "file",
- filetype: "file",
- existing: "yes"
- }
- }
- ],
- exec: createExec("tsfile open")
- },
- {
- item: "command",
- name: "tsfile saveas",
- description: "a file param in saveas mode",
- params: [
- {
- name: "p1",
- type: {
- name: "file",
- filetype: "file",
- existing: "no"
- }
- }
- ],
- exec: createExec("tsfile saveas")
- },
- {
- item: "command",
- name: "tsfile save",
- description: "a file param in save mode",
- params: [
- {
- name: "p1",
- type: {
- name: "file",
- filetype: "file",
- existing: "maybe"
- }
- }
- ],
- exec: createExec("tsfile save")
- },
- {
- item: "command",
- name: "tsfile cd",
- description: "a file param in cd mode",
- params: [
- {
- name: "p1",
- type: {
- name: "file",
- filetype: "directory",
- existing: "yes"
- }
- }
- ],
- exec: createExec("tsfile cd")
- },
- {
- item: "command",
- name: "tsfile mkdir",
- description: "a file param in mkdir mode",
- params: [
- {
- name: "p1",
- type: {
- name: "file",
- filetype: "directory",
- existing: "no"
- }
- }
- ],
- exec: createExec("tsfile mkdir")
- },
- {
- item: "command",
- name: "tsfile rm",
- description: "a file param in rm mode",
- params: [
- {
- name: "p1",
- type: {
- name: "file",
- filetype: "any",
- existing: "yes"
- }
- }
- ],
- exec: createExec("tsfile rm")
- },
- {
- item: "command",
- name: "tsslow",
- params: [
- {
- name: "hello",
- type: {
- name: "selection",
- data: function (context) {
- return new Promise(function (resolve, reject) {
- context.environment.window.setTimeout(function () {
- resolve([
- "Shalom", "Namasté", "Hallo", "Dydd-da",
- "Chào", "Hej", "Saluton", "Sawubona"
- ]);
- }, 10);
- });
- }
- }
- }
- ],
- exec: function (args, context) {
- return "Test completed";
- }
- },
- {
- item: "command",
- name: "urlc",
- params: [
- {
- name: "url",
- type: "url"
- }
- ],
- returnType: "json",
- exec: function (args, context) {
- return args;
- }
- },
- {
- item: "command",
- name: "unionc1",
- params: [
- {
- name: "first",
- type: {
- name: "union",
- alternatives: [
- {
- name: "selection",
- lookup: [
- { name: "one", value: 1 },
- { name: "two", value: 2 },
- ]
- },
- "number",
- { name: "string" }
- ]
- }
- }
- ],
- returnType: "json",
- exec: function (args, context) {
- return args;
- }
- },
- {
- item: "command",
- name: "unionc2",
- params: [
- {
- name: "first",
- type: {
- name: "union",
- alternatives: [
- {
- name: "selection",
- lookup: [
- { name: "one", value: 1 },
- { name: "two", value: 2 },
- ]
- },
- {
- name: "url"
- }
- ]
- }
- }
- ],
- returnType: "json",
- exec: function (args, context) {
- return args;
- }
- },
- {
- item: "command",
- name: "tsres",
- params: [
- {
- name: "resource",
- type: "resource"
- }
- ],
- exec: createExec("tsres"),
- }
- ];
|