summaryrefslogtreecommitdiffstats
path: root/browser/extensions/pdfjs/test/browser_pdfjs_zoom.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/extensions/pdfjs/test/browser_pdfjs_zoom.js')
-rw-r--r--browser/extensions/pdfjs/test/browser_pdfjs_zoom.js154
1 files changed, 0 insertions, 154 deletions
diff --git a/browser/extensions/pdfjs/test/browser_pdfjs_zoom.js b/browser/extensions/pdfjs/test/browser_pdfjs_zoom.js
deleted file mode 100644
index f2b73fd99..000000000
--- a/browser/extensions/pdfjs/test/browser_pdfjs_zoom.js
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-requestLongerTimeout(2);
-
-Components.utils.import("resource://gre/modules/Promise.jsm", this);
-
-const RELATIVE_DIR = "browser/extensions/pdfjs/test/";
-const TESTROOT = "http://example.com/browser/" + RELATIVE_DIR;
-
-const TESTS = [
- {
- action: {
- selector: "button#zoomIn",
- event: "click"
- },
- expectedZoom: 1, // 1 - zoom in
- message: "Zoomed in using the '+' (zoom in) button"
- },
-
- {
- action: {
- selector: "button#zoomOut",
- event: "click"
- },
- expectedZoom: -1, // -1 - zoom out
- message: "Zoomed out using the '-' (zoom out) button"
- },
-
- {
- action: {
- keyboard: true,
- keyCode: 61,
- event: "+"
- },
- expectedZoom: 1, // 1 - zoom in
- message: "Zoomed in using the CTRL++ keys"
- },
-
- {
- action: {
- keyboard: true,
- keyCode: 109,
- event: "-"
- },
- expectedZoom: -1, // -1 - zoom out
- message: "Zoomed out using the CTRL+- keys"
- },
-
- {
- action: {
- selector: "select#scaleSelect",
- index: 5,
- event: "change"
- },
- expectedZoom: -1, // -1 - zoom out
- message: "Zoomed using the zoom picker"
- }
-];
-
-add_task(function* test() {
- let handlerService = Cc["@mozilla.org/uriloader/handler-service;1"]
- .getService(Ci.nsIHandlerService);
- let mimeService = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService);
- let handlerInfo = mimeService.getFromTypeAndExtension('application/pdf', 'pdf');
-
- // Make sure pdf.js is the default handler.
- is(handlerInfo.alwaysAskBeforeHandling, false,
- 'pdf handler defaults to always-ask is false');
- is(handlerInfo.preferredAction, Ci.nsIHandlerInfo.handleInternally,
- 'pdf handler defaults to internal');
-
- info('Pref action: ' + handlerInfo.preferredAction);
-
- yield BrowserTestUtils.withNewTab({ gBrowser, url: "about:blank" },
- function* (newTabBrowser) {
- yield waitForPdfJS(newTabBrowser, TESTROOT + "file_pdfjs_test.pdf" + "#zoom=100");
-
- yield ContentTask.spawn(newTabBrowser, TESTS, function* (TESTS) {
- let document = content.document;
-
- function waitForRender() {
- return new Promise((resolve) => {
- document.addEventListener("pagerendered", function onPageRendered(e) {
- if(e.detail.pageNumber !== 1) {
- return;
- }
-
- document.removeEventListener("pagerendered", onPageRendered, true);
- resolve();
- }, true);
- });
- }
-
- // check that PDF is opened with internal viewer
- Assert.ok(content.document.querySelector("div#viewer"), "document content has viewer UI");
- Assert.ok("PDFJS" in content.wrappedJSObject, "window content has PDFJS object");
-
- let initialWidth, previousWidth;
- initialWidth = previousWidth =
- parseInt(content.document.querySelector("div#pageContainer1").style.width);
-
- for (let test of TESTS) {
- // We zoom using an UI element
- var ev;
- if (test.action.selector) {
- // Get the element and trigger the action for changing the zoom
- var el = document.querySelector(test.action.selector);
- Assert.ok(el, "Element '" + test.action.selector + "' has been found");
-
- if (test.action.index){
- el.selectedIndex = test.action.index;
- }
-
- // Dispatch the event for changing the zoom
- ev = new Event(test.action.event);
- }
- // We zoom using keyboard
- else {
- // Simulate key press
- ev = new content.KeyboardEvent("keydown",
- { key: test.action.event,
- keyCode: test.action.keyCode,
- ctrlKey: true });
- el = content;
- }
-
- el.dispatchEvent(ev);
- yield waitForRender();
-
- var pageZoomScale = content.document.querySelector('select#scaleSelect');
-
- // The zoom value displayed in the zoom select
- var zoomValue = pageZoomScale.options[pageZoomScale.selectedIndex].innerHTML;
-
- let pageContainer = content.document.querySelector('div#pageContainer1');
- let actualWidth = parseInt(pageContainer.style.width);
-
- // the actual zoom of the PDF document
- let computedZoomValue = parseInt(((actualWidth/initialWidth).toFixed(2))*100) + "%";
- Assert.equal(computedZoomValue, zoomValue, "Content has correct zoom");
-
- // Check that document zooms in the expected way (in/out)
- let zoom = (actualWidth - previousWidth) * test.expectedZoom;
- Assert.ok(zoom > 0, test.message);
-
- previousWidth = actualWidth;
- }
-
- var viewer = content.wrappedJSObject.PDFViewerApplication;
- yield viewer.close();
- });
- });
-});