UNPKG

selenium-side-runner

Version:
134 lines 5.97 kB
"use strict"; // Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const capabilities_1 = __importDefault(require("../capabilities")); describe('capabilities string parser', () => { it('should parse capability key', () => { const capabilities = 'browserName=chrome'; expect(capabilities_1.default.parseString(capabilities)).toEqual({ browserName: 'chrome', }); }); it('should parse multiple capabilities keys', () => { const capabilities = 'browserName=chrome platform=MAC unexpectedAlertBehaviour=ignore'; expect(capabilities_1.default.parseString(capabilities)).toEqual({ browserName: 'chrome', platform: 'MAC', unexpectedAlertBehaviour: 'ignore', }); }); it('should parse quoted capability key', () => { const capabilities = 'browserName="chrome"'; expect(capabilities_1.default.parseString(capabilities)).toEqual({ browserName: 'chrome', }); }); it('should parse multiword capability key', () => { const capabilities = 'binary="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"'; expect(capabilities_1.default.parseString(capabilities)).toEqual({ binary: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', }); const capabilities2 = "binary='/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'"; expect(capabilities_1.default.parseString(capabilities2)).toEqual({ binary: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', }); }); it('should parse multiple multiword capability keys', () => { const expected = { browserName: 'internet explorer', version: 10, platform: 'Windows 8.1', }; const capabilitiesSingleQuotes = "browserName='internet explorer' version=10.0 platform='Windows 8.1'"; expect(capabilities_1.default.parseString(capabilitiesSingleQuotes)).toEqual(expected); const capabilitiesDoubleQuotes = 'browserName="internet explorer" version=10.0 platform="Windows 8.1"'; expect(capabilities_1.default.parseString(capabilitiesDoubleQuotes)).toEqual(expected); }); it('should parse boolean capability key', () => { const capabilities = 'javascriptEnabled=false databaseEnabled=true'; expect(capabilities_1.default.parseString(capabilities)).toEqual({ javascriptEnabled: false, databaseEnabled: true, }); }); it('should parse integer capability key', () => { const capabilities = 'elementScrollBehavior=1'; expect(capabilities_1.default.parseString(capabilities)).toEqual({ elementScrollBehavior: 1, }); }); it('should parse dot-notation capability key', () => { const capabilities = 'webdriver.remote.sessionid=someId'; expect(capabilities_1.default.parseString(capabilities)).toEqual({ webdriver: { remote: { sessionid: 'someId', }, }, }); }); it('should parse multiple dot-notation capability key', () => { const capabilities = ` webdriver.remote.sessionid=someId webdriver.remote.username=username `; expect(capabilities_1.default.parseString(capabilities)).toEqual({ webdriver: { remote: { sessionid: 'someId', username: 'username', }, }, }); }); it('should parse dot-notation arrays', () => { const capabilities = 'chromeOptions.args=[disable-infobars, headless]'; expect(capabilities_1.default.parseString(capabilities)).toEqual({ chromeOptions: { args: ['disable-infobars', 'headless'], }, }); }); it('should parse space separated capability keys', () => { const capabilities = 'browserName =chrome platform= MAC unexpectedAlertBehaviour = ignore'; expect(capabilities_1.default.parseString(capabilities)).toEqual({ browserName: 'chrome', platform: 'MAC', unexpectedAlertBehaviour: 'ignore', }); }); it('should trim the capability values', () => { const capabilities = 'platform=" macOS 10.13 " chromeOptions.args=[ disable-infobars , headless ]'; expect(capabilities_1.default.parseString(capabilities)).toEqual({ platform: 'macOS 10.13', chromeOptions: { args: ['disable-infobars', 'headless'], }, }); }); it('should parse urls in list', () => { const capabilities = 'bypass=[http://localhost:434, http://localhost:321]'; expect(capabilities_1.default.parseString(capabilities)).toEqual({ bypass: ['http://localhost:434', 'http://localhost:321'], }); }); }); //# sourceMappingURL=capabilities.spec.js.map