1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
/* Check proper image url retrieval from all kinds of elements/styles */
const TEST_PATH = getRootDirectory(gTestPath).replace(
"chrome://mochitests/content",
// eslint-disable-next-line @microsoft/sdl/no-insecure-url
"http://example.com"
);
add_task(async function test_all_images_mentioned() {
await BrowserTestUtils.withNewTab(
TEST_PATH + "all_images.html",
async function () {
let pageInfo = BrowserPageInfo(
gBrowser.selectedBrowser.currentURI.spec,
"mediaTab"
);
await BrowserTestUtils.waitForEvent(pageInfo, "page-info-init");
let imageTree = pageInfo.document.getElementById("imagetree");
let imageRowsNum = imageTree.view.rowCount;
ok(imageTree, "Image tree is null (media tab is broken)");
ok(
imageRowsNum == 7,
"Number of images listed: " + imageRowsNum + ", should be 7"
);
// Check that select all works
imageTree.focus();
ok(
!pageInfo.document.getElementById("cmd_copy").hasAttribute("disabled"),
"copy is enabled"
);
ok(
!pageInfo.document
.getElementById("cmd_selectAll")
.hasAttribute("disabled"),
"select all is enabled"
);
pageInfo.goDoCommand("cmd_selectAll");
is(imageTree.view.selection.count, 7, "all rows selected");
pageInfo.close();
}
);
});
add_task(async function test_view_image_info() {
await SpecialPowers.pushPrefEnv({
set: [["browser.menu.showViewImageInfo", true]],
});
await BrowserTestUtils.withNewTab(
TEST_PATH + "all_images.html",
async function (browser) {
let contextMenu = document.getElementById("contentAreaContextMenu");
let viewImageInfo = document.getElementById("context-viewimageinfo");
let imageInfo = await SpecialPowers.spawn(browser, [], async () => {
let testImg = content.document.querySelector("img");
return {
src: testImg.src,
};
});
await BrowserTestUtils.synthesizeMouseAtCenter(
"img",
{ type: "contextmenu", button: 2 },
browser
);
await BrowserTestUtils.waitForEvent(contextMenu, "popupshown");
let promisePageInfoLoaded = BrowserTestUtils.domWindowOpened().then(win =>
BrowserTestUtils.waitForEvent(win, "page-info-init")
);
contextMenu.activateItem(viewImageInfo);
let pageInfo = (await promisePageInfoLoaded).target.ownerGlobal;
let pageInfoImg = pageInfo.document.getElementById("thepreviewimage");
Assert.equal(
pageInfoImg.src,
imageInfo.src,
"selected image is the correct"
);
await BrowserTestUtils.closeWindow(pageInfo);
}
);
});
|