tor-browser

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

browser_pageinfo_images.js (3454B)


      1 /* Check proper image url retrieval from all kinds of elements/styles */
      2 
      3 const TEST_PATH = getRootDirectory(gTestPath).replace(
      4  "chrome://mochitests/content",
      5  "https://example.com"
      6 );
      7 
      8 add_task(async function test_all_images_mentioned() {
      9  await BrowserTestUtils.withNewTab(
     10    TEST_PATH + "all_images.html",
     11    async function () {
     12      let pageInfo = BrowserCommands.pageInfo(
     13        gBrowser.selectedBrowser.currentURI.spec,
     14        "mediaTab"
     15      );
     16      await BrowserTestUtils.waitForEvent(pageInfo, "page-info-init");
     17 
     18      let imageTree = pageInfo.document.getElementById("imagetree");
     19      let imageRowsNum = imageTree.view.rowCount;
     20 
     21      ok(imageTree, "Image tree is null (media tab is broken)");
     22 
     23      Assert.equal(
     24        imageRowsNum,
     25        7,
     26        "Number of images listed: " + imageRowsNum + ", should be 7"
     27      );
     28 
     29      // Check that select all works
     30      imageTree.focus();
     31      ok(
     32        !pageInfo.document.getElementById("cmd_copy").hasAttribute("disabled"),
     33        "copy is enabled"
     34      );
     35      ok(
     36        !pageInfo.document
     37          .getElementById("cmd_selectAll")
     38          .hasAttribute("disabled"),
     39        "select all is enabled"
     40      );
     41      pageInfo.goDoCommand("cmd_selectAll");
     42      is(imageTree.view.selection.count, 7, "all rows selected");
     43 
     44      pageInfo.close();
     45    }
     46  );
     47 });
     48 
     49 add_task(async function test_view_image_info() {
     50  await SpecialPowers.pushPrefEnv({
     51    set: [["browser.menu.showViewImageInfo", true]],
     52  });
     53 
     54  await BrowserTestUtils.withNewTab(
     55    TEST_PATH + "all_images.html",
     56 
     57    async function (browser) {
     58      let contextMenu = document.getElementById("contentAreaContextMenu");
     59      let viewImageInfo = document.getElementById("context-viewimageinfo");
     60 
     61      let imageInfo = await SpecialPowers.spawn(browser, [], () => {
     62        let testImg = content.document.querySelector("img");
     63        return {
     64          src: testImg.src,
     65        };
     66      });
     67 
     68      await BrowserTestUtils.synthesizeMouseAtCenter(
     69        "img",
     70        { type: "contextmenu", button: 2 },
     71        browser
     72      );
     73 
     74      await BrowserTestUtils.waitForEvent(contextMenu, "popupshown");
     75 
     76      let promiseMediaLoad = BrowserTestUtils.domWindowOpened().then(win =>
     77        BrowserTestUtils.waitForEvent(win, "page-info-mediapreview-load")
     78      );
     79 
     80      contextMenu.activateItem(viewImageInfo);
     81 
     82      let pageInfo = (await promiseMediaLoad).target.ownerGlobal;
     83      let mediaBrowser = pageInfo.document.getElementById("mediaBrowser");
     84 
     85      let previewImageInfo = await SpecialPowers.spawn(mediaBrowser, [], () => {
     86        let img = content.document.querySelector("img");
     87        return {
     88          src: img.src,
     89        };
     90      });
     91 
     92      Assert.equal(
     93        previewImageInfo.src,
     94        imageInfo.src,
     95        "selected image is correct"
     96      );
     97 
     98      await BrowserTestUtils.closeWindow(pageInfo);
     99    }
    100  );
    101 });
    102 
    103 add_task(async function test_image_size() {
    104  await BrowserTestUtils.withNewTab(
    105    TEST_PATH + "all_images.html",
    106    async function () {
    107      let pageInfo = BrowserCommands.pageInfo(
    108        gBrowser.selectedBrowser.currentURI.spec,
    109        "mediaTab"
    110      );
    111      await BrowserTestUtils.waitForEvent(
    112        pageInfo,
    113        "page-info-mediapreview-load"
    114      );
    115 
    116      let imageSize = pageInfo.document.getElementById("imagesizetext");
    117 
    118      Assert.notEqual("media-unknown-not-cached", imageSize.value);
    119 
    120      pageInfo.close();
    121    }
    122  );
    123 });