@applitools/visual-grid-client
Advanced tools
Comparing version 10.0.8 to 10.0.9
{ | ||
"name": "@applitools/visual-grid-client", | ||
"version": "10.0.8", | ||
"version": "10.0.9", | ||
"description": "", | ||
@@ -16,2 +16,3 @@ "main": "src/visual-grid-client.js", | ||
"test:mocha": "mocha --no-timeouts 'test/**/*.test.js'", | ||
"test:fast": "mocha --no-timeouts 'test/!(browser||e2e)/**/*.test.js'", | ||
"test:unit": "mocha --no-timeouts 'test/unit/**/*.test.js'", | ||
@@ -18,0 +19,0 @@ "test:it": "mocha --no-timeouts 'test/it/**/*.test.js'", |
@@ -67,2 +67,4 @@ # visual-grid-client | ||
* `floating`: TBD | ||
* `strict`: TBD | ||
* `layout`: TBD | ||
* `sendDom`: TBD | ||
@@ -69,0 +71,0 @@ * `scriptHooks`: a set of scripts to be run by the browser during the rendering. |
'use strict'; | ||
function calculateSelectorsToFindRegionsFor({sizeMode, selector, ignore, floating}) { | ||
function calculateSelectorsToFindRegionsFor({ | ||
sizeMode, | ||
selector, | ||
noOffsetSelectors, | ||
offsetSelectors, | ||
}) { | ||
let selectorsToFindRegionsFor = sizeMode === 'selector' ? [selector] : undefined; | ||
if (!ignore && !floating) return selectorsToFindRegionsFor; | ||
if (noOffsetSelectors.every(s => !s) && offsetSelectors.every(s => !s)) { | ||
return selectorsToFindRegionsFor; | ||
} | ||
const ignoreArr = ignore ? [].concat(ignore) : []; | ||
const floatingArr = floating ? [].concat(floating) : []; | ||
const ignoreAndFloating = ignoreArr.concat(floatingArr); | ||
const selectors = ignoreAndFloating | ||
const noOffsetCombined = noOffsetSelectors.reduce( | ||
(combined, arr) => combined.concat(arr || []), | ||
[], | ||
); | ||
const offsetCombined = offsetSelectors.reduce((combined, arr) => combined.concat(arr || []), []); | ||
const selectors = noOffsetCombined | ||
.concat(offsetCombined) | ||
.filter(region => region.selector) | ||
@@ -12,0 +22,0 @@ .map(({selector}) => selector); |
@@ -9,3 +9,3 @@ 'use strict'; | ||
const {RectangleSize, Location} = require('@applitools/eyes-sdk-core'); | ||
const calculateIgnoreAndFloatingRegions = require('./calculateIgnoreAndFloatingRegions'); | ||
const calculateMatchRegions = require('./calculateMatchRegions'); | ||
@@ -46,2 +46,4 @@ function makeCheckWindow({ | ||
matchLevel = _matchLevel, | ||
layout, | ||
strict, | ||
}) { | ||
@@ -61,2 +63,13 @@ const currStepCount = ++stepCounter; | ||
}); | ||
const noOffsetSelectors = { | ||
all: [ignore, layout, strict], | ||
ignore: 0, | ||
layout: 1, | ||
strict: 2, | ||
}; | ||
const offsetSelectors = { | ||
all: [floating], | ||
floating: 0, | ||
}; | ||
const renderPromise = presult(startRender()); | ||
@@ -157,5 +170,5 @@ | ||
const {ignoreRegions, floatingRegions} = calculateIgnoreAndFloatingRegions({ | ||
ignore, | ||
floating, | ||
const {noOffsetRegions, offsetRegions} = calculateMatchRegions({ | ||
noOffsetSelectors: noOffsetSelectors.all, | ||
offsetSelectors: offsetSelectors.all, | ||
selectorRegions, | ||
@@ -165,3 +178,8 @@ imageLocationRegion, | ||
const checkSettings = createCheckSettings({ignore: ignoreRegions, floating: floatingRegions}); | ||
const checkSettings = createCheckSettings({ | ||
ignore: noOffsetRegions[noOffsetSelectors.ignore], | ||
floating: offsetRegions[offsetSelectors.floating], | ||
layout: noOffsetRegions[noOffsetSelectors.layout], | ||
strict: noOffsetRegions[noOffsetSelectors.strict], | ||
}); | ||
@@ -216,4 +234,4 @@ logger.log(`checkWindow waiting for openEyes. test=${testName}, stepCount #${currStepCount}`); | ||
scriptHooks, | ||
ignore, | ||
floating, | ||
noOffsetSelectors: noOffsetSelectors.all, | ||
offsetSelectors: offsetSelectors.all, | ||
sendDom, | ||
@@ -220,0 +238,0 @@ }); |
'use strict'; | ||
const {CheckSettings, Region} = require('@applitools/eyes-sdk-core'); | ||
function createCheckSettings({ignore, floating}) { | ||
function createCheckSettings({ignore, floating, layout, strict}) { | ||
const checkSettings = new CheckSettings(0); | ||
if (ignore) { | ||
ignore = [].concat(ignore); | ||
for (const region of ignore) { | ||
checkSettings.ignoreRegions(new Region(region)); | ||
} | ||
} | ||
setEachRegion(ignore, checkSettings.ignoreRegions.bind(checkSettings)); | ||
setEachRegion(layout, checkSettings.layoutRegions.bind(checkSettings)); | ||
setEachRegion(strict, checkSettings.strictRegions.bind(checkSettings)); | ||
if (floating) { | ||
@@ -24,5 +22,15 @@ floating = [].concat(floating); | ||
} | ||
return checkSettings; | ||
function setEachRegion(regions, addToSettings) { | ||
if (regions) { | ||
regions = [].concat(regions); | ||
for (const region of regions) { | ||
addToSettings(new Region(region)); | ||
} | ||
} | ||
} | ||
} | ||
module.exports = createCheckSettings; |
@@ -17,4 +17,4 @@ 'use strict'; | ||
scriptHooks, | ||
ignore, | ||
floating, | ||
noOffsetSelectors, | ||
offsetSelectors, | ||
sendDom, | ||
@@ -25,4 +25,4 @@ }) { | ||
selector, | ||
ignore, | ||
floating, | ||
noOffsetSelectors, | ||
offsetSelectors, | ||
}); | ||
@@ -29,0 +29,0 @@ |
114202
1866
204