aboutsummaryrefslogtreecommitdiff
path: root/node_modules/selenium-webdriver/test/firefox
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/selenium-webdriver/test/firefox')
-rw-r--r--node_modules/selenium-webdriver/test/firefox/extension_test.js96
-rw-r--r--node_modules/selenium-webdriver/test/firefox/firefox_test.js226
-rw-r--r--node_modules/selenium-webdriver/test/firefox/profile_test.js185
3 files changed, 0 insertions, 507 deletions
diff --git a/node_modules/selenium-webdriver/test/firefox/extension_test.js b/node_modules/selenium-webdriver/test/firefox/extension_test.js
deleted file mode 100644
index 50936f7cd..000000000
--- a/node_modules/selenium-webdriver/test/firefox/extension_test.js
+++ /dev/null
@@ -1,96 +0,0 @@
-// 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';
-
-var AdmZip = require('adm-zip'),
- assert = require('assert'),
- crypto = require('crypto'),
- fs = require('fs'),
- path = require('path');
-
-var extension = require('../../firefox/extension'),
- io = require('../../io'),
- it = require('../../testing').it;
-
-
-var JETPACK_EXTENSION = path.join(__dirname,
- '../../lib/test/data/firefox/jetpack-sample.xpi');
-var NORMAL_EXTENSION = path.join(__dirname,
- '../../lib/test/data/firefox/sample.xpi');
-
-var JETPACK_EXTENSION_ID = 'jid1-EaXX7k0wwiZR7w@jetpack';
-var NORMAL_EXTENSION_ID = 'sample@seleniumhq.org';
-
-
-describe('extension', function() {
- it('can install a jetpack xpi file', function() {
- return io.tmpDir().then(function(dir) {
- return extension.install(JETPACK_EXTENSION, dir).then(function(id) {
- assert.equal(JETPACK_EXTENSION_ID, id);
- var file = path.join(dir, id + '.xpi');
- assert.ok(fs.existsSync(file), 'no such file: ' + file);
- assert.ok(!fs.statSync(file).isDirectory());
-
- var copiedSha1 = crypto.createHash('sha1')
- .update(fs.readFileSync(file))
- .digest('hex');
-
- var goldenSha1 = crypto.createHash('sha1')
- .update(fs.readFileSync(JETPACK_EXTENSION))
- .digest('hex');
-
- assert.equal(copiedSha1, goldenSha1);
- });
- });
- });
-
- it('can install a normal xpi file', function() {
- return io.tmpDir().then(function(dir) {
- return extension.install(NORMAL_EXTENSION, dir).then(function(id) {
- assert.equal(NORMAL_EXTENSION_ID, id);
-
- var file = path.join(dir, NORMAL_EXTENSION_ID);
- assert.ok(fs.statSync(file).isDirectory());
-
- assert.ok(fs.existsSync(path.join(file, 'chrome.manifest')));
- assert.ok(fs.existsSync(path.join(file, 'content/overlay.xul')));
- assert.ok(fs.existsSync(path.join(file, 'content/overlay.js')));
- assert.ok(fs.existsSync(path.join(file, 'install.rdf')));
- });
- });
- });
-
- it('can install an extension from a directory', function() {
- return io.tmpDir().then(function(srcDir) {
- var buf = fs.readFileSync(NORMAL_EXTENSION);
- new AdmZip(buf).extractAllTo(srcDir, true);
- return io.tmpDir().then(function(dstDir) {
- return extension.install(srcDir, dstDir).then(function(id) {
- assert.equal(NORMAL_EXTENSION_ID, id);
-
- var dir = path.join(dstDir, NORMAL_EXTENSION_ID);
-
- assert.ok(fs.existsSync(path.join(dir, 'chrome.manifest')));
- assert.ok(fs.existsSync(path.join(dir, 'content/overlay.xul')));
- assert.ok(fs.existsSync(path.join(dir, 'content/overlay.js')));
- assert.ok(fs.existsSync(path.join(dir, 'install.rdf')));
- });
- });
- });
- });
-});
diff --git a/node_modules/selenium-webdriver/test/firefox/firefox_test.js b/node_modules/selenium-webdriver/test/firefox/firefox_test.js
deleted file mode 100644
index dbf9910fa..000000000
--- a/node_modules/selenium-webdriver/test/firefox/firefox_test.js
+++ /dev/null
@@ -1,226 +0,0 @@
-// 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';
-
-var path = require('path');
-
-var firefox = require('../../firefox'),
- io = require('../../io'),
- test = require('../../lib/test'),
- assert = require('../../testing/assert'),
- Context = require('../../firefox').Context,
- error = require('../..').error;
-
-var {consume} = require('../../lib/promise');
-
-
-var JETPACK_EXTENSION = path.join(__dirname,
- '../../lib/test/data/firefox/jetpack-sample.xpi');
-var NORMAL_EXTENSION = path.join(__dirname,
- '../../lib/test/data/firefox/sample.xpi');
-
-
-test.suite(function(env) {
- describe('firefox', function() {
- describe('Options', function() {
- var driver;
-
- test.beforeEach(function() {
- driver = null;
- });
-
- test.afterEach(function() {
- if (driver) {
- return driver.quit();
- }
- });
-
- /**
- * Runs a test that requires Firefox Developer Edition. The test will be
- * skipped if dev cannot be found on the current system.
- */
- function runWithFirefoxDev(options, testFn) {
- return firefox.Channel.AURORA.locate().then(exe => {
- options.setBinary(exe);
- driver = env.builder()
- .setFirefoxOptions(options)
- .build();
- return driver.call(testFn);
- }, err => {
- console.warn(
- 'Skipping test: could not find Firefox Dev Edition: ' + err);
- });
- }
-
- describe('can start Firefox with custom preferences', function() {
- function runTest(opt_dir) {
- return consume(function*() {
- let profile = new firefox.Profile(opt_dir);
- profile.setPreference('general.useragent.override', 'foo;bar');
-
- let options = new firefox.Options().setProfile(profile);
-
- driver = env.builder().
- setFirefoxOptions(options).
- build();
-
- yield driver.get('data:text/html,<html><div>content</div></html>');
-
- var userAgent = yield driver.executeScript(
- 'return window.navigator.userAgent');
- assert(userAgent).equalTo('foo;bar');
- });
- }
-
- test.it('profile created from scratch', function() {
- return runTest();
- });
-
- test.it('profile created from template', function() {
- return io.tmpDir().then(runTest);
- });
- });
-
- test.it('can start Firefox with a jetpack extension', function() {
- let profile = new firefox.Profile();
- profile.addExtension(JETPACK_EXTENSION);
-
- let options = new firefox.Options().setProfile(profile);
-
- return runWithFirefoxDev(options, function*() {
- yield loadJetpackPage(driver,
- 'data:text/html;charset=UTF-8,<html><div>content</div></html>');
-
- let text =
- yield driver.findElement({id: 'jetpack-sample-banner'}).getText();
- assert(text).equalTo('Hello, world!');
- });
- });
-
- test.it('can start Firefox with a normal extension', function() {
- let profile = new firefox.Profile();
- profile.addExtension(NORMAL_EXTENSION);
-
- let options = new firefox.Options().setProfile(profile);
-
- return runWithFirefoxDev(options, function*() {
- yield driver.get('data:text/html,<html><div>content</div></html>');
-
- let footer =
- yield driver.findElement({id: 'sample-extension-footer'});
- let text = yield footer.getText();
- assert(text).equalTo('Goodbye');
- });
- });
-
- test.it('can start Firefox with multiple extensions', function() {
- let profile = new firefox.Profile();
- profile.addExtension(JETPACK_EXTENSION);
- profile.addExtension(NORMAL_EXTENSION);
-
- let options = new firefox.Options().setProfile(profile);
-
- return runWithFirefoxDev(options, function*() {
- yield loadJetpackPage(driver,
- 'data:text/html;charset=UTF-8,<html><div>content</div></html>');
-
- let banner =
- yield driver.findElement({id: 'jetpack-sample-banner'}).getText();
- assert(banner).equalTo('Hello, world!');
-
- let footer =
- yield driver.findElement({id: 'sample-extension-footer'})
- .getText();
- assert(footer).equalTo('Goodbye');
- });
- });
-
- function loadJetpackPage(driver, url) {
- // On linux the jetpack extension does not always run the first time
- // we load a page. If this happens, just reload the page (a simple
- // refresh doesn't appear to work).
- return driver.wait(function() {
- driver.get(url);
- return driver.findElements({id: 'jetpack-sample-banner'})
- .then(found => found.length > 0);
- }, 3000);
- }
- });
-
- describe('binary management', function() {
- var driver1, driver2;
-
- test.ignore(env.isRemote).
- it('can start multiple sessions with single binary instance', function*() {
- var options = new firefox.Options().setBinary(new firefox.Binary);
- env.builder().setFirefoxOptions(options);
- driver1 = yield env.builder().build();
- driver2 = yield env.builder().build();
- // Ok if this doesn't fail.
- });
-
- test.afterEach(function*() {
- if (driver1) {
- yield driver1.quit();
- }
-
- if (driver2) {
- yield driver2.quit();
- }
- });
- });
-
- describe('context switching', function() {
- var driver;
-
- test.beforeEach(function*() {
- driver = yield env.builder().build();
- });
-
- test.afterEach(function() {
- if (driver) {
- return driver.quit();
- }
- });
-
- test.ignore(() => !env.isMarionette).
- it('can get context', function() {
- return assert(driver.getContext()).equalTo(Context.CONTENT);
- });
-
- test.ignore(() => !env.isMarionette).
- it('can set context', function*() {
- yield driver.setContext(Context.CHROME);
- let ctxt = yield driver.getContext();
- assert(ctxt).equalTo(Context.CHROME);
-
- yield driver.setContext(Context.CONTENT);
- ctxt = yield driver.getContext();
- assert(ctxt).equalTo(Context.CONTENT);
- });
-
- test.ignore(() => !env.isMarionette).
- it('throws on unknown context', function() {
- return driver.setContext("foo").then(assert.fail, function(e) {
- assert(e).instanceOf(error.InvalidArgumentError);
- });
- });
- });
-
- });
-}, {browsers: ['firefox']});
diff --git a/node_modules/selenium-webdriver/test/firefox/profile_test.js b/node_modules/selenium-webdriver/test/firefox/profile_test.js
deleted file mode 100644
index de61c26b5..000000000
--- a/node_modules/selenium-webdriver/test/firefox/profile_test.js
+++ /dev/null
@@ -1,185 +0,0 @@
-// 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';
-
-var AdmZip = require('adm-zip'),
- assert = require('assert'),
- fs = require('fs'),
- path = require('path');
-
-var promise = require('../..').promise,
- Profile = require('../../firefox/profile').Profile,
- decode = require('../../firefox/profile').decode,
- loadUserPrefs = require('../../firefox/profile').loadUserPrefs,
- io = require('../../io');
-
-
-var JETPACK_EXTENSION = path.join(__dirname,
- '../../lib/test/data/firefox/jetpack-sample.xpi');
-var NORMAL_EXTENSION = path.join(__dirname,
- '../../lib/test/data/firefox/sample.xpi');
-
-var JETPACK_EXTENSION_ID = 'jid1-EaXX7k0wwiZR7w@jetpack.xpi';
-var NORMAL_EXTENSION_ID = 'sample@seleniumhq.org';
-var WEBDRIVER_EXTENSION_ID = 'fxdriver@googlecode.com';
-
-
-
-describe('Profile', function() {
- describe('setPreference', function() {
- it('allows setting custom properties', function() {
- var profile = new Profile();
- assert.equal(undefined, profile.getPreference('foo'));
-
- profile.setPreference('foo', 'bar');
- assert.equal('bar', profile.getPreference('foo'));
- });
-
- it('allows overriding mutable properties', function() {
- var profile = new Profile();
-
- profile.setPreference('browser.newtab.url', 'http://www.example.com');
- assert.equal('http://www.example.com',
- profile.getPreference('browser.newtab.url'));
- });
-
- it('throws if setting a frozen preference', function() {
- var profile = new Profile();
- assert.throws(function() {
- profile.setPreference('app.update.auto', true);
- });
- });
- });
-
- describe('writeToDisk', function() {
- it('copies template directory recursively', function() {
- var templateDir;
- return io.tmpDir().then(function(td) {
- templateDir = td;
- var foo = path.join(templateDir, 'foo');
- fs.writeFileSync(foo, 'Hello, world');
-
- var bar = path.join(templateDir, 'subfolder/bar');
- fs.mkdirSync(path.dirname(bar));
- fs.writeFileSync(bar, 'Goodbye, world!');
-
- return new Profile(templateDir).writeToDisk();
- }).then(function(profileDir) {
- assert.notEqual(profileDir, templateDir);
-
- assert.equal('Hello, world',
- fs.readFileSync(path.join(profileDir, 'foo')));
- assert.equal('Goodbye, world!',
- fs.readFileSync(path.join(profileDir, 'subfolder/bar')));
- });
- });
-
- it('does not copy lock files', function() {
- return io.tmpDir().then(function(dir) {
- fs.writeFileSync(path.join(dir, 'parent.lock'), 'lock');
- fs.writeFileSync(path.join(dir, 'lock'), 'lock');
- fs.writeFileSync(path.join(dir, '.parentlock'), 'lock');
- return new Profile(dir).writeToDisk();
- }).then(function(dir) {
- assert.ok(fs.existsSync(dir));
- assert.ok(!fs.existsSync(path.join(dir, 'parent.lock')));
- assert.ok(!fs.existsSync(path.join(dir, 'lock')));
- assert.ok(!fs.existsSync(path.join(dir, '.parentlock')));
- });
- });
-
- describe('user.js', function() {
-
- it('writes defaults', function() {
- return new Profile().writeToDisk().then(function(dir) {
- return loadUserPrefs(path.join(dir, 'user.js'));
- }).then(function(prefs) {
- // Just check a few.
- assert.equal(false, prefs['app.update.auto']);
- assert.equal(true, prefs['browser.EULA.override']);
- assert.equal(false, prefs['extensions.update.enabled']);
- assert.equal('about:blank', prefs['browser.newtab.url']);
- assert.equal(30, prefs['dom.max_script_run_time']);
- });
- });
-
- it('merges template user.js into preferences', function() {
- return io.tmpDir().then(function(dir) {
- fs.writeFileSync(path.join(dir, 'user.js'), [
- 'user_pref("browser.newtab.url", "http://www.example.com")',
- 'user_pref("dom.max_script_run_time", 1234)'
- ].join('\n'));
-
- return new Profile(dir).writeToDisk();
- }).then(function(profile) {
- return loadUserPrefs(path.join(profile, 'user.js'));
- }).then(function(prefs) {
- assert.equal('http://www.example.com', prefs['browser.newtab.url']);
- assert.equal(1234, prefs['dom.max_script_run_time']);
- });
- });
-
- it('ignores frozen preferences when merging template user.js',
- function() {
- return io.tmpDir().then(function(dir) {
- fs.writeFileSync(path.join(dir, 'user.js'),
- 'user_pref("app.update.auto", true)');
- return new Profile(dir).writeToDisk();
- }).then(function(profile) {
- return loadUserPrefs(path.join(profile, 'user.js'));
- }).then(function(prefs) {
- assert.equal(false, prefs['app.update.auto']);
- });
- });
- });
-
- describe('extensions', function() {
- it('are copied into new profile directory', function() {
- var profile = new Profile();
- profile.addExtension(JETPACK_EXTENSION);
- profile.addExtension(NORMAL_EXTENSION);
-
- return profile.writeToDisk().then(function(dir) {
- dir = path.join(dir, 'extensions');
- assert.ok(fs.existsSync(path.join(dir, JETPACK_EXTENSION_ID)));
- assert.ok(fs.existsSync(path.join(dir, NORMAL_EXTENSION_ID)));
- assert.ok(fs.existsSync(path.join(dir, WEBDRIVER_EXTENSION_ID)));
- });
- });
- });
- });
-
- describe('encode', function() {
- it('excludes the bundled WebDriver extension', function() {
- return new Profile().encode().then(function(data) {
- return decode(data);
- }).then(function(dir) {
- assert.ok(fs.existsSync(path.join(dir, 'user.js')));
- assert.ok(fs.existsSync(path.join(dir, 'extensions')));
- return loadUserPrefs(path.join(dir, 'user.js'));
- }).then(function(prefs) {
- // Just check a few.
- assert.equal(false, prefs['app.update.auto']);
- assert.equal(true, prefs['browser.EULA.override']);
- assert.equal(false, prefs['extensions.update.enabled']);
- assert.equal('about:blank', prefs['browser.newtab.url']);
- assert.equal(30, prefs['dom.max_script_run_time']);
- });
- });
- });
-});