forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			57 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
 | 
						|
var gTestTab;
 | 
						|
var gContentAPI;
 | 
						|
 | 
						|
requestLongerTimeout(2);
 | 
						|
add_task(setup_UITourTest);
 | 
						|
 | 
						|
add_UITour_task(async function test_bg_getConfiguration() {
 | 
						|
  info("getConfiguration is on the allowed list so should work");
 | 
						|
  await loadForegroundTab();
 | 
						|
  let data = await getConfigurationPromise("availableTargets");
 | 
						|
  ok(data, "Got data from getConfiguration");
 | 
						|
  BrowserTestUtils.removeTab(gBrowser.selectedTab);
 | 
						|
});
 | 
						|
 | 
						|
add_UITour_task(async function test_bg_showInfo() {
 | 
						|
  info("showInfo isn't on the allowed action list so should be denied");
 | 
						|
  await loadForegroundTab();
 | 
						|
 | 
						|
  await showInfoPromise(
 | 
						|
    "appMenu",
 | 
						|
    "Hello from the background",
 | 
						|
    "Surprise!"
 | 
						|
  ).then(
 | 
						|
    () => ok(false, "panel shouldn't have shown from a background tab"),
 | 
						|
    () => ok(true, "panel wasn't shown from a background tab")
 | 
						|
  );
 | 
						|
 | 
						|
  BrowserTestUtils.removeTab(gBrowser.selectedTab);
 | 
						|
});
 | 
						|
 | 
						|
async function loadForegroundTab() {
 | 
						|
  // Spawn a content task that resolves once we're sure the visibilityState was
 | 
						|
  // changed. This state is what the tests in this file rely on.
 | 
						|
  let promise = SpecialPowers.spawn(
 | 
						|
    gBrowser.selectedTab.linkedBrowser,
 | 
						|
    [],
 | 
						|
    async function () {
 | 
						|
      return new Promise(resolve => {
 | 
						|
        let document = content.document;
 | 
						|
        document.addEventListener("visibilitychange", function onStateChange() {
 | 
						|
          Assert.equal(
 | 
						|
            document.visibilityState,
 | 
						|
            "hidden",
 | 
						|
            "UITour page should be hidden now."
 | 
						|
          );
 | 
						|
          document.removeEventListener("visibilitychange", onStateChange);
 | 
						|
          resolve();
 | 
						|
        });
 | 
						|
      });
 | 
						|
    }
 | 
						|
  );
 | 
						|
  await BrowserTestUtils.openNewForegroundTab(gBrowser);
 | 
						|
  await promise;
 | 
						|
  isnot(gBrowser.selectedTab, gTestTab, "Make sure tour tab isn't selected");
 | 
						|
}
 |