browser_aboutCertError_coep.js (3161B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 const AUTH_ROUTE = 7 "https://example.com/browser/browser/base/content/test/about/sandbox_corp_iframe.sjs"; 8 9 add_task(async function test_coepError() { 10 let browser; 11 let pageLoaded; 12 13 await setSecurityCertErrorsFeltPrivacyToFalse(); 14 15 const uri = `${AUTH_ROUTE}?error=coep`; 16 17 await BrowserTestUtils.openNewForegroundTab( 18 gBrowser, 19 () => { 20 gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser, uri); 21 browser = gBrowser.selectedBrowser; 22 pageLoaded = BrowserTestUtils.waitForErrorPage(browser); 23 }, 24 false 25 ); 26 27 await pageLoaded; 28 29 await SpecialPowers.spawn(browser, [], function () { 30 // The error is displayed in the iframe for COEP 31 const doc = content.document.querySelector("iframe").contentDocument; 32 33 ok( 34 doc.documentURI.startsWith("about:neterror"), 35 "Should be showing error page" 36 ); 37 38 const titleEl = doc.querySelector(".title-text"); 39 const actualDataL10nID = titleEl.getAttribute("data-l10n-id"); 40 is( 41 actualDataL10nID, 42 "general-body-title", 43 "Correct error link title (CORP) is set" 44 ); 45 46 const anchor = doc.querySelector("a"); 47 const actualAnchorl10nID = anchor.getAttribute("data-l10n-id"); 48 is( 49 actualAnchorl10nID, 50 "certerror-coep-learn-more", 51 "Correct error link is set" 52 ); 53 }); 54 55 BrowserTestUtils.removeTab(gBrowser.selectedTab); 56 }); 57 58 add_task(async function test_coepError_feltPrivacyToTrue() { 59 let browser; 60 let pageLoaded; 61 62 const uri = `${AUTH_ROUTE}?error=coep`; 63 await setSecurityCertErrorsFeltPrivacyToTrue(); 64 await BrowserTestUtils.openNewForegroundTab( 65 gBrowser, 66 () => { 67 gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser, uri); 68 browser = gBrowser.selectedBrowser; 69 pageLoaded = BrowserTestUtils.waitForErrorPage(browser); 70 }, 71 false 72 ); 73 74 await pageLoaded; 75 76 await SpecialPowers.spawn(browser, [], async function () { 77 // The error is displayed in the iframe for COEP 78 const doc = content.document.querySelector("iframe").contentDocument; 79 80 Assert.ok( 81 doc.documentURI.startsWith("about:neterror"), 82 "Should be showing error page" 83 ); 84 85 const netErrorCard = doc.querySelector("net-error-card").wrappedJSObject; 86 await netErrorCard.getUpdateComplete(); 87 88 Assert.strictEqual( 89 netErrorCard.netErrorTitleText.dataset.l10nId, 90 "fp-certerror-body-title", 91 "Correct error link title (CORP) is set" 92 ); 93 94 await ContentTaskUtils.waitForCondition(() => { 95 return ( 96 netErrorCard.netErrorLearnMoreLink && 97 netErrorCard.netErrorLearnMoreLink.textContent != "" && 98 netErrorCard.netErrorLearnMoreLink.tagName.toLowerCase() === "a" 99 ); 100 }, "learn more link is visible and is a link"); 101 102 Assert.strictEqual( 103 netErrorCard.netErrorLearnMoreLink.dataset.l10nId, 104 "certerror-coep-learn-more", 105 "Learn more element is a link and has COEP text" 106 ); 107 }); 108 109 BrowserTestUtils.removeTab(gBrowser.selectedTab); 110 await SpecialPowers.popPrefEnv(); 111 });