tor-browser

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

browser_485482.js (1793B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 if (gFissionBrowser) {
      7  addCoopTask(
      8    "browser_485482_sample.html",
      9    test_xpath_exp_for_strange_documents,
     10    HTTPSROOT
     11  );
     12 }
     13 addNonCoopTask(
     14  "browser_485482_sample.html",
     15  test_xpath_exp_for_strange_documents,
     16  ROOT
     17 );
     18 addNonCoopTask(
     19  "browser_485482_sample.html",
     20  test_xpath_exp_for_strange_documents,
     21  HTTPSROOT
     22 );
     23 addNonCoopTask(
     24  "browser_485482_sample.html",
     25  test_xpath_exp_for_strange_documents,
     26  HTTPROOT
     27 );
     28 
     29 /**
     30 * Bug 485482 - Make sure that we produce valid XPath expressions even for very
     31 * weird HTML documents.
     32 */
     33 async function test_xpath_exp_for_strange_documents(aURL) {
     34  // Load a page with weird tag names.
     35  let tab = BrowserTestUtils.addTab(gBrowser, aURL);
     36  let browser = tab.linkedBrowser;
     37  await promiseBrowserLoaded(browser);
     38 
     39  // Fill in some values.
     40  let uniqueValue = Math.random();
     41  await setPropertyOfFormField(
     42    browser,
     43    "input[type=text]",
     44    "value",
     45    uniqueValue
     46  );
     47  await setPropertyOfFormField(
     48    browser,
     49    "input[type=checkbox]",
     50    "checked",
     51    true
     52  );
     53 
     54  // Duplicate the tab.
     55  let tab2 = gBrowser.duplicateTab(tab);
     56  let browser2 = tab2.linkedBrowser;
     57  await promiseTabRestored(tab2);
     58 
     59  // Check that we generated valid XPath expressions to restore form values.
     60  let text = await getPropertyOfFormField(
     61    browser2,
     62    "input[type=text]",
     63    "value"
     64  );
     65  is("" + text, "" + uniqueValue, "generated XPath expression was valid");
     66  let checkbox = await getPropertyOfFormField(
     67    browser2,
     68    "input[type=checkbox]",
     69    "checked"
     70  );
     71  ok(checkbox, "generated XPath expression was valid");
     72 
     73  // Cleanup.
     74  gBrowser.removeTab(tab2);
     75  gBrowser.removeTab(tab);
     76 }