Best JavaScript code snippet using backstopjs
engineTools.js
Source:engineTools.js
1function getMisMatchThreshHold (scenario, config) {2 if (typeof scenario.misMatchThreshold !== 'undefined') { return scenario.misMatchThreshold; }3 if (typeof config.misMatchThreshold !== 'undefined') { return config.misMatchThreshold; }4 return config.defaultMisMatchThreshold;5}6function ensureFileSuffix (filename, suffix) {7 var re = new RegExp('\.' + suffix + '$', ''); // eslint-disable-line no-useless-escape8 return filename.replace(re, '') + '.' + suffix;9}10// merge both strings while soft-enforcing a single slash between them11function glueStringsWithSlash (stringA, stringB) {12 return stringA.replace(/\/$/, '') + '/' + stringB.replace(/^\//, '');13}14function genHash (str) {15 var hash = 0;16 var i;17 var chr;18 var len;19 if (!str) return hash;20 str = str.toString();21 for (i = 0, len = str.length; i < len; i++) {22 chr = str.charCodeAt(i);23 hash = ((hash << 5) - hash) + chr;24 hash |= 0; // Convert to 32bit integer25 }26 // return a string and replace a negative sign with a zero27 return hash.toString().replace(/^-/, 0);28}29function getRequireSameDimentions (scenario, config) {30 if (scenario.requireSameDimensions !== undefined) {31 return scenario.requireSameDimensions;32 } else if (config.requireSameDimensions !== undefined) {33 return config.requireSameDimensions;34 } else {35 return config.defaultRequireSameDimensions;36 }37}38function getSelectorName (selector) {39 return selector.replace(/[^a-z0-9_-]/gi, ''); // remove anything that's not a letter or a number40}41function makeSafe (str) {42 return str.replace(/[ /]/g, '_');43}44function getFilename (fileNameTemplate, outputFileFormatSuffix, configId, scenarioIndex, scenarioLabelSafe, selectorIndex, selectorLabel, viewportIndex, viewportLabel) {45 var fileName = fileNameTemplate46 .replace(/\{configId\}/, configId)47 .replace(/\{scenarioIndex\}/, scenarioIndex)48 .replace(/\{scenarioLabel\}/, scenarioLabelSafe)49 .replace(/\{selectorIndex\}/, selectorIndex)50 .replace(/\{selectorLabel\}/, selectorLabel)51 .replace(/\{viewportIndex\}/, viewportIndex)52 .replace(/\{viewportLabel\}/, makeSafe(viewportLabel))53 .replace(/[^a-z0-9_-]/gi, ''); // remove anything that's not a letter or a number or dash or underscore.54 var extRegExp = new RegExp(outputFileFormatSuffix + '$', 'i');55 if (!extRegExp.test(fileName)) {56 fileName = fileName + outputFileFormatSuffix;57 }58 return fileName;59}60function getEngineOption (config, optionName, fallBack) {61 if (typeof config.engineOptions === 'object' && config.engineOptions[optionName]) {62 return config.engineOptions[optionName];63 }64 return fallBack;65}66function getScenarioExpect (scenario) {67 let expect = 0;68 if (scenario.selectorExpansion && scenario.selectors && scenario.selectors.length && scenario.expect) {69 expect = scenario.expect;70 }71 return expect;72}73function generateTestPair (config, scenario, viewport, variantOrScenarioLabelSafe, scenarioLabelSafe, selectorIndex, selector) {74 const cleanedSelectorName = getSelectorName(selector);75 const fileName = getFilename(76 config._fileNameTemplate,77 config._outputFileFormatSuffix,78 config._configId,79 scenario.sIndex,80 variantOrScenarioLabelSafe,81 selectorIndex,82 cleanedSelectorName,83 viewport.vIndex,84 viewport.label85 );86 const referenceFilePath = config._bitmapsReferencePath + '/' + getFilename(87 config._fileNameTemplate,88 config._outputFileFormatSuffix,89 config._configId,90 scenario.sIndex,91 scenarioLabelSafe,92 selectorIndex,93 cleanedSelectorName,94 viewport.vIndex,95 viewport.label96 );97 const testFilePath = config._bitmapsTestPath + '/' + config.screenshotDateTime + '/' + fileName;98 return {99 reference: referenceFilePath,100 test: testFilePath,101 selector: selector,102 fileName: fileName,103 label: scenario.label,104 requireSameDimensions: getRequireSameDimentions(scenario, config),105 misMatchThreshold: getMisMatchThreshHold(scenario, config),106 url: scenario.url,107 referenceUrl: scenario.referenceUrl,108 expect: getScenarioExpect(scenario),109 viewportLabel: viewport.label110 };111}112module.exports = {113 generateTestPair: generateTestPair,114 getMisMatchThreshHold: getMisMatchThreshHold,115 getRequireSameDimentions: getRequireSameDimentions,116 ensureFileSuffix: ensureFileSuffix,117 glueStringsWithSlash: glueStringsWithSlash,118 genHash: genHash,119 makeSafe: makeSafe,120 getFilename: getFilename,121 getEngineOption: getEngineOption,122 getSelectorName: getSelectorName,123 getScenarioExpect: getScenarioExpect...
Using AI Code Generation
1var ensureFileSuffix = require('backstopjs/core/util/ensureFileSuffix');2console.log(ensureFileSuffix('test','png'));3console.log(ensureFileSuffix('test.png','png'));4console.log(ensureFileSuffix('test.jpg','png'));5var ensureFileSuffix = require('backstopjs/core/util/ensureFileSuffix');6console.log(ensureFileSuffix('test','png'));7console.log(ensureFileSuffix('test.png','png'));8console.log(ensureFileSuffix('test.jpg','png'));9var ensureFileSuffix = require('backstopjs/core/util/ensureFileSuffix');10console.log(ensureFileSuffix('test','png'));11console.log(ensureFileSuffix('test.png','png'));12console.log(ensureFileSuffix('test.jpg','png'));13var ensureFileSuffix = require('backstopjs/core/util/ensureFileSuffix');14console.log(ensureFileSuffix('test','png'));15console.log(ensureFileSuffix('test.png','png'));16console.log(ensureFileSuffix('test.jpg','png'));17var ensureFileSuffix = require('backstopjs/core/util/ensureFileSuffix');18console.log(ensureFileSuffix('test','png'));19console.log(ensureFileSuffix('test.png','png'));20console.log(ensureFileSuffix('test.jpg','png'));21var ensureFileSuffix = require('backstopjs/core/util/ensureFileSuffix');22console.log(ensureFileSuffix('test','png'));23console.log(ensureFileSuffix('test.png','png'));24console.log(ensureFileSuffix('test.jpg','png'));
Using AI Code Generation
1const ensureFileSuffix = require('backstopjs/util/ensureFileSuffix');2const getReferenceConfig = require('backstopjs/core/util/getReferenceConfig');3const getScenario = require('backstopjs/core/util/getScenario');4const getScenarioLabel = require('backstopjs/core/util/getScenarioLabel');5const getScenarioReferencePath = require('backstopjs/core/util/getScenarioReferencePath');6const getScenarioTestPath = require('backstopjs/core/util/getScenarioTestPath');7const getTestConfig = require('backstopjs/core/util/getTestConfig');8const hasFileSuffix = require('backstopjs/util/hasFileSuffix');9const isDirectory = require('backstopjs/util/isDirectory');10const isFile = require('
Using AI Code Generation
1const ensureFileSuffix = require('backstopjs/core/util/fileExists').ensureFileSuffix;2const ensureFileSuffix = require('backstopjs/core/util/fileExists').ensureFileSuffix;3module.exports = {4 {5 },6 {7 }8 {9 }10 "paths": {11 },12 "engineOptions": {13 },14};
Using AI Code Generation
1var ensureFileSuffix = require('backstopjs/util/ensureFileSuffix');2var filePath = ensureFileSuffix('test', '.js');3console.log(filePath);4var ensureFileSuffix = require('backstopjs/util/ensureFileSuffix');5var filePath = ensureFileSuffix('test', '.js');6console.log(filePath);7var ensureFileSuffix = require('backstopjs/util/ensureFileSuffix');8var filePath = ensureFileSuffix('test.js', '.js');9console.log(filePath);10var ensureFileSuffix = require('backstopjs/util/ensureFileSuffix');11var filePath = ensureFileSuffix('test', '.js');12console.log(filePath);13var ensureFileSuffix = require('backstopjs/util/ensureFileSuffix');14var filePath = ensureFileSuffix('test.js', '.js');15console.log(filePath);16var ensureFileSuffix = require('backstopjs/util/ensureFileSuffix');17var filePath = ensureFileSuffix('test', '.js');18console.log(filePath);19var ensureFileSuffix = require('backstopjs/util/ensureFileSuffix');20var filePath = ensureFileSuffix('test.js', '.js');21console.log(filePath);22var ensureFileSuffix = require('backstopjs/util/ensureFileSuffix');23var filePath = ensureFileSuffix('test', '.js');24console.log(filePath);25var ensureFileSuffix = require('backstopjs/util/ensureFileSuffix');26var filePath = ensureFileSuffix('test.js', '.js');27console.log(filePath);
Using AI Code Generation
1var ensureFileSuffix = require('backstopjs/util/file').ensureFileSuffix;2var path = require('path');3var pathWithSuffix = ensureFileSuffix('test.js', '.js');4console.log(pathWithSuffix);5var pathWithSuffix = ensureFileSuffix('test.js', '.json');6console.log(pathWithSuffix);7var pathWithSuffix = ensureFileSuffix('test', '.js');8console.log(pathWithSuffix);9var pathWithSuffix = ensureFileSuffix('test', '.json');10console.log(pathWithSuffix);11config = ensureFileSuffix(config, '.json');12config = ensureFileSuffix(config, '.json');13config = ensureFileSuffix(config, '.json');14config = ensureFileSuffix(config, '.json');15config = ensureFileSuffix(config, '.json');16config = ensureFileSuffix(config, '.json');17config = ensureFileSuffix(config, '.json');18config = ensureFileSuffix(config, '.json');19config = ensureFileSuffix(config, '.json');20config = ensureFileSuffix(config, '.json');21config = ensureFileSuffix(config, '.json');
Using AI Code Generation
1var ensureFileSuffix = require('./utils/ensureFileSuffix');2var path = '/some/path/file.png';3var file = ensureFileSuffix(path, '.png');4console.log(file);5module.exports = function ensureFileSuffix (path, suffix) {6 var hasSuffix = new RegExp(suffix + '$');7 return hasSuffix.test(path) ? path : path + suffix;8};9{10 {11 },12 {13 }14 {15 }16 "paths": {17 },18 "engineOptions": {19 },
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!