зеркало из https://github.com/mozilla/gecko-dev.git
795 строки
17 KiB
JavaScript
795 строки
17 KiB
JavaScript
/*
|
|
* 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"),
|
|
}
|
|
];
|