tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

browser_device_modal_exit.js (1431B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 // Test submitting display device changes on the device modal
      7 
      8 const TEST_URL = "data:text/html;charset=utf-8,";
      9 
     10 addRDMTask(
     11  TEST_URL,
     12  async function ({ ui }) {
     13    const { document, store } = ui.toolWindow;
     14 
     15    await openDeviceModal(ui);
     16 
     17    const preferredDevicesBefore = _loadPreferredDevices();
     18 
     19    info("Check the first unchecked device and exit the modal.");
     20    const uncheckedCb = [
     21      ...document.querySelectorAll(".device-input-checkbox"),
     22    ].filter(cb => !cb.checked)[0];
     23    const value = uncheckedCb.value;
     24    uncheckedCb.click();
     25    document.getElementById("device-close-button").click();
     26 
     27    ok(
     28      !store.getState().devices.isModalOpen,
     29      "The device modal is closed on exit."
     30    );
     31 
     32    info("Check that the device list remains unchanged after exitting.");
     33    const preferredDevicesAfter = _loadPreferredDevices();
     34 
     35    is(
     36      preferredDevicesAfter.added.size - preferredDevicesBefore.added.size,
     37      1,
     38      "Got expected number of added devices."
     39    );
     40    is(
     41      preferredDevicesBefore.removed.size,
     42      preferredDevicesAfter.removed.size,
     43      "Got expected number of removed devices."
     44    );
     45    ok(
     46      !preferredDevicesAfter.removed.has(value),
     47      value + " was not added to removed device list."
     48    );
     49  },
     50  { waitForDeviceList: true }
     51 );