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 );