summaryrefslogtreecommitdiffstats
path: root/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js')
-rw-r--r--browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js97
1 files changed, 85 insertions, 12 deletions
diff --git a/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js b/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js
index 006a9819ed..10828eceec 100644
--- a/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js
+++ b/browser/components/screenshots/tests/browser/browser_screenshots_test_full_page.js
@@ -39,16 +39,14 @@ add_task(async function test_fullpageScreenshot() {
);
// click the full page button in panel
- let visiblePage = panel
+ let fullpageButton = panel
.querySelector("screenshots-buttons")
- .shadowRoot.querySelector(".full-page");
- visiblePage.click();
-
- let dialog = helper.getDialog();
+ .shadowRoot.querySelector("#full-page");
+ fullpageButton.click();
await screenshotReady;
- let copyButton = dialog._frame.contentDocument.getElementById("copy");
+ let copyButton = helper.getDialogButton("copy");
ok(copyButton, "Got the copy button");
let clipboardChanged = helper.waitForRawClipboardChange(
@@ -136,16 +134,14 @@ add_task(async function test_fullpageScreenshotScrolled() {
);
// click the full page button in panel
- let visiblePage = panel
+ let fullpageButton = panel
.querySelector("screenshots-buttons")
- .shadowRoot.querySelector(".full-page");
- visiblePage.click();
-
- let dialog = helper.getDialog();
+ .shadowRoot.querySelector("#full-page");
+ fullpageButton.click();
await screenshotReady;
- let copyButton = dialog._frame.contentDocument.getElementById("copy");
+ let copyButton = helper.getDialogButton("copy");
ok(copyButton, "Got the copy button");
let clipboardChanged = helper.waitForRawClipboardChange(
@@ -198,3 +194,80 @@ add_task(async function test_fullpageScreenshotScrolled() {
}
);
});
+
+add_task(async function test_fullpageScreenshotRTL() {
+ await BrowserTestUtils.withNewTab(
+ {
+ gBrowser,
+ url: RTL_TEST_PAGE,
+ },
+ async browser => {
+ let helper = new ScreenshotsHelper(browser);
+ let contentInfo = await helper.getContentDimensions();
+ ok(contentInfo, "Got dimensions back from the content");
+ let devicePixelRatio = await getContentDevicePixelRatio(browser);
+
+ let expectedWidth = Math.floor(
+ devicePixelRatio * contentInfo.scrollWidth
+ );
+ let expectedHeight = Math.floor(
+ devicePixelRatio * contentInfo.scrollHeight
+ );
+
+ // click toolbar button so panel shows
+ helper.triggerUIFromToolbar();
+
+ let panel = await helper.waitForPanel();
+
+ let screenshotReady = TestUtils.topicObserved(
+ "screenshots-preview-ready"
+ );
+
+ // click the full page button in panel
+ let fullpageButton = panel
+ .querySelector("screenshots-buttons")
+ .shadowRoot.querySelector("#full-page");
+ fullpageButton.click();
+
+ await screenshotReady;
+
+ let copyButton = helper.getDialogButton("copy");
+ ok(copyButton, "Got the copy button");
+
+ info("contentInfo: " + JSON.stringify(contentInfo, null, 2));
+ info(
+ "expecting: " +
+ JSON.stringify({ expectedWidth, expectedHeight }, null, 2)
+ );
+ let clipboardChanged = helper.waitForRawClipboardChange(
+ expectedWidth,
+ expectedHeight
+ );
+
+ // click copy button on dialog box
+ copyButton.click();
+
+ info("Waiting for clipboard change");
+ let result = await clipboardChanged;
+
+ info("result: " + JSON.stringify(result, null, 2));
+ info("contentInfo: " + JSON.stringify(contentInfo, null, 2));
+
+ Assert.equal(result.width, expectedWidth, "Widths should be equal");
+ Assert.equal(result.height, expectedHeight, "Heights should be equal");
+
+ assertPixel(result.color.topLeft, [255, 255, 255], "Top left pixel");
+ assertPixel(result.color.topRight, [255, 255, 255], "Top right pixel");
+ assertPixel(
+ result.color.bottomLeft,
+ [255, 255, 255],
+ "Bottom left pixel"
+ );
+ assertPixel(
+ result.color.bottomRight,
+ [255, 255, 255],
+ "Bottom right pixel"
+ );
+ }
+ );
+});