Innovenergy_trunk/frontend/node_modules/testcafe-browser-tools/lib/api/open.js

83 lines
9.4 KiB
JavaScript
Raw Normal View History

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const mustache_1 = __importDefault(require("mustache"));
const os_family_1 = __importDefault(require("os-family"));
const exec_1 = require("../utils/exec");
const fs_exists_promised_1 = __importDefault(require("../utils/fs-exists-promised"));
const errors_1 = require("../errors");
const debug_1 = __importDefault(require("debug"));
const util_1 = require("util");
const LOGGER = debug_1.default('testcafe:browser-tools:open');
function log(data) {
try {
LOGGER(util_1.inspect(data, { isTestCafeInspect: true, compact: false }));
}
catch (e) {
LOGGER(e.stack ? e.stack : String(e));
}
}
async function checkBrowserPath(browserInfo) {
if (!browserInfo.path) {
//NOTE: Path may be undefined when winOpenCmdTemplate is specified (e.g. MS Edge)
if (browserInfo.winOpenCmdTemplate)
return;
throw new errors_1.BrowserPathNotSetError();
}
var fileExists = await fs_exists_promised_1.default(browserInfo.path);
if (!fileExists)
throw new errors_1.UnableToRunBrowsersError({ path: browserInfo.path });
}
function getWinOpenCommand(browserInfo, pageUrl) {
if (browserInfo.winOpenCmdTemplate) {
return mustache_1.default.render(browserInfo.winOpenCmdTemplate, {
pageUrl: pageUrl
});
}
var browserDirPath = path_1.default.dirname(browserInfo.path);
var browserExecFileName = path_1.default.basename(browserInfo.path);
return `start /D "${browserDirPath}" .\\${browserExecFileName} ${browserInfo.cmd} ${pageUrl}`;
}
function getMacOpenCommand(browserInfo, pageUrl) {
return mustache_1.default.render(browserInfo.macOpenCmdTemplate, {
path: browserInfo.path,
cmd: browserInfo.cmd,
pageUrl: pageUrl
});
}
function getLinuxOpenCommand(browserInfo, pageUrl) {
return `"${browserInfo.path}" ${browserInfo.cmd} "${pageUrl}" 0<&- >/dev/null 2>&1 &`;
}
var getOpenCommand = null;
if (os_family_1.default.win)
getOpenCommand = getWinOpenCommand;
else if (os_family_1.default.mac)
getOpenCommand = getMacOpenCommand;
else if (os_family_1.default.linux)
getOpenCommand = getLinuxOpenCommand;
/**
* Opens the web page in a new instance of the browser.
* @function
* @async
* @name open
* @param {BrowserInfo} browserInfo - Provides information on the browser where the web page should be opened.
* @param {string} pageUrl - Specifies the web page URL.
*/
async function default_1(browserInfo, pageUrl) {
await checkBrowserPath(browserInfo);
if (!getOpenCommand)
return;
var command = getOpenCommand(browserInfo, pageUrl);
try {
log(command);
await exec_1.exec(command);
}
catch (err) {
throw new errors_1.UnableToRunBrowsersError({ path: browserInfo.path });
}
}
exports.default = default_1;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvb3Blbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUF3QjtBQUN4Qix3REFBZ0M7QUFDaEMsMERBQTJCO0FBQzNCLHdDQUFxQztBQUNyQyxxRkFBaUQ7QUFDakQsc0NBQTZFO0FBQzdFLGtEQUEwQjtBQUMxQiwrQkFBK0I7QUFFL0IsTUFBTSxNQUFNLEdBQUcsZUFBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFFcEQsU0FBUyxHQUFHLENBQUUsSUFBSTtJQUNkLElBQUk7UUFDQSxNQUFNLENBQUMsY0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ3RFO0lBQ0QsT0FBTyxDQUFDLEVBQUU7UUFDTixNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekM7QUFDTCxDQUFDO0FBRUQsS0FBSyxVQUFVLGdCQUFnQixDQUFFLFdBQVc7SUFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUU7UUFDbkIsaUZBQWlGO1FBQ2pGLElBQUksV0FBVyxDQUFDLGtCQUFrQjtZQUM5QixPQUFPO1FBRVgsTUFBTSxJQUFJLCtCQUFzQixFQUFFLENBQUM7S0FDdEM7SUFFRCxJQUFJLFVBQVUsR0FBRyxNQUFNLDRCQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhELElBQUksQ0FBQyxVQUFVO1FBQ1gsTUFBTSxJQUFJLGlDQUF3QixDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFFLFdBQVcsRUFBRSxPQUFPO0lBQzVDLElBQUksV0FBVyxDQUFDLGtCQUFrQixFQUFFO1FBQ2hDLE9BQU8sa0JBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFO1lBQ25ELE9BQU8sRUFBRSxPQUFPO1NBQ25CLENBQUMsQ0FBQztLQUNOO0lBRUQsSUFBSSxjQUFjLEdBQVEsY0FBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekQsSUFBSSxtQkFBbUIsR0FBRyxjQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxRCxPQUFPLGFBQWEsY0FBYyxRQUFRLG1CQUFtQixJQUFJLFdBQVcsQ0FBQyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDbEcsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUUsV0FBVyxFQUFFLE9BQU87SUFDNUMsT0FBTyxrQkFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUU7UUFDbkQsSUFBSSxFQUFLLFdBQVcsQ0FBQyxJQUFJO1FBQ3pCLEdBQUcsRUFBTSxXQUFXLENBQUMsR0FBRztRQUN4QixPQUFPLEVBQUUsT0FBTztLQUNuQixDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBRSxXQUFXLEVBQUUsT0FBTztJQUM5QyxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsR0FBRyxLQUFLLE9BQU8sMEJBQTBCLENBQUM7QUFDMUYsQ0FBQztBQUVELElBQUksY0FBYyxHQUFHLElBQUksQ0FBQztBQUUxQixJQUFJLG1CQUFFLENBQUMsR0FBRztJQUNOLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQztLQUNsQyxJQUFJLG1CQUFFLENBQUMsR0FBRztJQUNYLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQztLQUNsQyxJQUFJLG1CQUFFLENBQUMsS0FBSztJQUNiLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQztBQUV6Qzs7Ozs7OztHQU9HO0FBQ1ksS0FBSyxvQkFBVyxXQUFXLEVBQUUsT0FBTztJQUMvQyxNQUFNLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXBDLElBQUksQ0FBQyxjQUFjO1FBQ2YsT0FBTztJQUVYLElBQUksT0FBTyxHQUFHLGNBQWMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFbkQsSUFBSTtRQUNBLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUViLE1BQU0sV0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3ZCO0lBQ0QsT0FBTyxHQUFHLEVBQUU7UUFDUixNQUFNLElBQUksaUNBQXdCLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7S0FDbEU7QUFDTCxDQUFDO0FBaEJELDRCQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IE11c3RhY2hlIGZyb20gJ211c3RhY2hlJztcbmltcG9ydCBPUyBmcm9tICdvcy1mYW1pbHknO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJy4uL3V0aWxzL2V4ZWMnO1xuaW1wb3J0IGV4aXN0cyBmcm9tICcuLi91dGlscy9mcy1leGlzdHMtcHJvbWlzZWQnO1xuaW1wb3J0IHsgQnJvd3NlclBhdGhOb3RTZXRFcnJvciwgVW5hYmxlVG9SdW5Ccm93c2Vyc0Vycm9yIH0gZnJvbSAnLi4vZXJyb3JzJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBpbnNwZWN0IH0gZnJvbSAndXRpbCc7XG5cbmNvbnN0IExPR0dFUiA9IGRlYnVnKCd0ZXN0Y2FmZTpicm93c2VyLXRvb2xzOm9wZW4nKTtcblxuZnVuY3Rpb24gbG9nIChkYXRhKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgTE9HR0VSKGluc3BlY3QoZGF0YSwgeyBpc1Rlc3RDYWZlSW5zcGVjdDogdHJ1ZSwgY29tcGFjdDogZmFsc2UgfSkpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICBMT0dHRVIoZS5zdGFjayA/IGUuc3RhY2sgOiBTdHJpbmcoZSkpO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY2hlY2tCcm93c2VyUGF0aCAoYnJvd3NlckluZm8pIHtcbiAgICBpZiAoIWJyb3dzZXJJbmZvLnBhdGgpIHtcbiAgICAgICAgLy9OT1RFOiBQYXRoIG1heSBiZSB1bmRlZmluZWQgd2hlbiB3aW5PcGVuQ21kVGVtcGxhdGUgaXMgc3BlY2lmaWVkIChlLmcuIE1TIEVkZ2UpXG4gICAgICAgIGlmIChicm93c2VySW5mby53aW5PcGVuQ21kVGVtcGxhdGUpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgdGhyb3cgbmV3IEJyb3dzZXJQYXRoTm90U2V0RXJyb3IoKTtcbiAgICB9XG5cbiAgICB2YXIgZmlsZUV4a