diff options
Diffstat (limited to 'browser/extensions/pdfjs/test/browser_pdfjs_zoom.js')
-rw-r--r-- | browser/extensions/pdfjs/test/browser_pdfjs_zoom.js | 154 |
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(); - }); - }); -}); |