UNPKG

@applitools/eyes.selenium

Version:

Applitools Eyes SDK for Selenium WebDriver

35 lines (30 loc) 1.22 kB
'use strict'; const { BrowserNames } = require('@applitools/eyes.sdk.core'); const { FirefoxRegionPositionCompensation } = require('./FirefoxRegionPositionCompensation'); const { NullRegionPositionCompensation } = require('./NullRegionPositionCompensation'); const { SafariRegionPositionCompensation } = require('./SafariRegionPositionCompensation'); class RegionPositionCompensationFactory { /** * @param {UserAgent} userAgent * @param {Eyes} eyes * @param {Logger} logger * @return {RegionPositionCompensation} */ static getRegionPositionCompensation(userAgent, eyes, logger) { if (userAgent) { if (userAgent.getBrowser() === BrowserNames.Firefox) { try { if (parseInt(userAgent.getBrowserMajorVersion(), 10) >= 48) { return new FirefoxRegionPositionCompensation(eyes, logger); } } catch (ignore) { return new NullRegionPositionCompensation(); } } else if (userAgent.getBrowser() === BrowserNames.Safari) { return new SafariRegionPositionCompensation(); } } return new NullRegionPositionCompensation(); } } exports.RegionPositionCompensationFactory = RegionPositionCompensationFactory;