fingerprint_test.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // Licensed to the Software Freedom Conservancy (SFC) under one
  2. // or more contributor license agreements. See the NOTICE file
  3. // distributed with this work for additional information
  4. // regarding copyright ownership. The SFC licenses this file
  5. // to you under the Apache License, Version 2.0 (the
  6. // "License"); you may not use this file except in compliance
  7. // with the License. You may obtain a copy of the License at
  8. //
  9. // http://www.apache.org/licenses/LICENSE-2.0
  10. //
  11. // Unless required by applicable law or agreed to in writing,
  12. // software distributed under the License is distributed on an
  13. // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  14. // KIND, either express or implied. See the License for the
  15. // specific language governing permissions and limitations
  16. // under the License.
  17. 'use strict';
  18. var assert = require('../testing/assert'),
  19. test = require('../lib/test'),
  20. Pages = test.Pages;
  21. test.suite(function(env) {
  22. var browsers = env.browsers;
  23. var driver;
  24. test.before(function() {
  25. driver = env.builder().build();
  26. });
  27. test.after(function() {
  28. driver.quit();
  29. });
  30. describe('fingerprinting', function() {
  31. test.it('it should fingerprint the navigator object', function*() {
  32. yield driver.get(Pages.simpleTestPage);
  33. let wd = yield driver.executeScript('return navigator.webdriver');
  34. assert(wd).equalTo(true);
  35. });
  36. test.it('fingerprint must not be writable', function*() {
  37. yield driver.get(Pages.simpleTestPage);
  38. let wd = yield driver.executeScript(
  39. 'navigator.webdriver = "ohai"; return navigator.webdriver');
  40. assert(wd).equalTo(true);
  41. });
  42. test.it('leaves fingerprint on svg pages', function*() {
  43. yield driver.get(Pages.svgPage);
  44. let wd = yield driver.executeScript('return navigator.webdriver');
  45. assert(wd).equalTo(true);
  46. });
  47. });
  48. // Currently only implemented in legacy firefox.
  49. }, {browsers: ['legacy-firefox']});