Innovenergy_trunk/frontend/node_modules/testcafe/lib/custom-client-scripts/utils.js

61 lines
9.3 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 });
exports.findProblematicScripts = exports.setUniqueUrls = void 0;
const lodash_1 = require("lodash");
const testcafe_hammerhead_1 = require("testcafe-hammerhead");
const client_script_1 = __importDefault(require("./client-script"));
function getScriptGroupValues(collection, groupByPredicate, pickByPredicate) {
return (0, lodash_1.chain)(collection)
.groupBy(groupByPredicate)
.pickBy(pickByPredicate)
.values()
.value();
}
function getDuplicatedScripts(collection) {
const contentGroups = getScriptGroupValues(collection, (s) => s.hash, (g) => g.length > 1);
const duplicatedScripts = [];
contentGroups.forEach(contentGroup => {
const pageGroups = getScriptGroupValues(contentGroup, (s) => s.page.toString());
if (pageGroups.length === 1 && testcafe_hammerhead_1.RequestFilterRule.isANY(pageGroups[0][0].page)) { /*eslint-disable-line no-extra-parens*/
duplicatedScripts.push(pageGroups[0][0]);
return;
}
const forAllPagesGroup = pageGroups.find(pg => testcafe_hammerhead_1.RequestFilterRule.isANY(pg[0].page)); /*eslint-disable-line no-extra-parens*/
if (forAllPagesGroup) {
pageGroups
.filter(pg => !testcafe_hammerhead_1.RequestFilterRule.isANY(pg[0].page)) /*eslint-disable-line no-extra-parens*/
.forEach(pg => {
duplicatedScripts.push(pg[0]);
});
}
else {
pageGroups
.filter(pg => pg.length > 1)
.forEach(pg => {
duplicatedScripts.push(pg[0]);
});
}
});
return duplicatedScripts;
}
function setUniqueUrls(collection) {
const scriptsWithDuplicatedUrls = getDuplicatedScripts(collection);
for (let i = 0; i < scriptsWithDuplicatedUrls.length; i++)
scriptsWithDuplicatedUrls[i].url = scriptsWithDuplicatedUrls[i].url + '-' + (0, testcafe_hammerhead_1.generateUniqueId)(client_script_1.default.URL_UNIQUE_PART_LENGTH);
return collection;
}
exports.setUniqueUrls = setUniqueUrls;
function findProblematicScripts(collection) {
const nonEmptyScripts = collection.filter(s => !!s.content);
const duplicatedContent = getDuplicatedScripts(nonEmptyScripts);
const empty = collection.filter(s => !s.content);
return {
duplicatedContent,
empty,
};
}
exports.findProblematicScripts = findProblematicScripts;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3VzdG9tLWNsaWVudC1zY3JpcHRzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1DQUErQjtBQUMvQiw2REFBMEU7QUFDMUUsb0VBQTJDO0FBRzNDLFNBQVMsb0JBQW9CLENBQUUsVUFBMEIsRUFBRSxnQkFBMEIsRUFBRSxlQUFtRTtJQUN0SixPQUFPLElBQUEsY0FBSyxFQUFDLFVBQVUsQ0FBQztTQUNuQixPQUFPLENBQUMsZ0JBQWdCLENBQUM7U0FDekIsTUFBTSxDQUFDLGVBQWUsQ0FBQztTQUN2QixNQUFNLEVBQUU7U0FDUixLQUFLLEVBQXNCLENBQUM7QUFDckMsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUUsVUFBMEI7SUFDckQsTUFBTSxhQUFhLEdBQXVCLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxDQUFDLENBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0ksTUFBTSxpQkFBaUIsR0FBbUIsRUFBRSxDQUFDO0lBRTdDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDakMsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUMsWUFBOEIsRUFBRSxDQUFDLENBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRWhILElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksdUNBQWlCLENBQUMsS0FBSyxDQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSx1Q0FBdUM7WUFDdEksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWlCLENBQUMsQ0FBQztZQUV6RCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyx1Q0FBaUIsQ0FBQyxLQUFLLENBQUUsRUFBRSxDQUFDLENBQUMsQ0FBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsdUNBQXVDO1FBRTlJLElBQUksZ0JBQWdCLEVBQUU7WUFDbEIsVUFBVTtpQkFDTCxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLHVDQUFpQixDQUFDLEtBQUssQ0FBRSxFQUFFLENBQUMsQ0FBQyxDQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsdUNBQXVDO2lCQUM1RyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ1YsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQWlCLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUMsQ0FBQztTQUNWO2FBQ0k7WUFDRCxVQUFVO2lCQUNMLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2lCQUMzQixPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ1YsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQWlCLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUMsQ0FBQztTQUNWO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLGlCQUFpQixDQUFDO0FBQzdCLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUUsVUFBMEI7SUFDckQsTUFBTSx5QkFBeUIsR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVuRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcseUJBQXlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtRQUNyRCx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFBLHNDQUFnQixFQUFDLHVCQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUV0SSxPQUFPLFVBQVUsQ0FBQztBQUN0QixDQUFDO0FBUEQsc0NBT0M7QUFFRCxTQUFnQixzQkFBc0IsQ0FBRSxVQUEwQjtJQUM5RCxNQUFNLGVBQWUsR0FBZ0IsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekUsTUFBTSxpQkFBaUIsR0FBYyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzRSxNQUFNLEtBQUssR0FBMEIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXhFLE9BQU87UUFDSCxpQkFBaUI7UUFDakIsS0FBSztLQUNSLENBQUM7QUFDTixDQUFDO0FBVEQsd0RBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjaGFpbiB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBnZW5lcmF0ZVVuaXF1ZUlkLCBSZXF1ZXN0RmlsdGVyUnVsZSB9IGZyb20gJ3Rlc3RjYWZlLWhhbW1lcmhlYWQnO1xuaW1wb3J0IENsaWVudFNjcmlwdCBmcm9tICcuL2NsaWVudC1zY3JpcHQnO1xuaW1wb3J0IFByb2JsZW1hdGljU2NyaXB0cyBmcm9tICcuL3Byb2JsZW1hdGljLXNjcmlwdHMnO1xuXG5mdW5jdGlvbiBnZXRTY3JpcHRHcm91cFZhbHVlcyAoY29sbGVjdGlvbjogQ2xpZW50U2NyaXB0W10sIGdyb3VwQnlQcmVkaWNhdGU6IEZ1bmN0aW9uLCBwaWNrQnlQcmVkaWNhdGU/OiAoKHZhbHVlOiBDbGllbnRTY3JpcHRbXSwga2V5OiBzdHJpbmcpID0+IHVua25vd24pKTogQ2xpZW50U2NyaXB0W11bXSB7XG4gICAgcmV0dXJuIGNoYWluKGNvbGxlY3Rpb24pXG4gICAgICAgIC5ncm91cEJ5KGdyb3VwQnlQcmVkaWNhdGUpXG4gICAgICAgIC5waWNrQnkocGlja0J5UHJlZGljYXRlKVxuICAgICAgICAudmFsdWVzKClcbiAgICAgICAgLnZhbHVlKCkgYXMgQ2xpZW50U2NyaXB0W11bXTtcbn1cblxuZnVuY3Rpb24gZ2V0RHVwbGljYXRlZFNjcmlwdHMgKGNvbGxlY3Rpb246IENsaWVudFNjcmlwdFtdKTogQ2xpZW50U2NyaXB0W10ge1xuICAgIGNvbnN0IGNvbnRlbnRHcm91cHMgICAgICAgICAgICAgICAgICAgICA9IGdldFNjcmlwdEdyb3VwVmFsdWVzKGNvbGxlY3Rpb24sIChzOiBDbGllbnRTY3JpcHQpID0+IHMuaGFzaCwgKGc6IENsa