blob: 67f5d770958c2ed4d068fe49ddf0662c8e3250ca [file] [log] [blame]
// 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.
'use strict'
const assert = require('node:assert')
const error = require('selenium-webdriver/lib/error')
const { Browser } = require('selenium-webdriver/index')
const { Context } = require('selenium-webdriver/firefox')
const { suite } = require('../../lib/test')
const firefox = require('selenium-webdriver/firefox')
suite(
function (env) {
describe('firefox', function () {
let driver
beforeEach(function () {
driver = null
})
afterEach(function () {
return driver && driver.quit()
})
describe('context switching', function () {
beforeEach(async function () {
let options = new firefox.Options()
options.addArguments('-remote-allow-system-access')
driver = await env.builder().setFirefoxOptions(options).build()
})
it('can get context', async function () {
assert.strictEqual(await driver.getContext(), Context.CONTENT)
})
it('can set context', async function () {
await driver.setContext(Context.CHROME)
let ctxt = await driver.getContext()
assert.strictEqual(ctxt, Context.CHROME)
await driver.setContext(Context.CONTENT)
ctxt = await driver.getContext()
assert.strictEqual(ctxt, Context.CONTENT)
})
it('throws on unknown context', function () {
return driver.setContext('foo').then(assert.fail, function (e) {
assert(e instanceof error.InvalidArgumentError)
})
})
})
})
},
{ browsers: [Browser.FIREFOX] },
)