9 changed files with 0 additions and 266 deletions
@ -1,19 +0,0 @@ |
|||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
||||||
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
|
|
||||||
DEPTH = @DEPTH@ |
|
||||||
topsrcdir = @top_srcdir@ |
|
||||||
srcdir = @srcdir@ |
|
||||||
VPATH = @srcdir@ |
|
||||||
relativesrcdir = @relativesrcdir@ |
|
||||||
|
|
||||||
include $(DEPTH)/config/autoconf.mk |
|
||||||
|
|
||||||
MOCHITEST_BROWSER_FILES = \
|
|
||||||
browser_pdfjs_main.js \
|
|
||||||
browser_pdfjs_savedialog.js \
|
|
||||||
file_pdfjs_test.pdf \
|
|
||||||
$(NULL) |
|
||||||
|
|
||||||
include $(topsrcdir)/config/rules.mk |
|
@ -1,7 +0,0 @@ |
|||||||
[DEFAULT] |
|
||||||
skip-if = e10s # Bug 942707 - PDF viewer doesn't work with e10s. |
|
||||||
support-files = file_pdfjs_test.pdf |
|
||||||
|
|
||||||
[browser_pdfjs_main.js] |
|
||||||
[browser_pdfjs_savedialog.js] |
|
||||||
[browser_pdfjs_views.js] |
|
@ -1,86 +0,0 @@ |
|||||||
/* Any copyright is dedicated to the Public Domain. |
|
||||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
||||||
|
|
||||||
const RELATIVE_DIR = "browser/extensions/pdfjs/test/"; |
|
||||||
const TESTROOT = "http://example.com/browser/" + RELATIVE_DIR; |
|
||||||
|
|
||||||
function test() { |
|
||||||
var tab; |
|
||||||
|
|
||||||
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); |
|
||||||
|
|
||||||
waitForExplicitFinish(); |
|
||||||
registerCleanupFunction(function() { |
|
||||||
gBrowser.removeTab(tab); |
|
||||||
}); |
|
||||||
|
|
||||||
tab = gBrowser.addTab(TESTROOT + "file_pdfjs_test.pdf"); |
|
||||||
var newTabBrowser = gBrowser.getBrowserForTab(tab); |
|
||||||
newTabBrowser.addEventListener("load", function eventHandler() { |
|
||||||
newTabBrowser.removeEventListener("load", eventHandler, true); |
|
||||||
|
|
||||||
var document = newTabBrowser.contentDocument, |
|
||||||
window = newTabBrowser.contentWindow; |
|
||||||
|
|
||||||
// Runs tests after all 'load' event handlers have fired off
|
|
||||||
window.addEventListener("documentload", function() { |
|
||||||
runTests(document, window, tab, finish); |
|
||||||
}, false, true); |
|
||||||
}, true); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
function runTests(document, window, tab, callback) { |
|
||||||
|
|
||||||
//
|
|
||||||
// Overall sanity tests
|
|
||||||
//
|
|
||||||
ok(document.querySelector('div#viewer'), "document content has viewer UI"); |
|
||||||
ok('PDFJS' in window.wrappedJSObject, "window content has PDFJS object"); |
|
||||||
|
|
||||||
//
|
|
||||||
// Browser Find
|
|
||||||
//
|
|
||||||
ok(gBrowser.isFindBarInitialized(tab), "Browser FindBar initialized!"); |
|
||||||
|
|
||||||
//
|
|
||||||
// Sidebar: open
|
|
||||||
//
|
|
||||||
var sidebar = document.querySelector('button#sidebarToggle'), |
|
||||||
outerContainer = document.querySelector('div#outerContainer'); |
|
||||||
|
|
||||||
sidebar.click(); |
|
||||||
ok(outerContainer.classList.contains('sidebarOpen'), 'sidebar opens on click'); |
|
||||||
|
|
||||||
//
|
|
||||||
// Sidebar: close
|
|
||||||
//
|
|
||||||
sidebar.click(); |
|
||||||
ok(!outerContainer.classList.contains('sidebarOpen'), 'sidebar closes on click'); |
|
||||||
|
|
||||||
//
|
|
||||||
// Page change from prev/next buttons
|
|
||||||
//
|
|
||||||
var prevPage = document.querySelector('button#previous'), |
|
||||||
nextPage = document.querySelector('button#next'); |
|
||||||
|
|
||||||
var pageNumber = document.querySelector('input#pageNumber'); |
|
||||||
is(parseInt(pageNumber.value), 1, 'initial page is 1'); |
|
||||||
|
|
||||||
//
|
|
||||||
// Bookmark button
|
|
||||||
//
|
|
||||||
var viewBookmark = document.querySelector('a#viewBookmark'); |
|
||||||
viewBookmark.click(); |
|
||||||
ok(viewBookmark.href.length > 0, 'viewBookmark button has href'); |
|
||||||
|
|
||||||
callback(); |
|
||||||
} |
|
@ -1,65 +0,0 @@ |
|||||||
/* Any copyright is dedicated to the Public Domain. |
|
||||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
||||||
|
|
||||||
const RELATIVE_DIR = "browser/extensions/pdfjs/test/"; |
|
||||||
const TESTROOT = "http://example.com/browser/" + RELATIVE_DIR; |
|
||||||
|
|
||||||
function test() { |
|
||||||
var oldAction = changeMimeHandler(Ci.nsIHandlerInfo.useSystemDefault, true); |
|
||||||
var tab = gBrowser.addTab(TESTROOT + "file_pdfjs_test.pdf"); |
|
||||||
//
|
|
||||||
// Test: "Open with" dialog comes up when pdf.js is not selected as the default
|
|
||||||
// handler.
|
|
||||||
//
|
|
||||||
addWindowListener('chrome://mozapps/content/downloads/unknownContentType.xul', finish); |
|
||||||
|
|
||||||
waitForExplicitFinish(); |
|
||||||
registerCleanupFunction(function() { |
|
||||||
changeMimeHandler(oldAction[0], oldAction[1]); |
|
||||||
gBrowser.removeTab(tab); |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
function changeMimeHandler(preferredAction, alwaysAskBeforeHandling) { |
|
||||||
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'); |
|
||||||
var oldAction = [handlerInfo.preferredAction, handlerInfo.alwaysAskBeforeHandling]; |
|
||||||
|
|
||||||
// Change and save mime handler settings
|
|
||||||
handlerInfo.alwaysAskBeforeHandling = alwaysAskBeforeHandling; |
|
||||||
handlerInfo.preferredAction = preferredAction; |
|
||||||
handlerService.store(handlerInfo); |
|
||||||
|
|
||||||
Services.obs.notifyObservers(null, 'pdfjs:handlerChanged', null); |
|
||||||
|
|
||||||
// Refresh data
|
|
||||||
handlerInfo = mimeService.getFromTypeAndExtension('application/pdf', 'pdf'); |
|
||||||
|
|
||||||
//
|
|
||||||
// Test: Mime handler was updated
|
|
||||||
//
|
|
||||||
is(handlerInfo.alwaysAskBeforeHandling, alwaysAskBeforeHandling, 'always-ask prompt change successful'); |
|
||||||
is(handlerInfo.preferredAction, preferredAction, 'mime handler change successful'); |
|
||||||
|
|
||||||
return oldAction; |
|
||||||
} |
|
||||||
|
|
||||||
function addWindowListener(aURL, aCallback) { |
|
||||||
Services.wm.addListener({ |
|
||||||
onOpenWindow: function(aXULWindow) { |
|
||||||
info("window opened, waiting for focus"); |
|
||||||
Services.wm.removeListener(this); |
|
||||||
|
|
||||||
var domwindow = aXULWindow.QueryInterface(Ci.nsIInterfaceRequestor) |
|
||||||
.getInterface(Ci.nsIDOMWindow); |
|
||||||
waitForFocus(function() { |
|
||||||
is(domwindow.document.location.href, aURL, "should have seen the right window open"); |
|
||||||
domwindow.close(); |
|
||||||
aCallback(); |
|
||||||
}, domwindow); |
|
||||||
}, |
|
||||||
onCloseWindow: function(aXULWindow) { }, |
|
||||||
onWindowTitleChange: function(aXULWindow, aNewTitle) { } |
|
||||||
}); |
|
||||||
} |
|
@ -1,76 +0,0 @@ |
|||||||
/* Any copyright is dedicated to the Public Domain. |
|
||||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
||||||
|
|
||||||
const RELATIVE_DIR = "browser/extensions/pdfjs/test/"; |
|
||||||
const TESTROOT = "http://example.com/browser/" + RELATIVE_DIR; |
|
||||||
|
|
||||||
function test() { |
|
||||||
var tab; |
|
||||||
|
|
||||||
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); |
|
||||||
|
|
||||||
waitForExplicitFinish(); |
|
||||||
registerCleanupFunction(function() { |
|
||||||
gBrowser.removeTab(tab); |
|
||||||
}); |
|
||||||
|
|
||||||
tab = gBrowser.addTab(TESTROOT + "file_pdfjs_test.pdf"); |
|
||||||
var newTabBrowser = gBrowser.getBrowserForTab(tab); |
|
||||||
newTabBrowser.addEventListener("load", function eventHandler() { |
|
||||||
newTabBrowser.removeEventListener("load", eventHandler, true); |
|
||||||
|
|
||||||
var document = newTabBrowser.contentDocument, |
|
||||||
window = newTabBrowser.contentWindow; |
|
||||||
|
|
||||||
// Runs tests after all 'load' event handlers have fired off
|
|
||||||
window.addEventListener("documentload", function() { |
|
||||||
runTests(document, window, finish); |
|
||||||
}, false, true); |
|
||||||
}, true); |
|
||||||
} |
|
||||||
|
|
||||||
function runTests(document, window, callback) { |
|
||||||
// check that PDF is opened with internal viewer
|
|
||||||
ok(document.querySelector('div#viewer'), "document content has viewer UI"); |
|
||||||
ok('PDFJS' in window.wrappedJSObject, "window content has PDFJS object"); |
|
||||||
|
|
||||||
//open sidebar
|
|
||||||
var sidebar = document.querySelector('button#sidebarToggle'); |
|
||||||
var outerContainer = document.querySelector('div#outerContainer'); |
|
||||||
|
|
||||||
sidebar.click(); |
|
||||||
ok(outerContainer.classList.contains('sidebarOpen'), 'sidebar opens on click'); |
|
||||||
|
|
||||||
// check that thumbnail view is open
|
|
||||||
var thumbnailView = document.querySelector('div#thumbnailView'); |
|
||||||
var outlineView = document.querySelector('div#outlineView'); |
|
||||||
|
|
||||||
is(thumbnailView.getAttribute('class'), null, 'Initial view is thumbnail view'); |
|
||||||
is(outlineView.getAttribute('class'), 'hidden', 'Outline view is hidden initially'); |
|
||||||
|
|
||||||
//switch to outline view
|
|
||||||
var viewOutlineButton = document.querySelector('button#viewOutline'); |
|
||||||
viewOutlineButton.click(); |
|
||||||
|
|
||||||
is(outlineView.getAttribute('class'), '', 'Outline view is visible when selected'); |
|
||||||
is(thumbnailView.getAttribute('class'), 'hidden', 'Thumbnail view is hidden when outline is selected'); |
|
||||||
|
|
||||||
//switch back to thumbnail view
|
|
||||||
var viewThumbnailButton = document.querySelector('button#viewThumbnail'); |
|
||||||
viewThumbnailButton.click(); |
|
||||||
|
|
||||||
is(thumbnailView.getAttribute('class'), '', 'Thumbnail view is visible when selected'); |
|
||||||
is(outlineView.getAttribute('class'), 'hidden', 'Outline view is hidden when thumbnail is selected'); |
|
||||||
|
|
||||||
sidebar.click(); |
|
||||||
|
|
||||||
callback(); |
|
||||||
} |
|
Binary file not shown.
@ -1,7 +0,0 @@ |
|||||||
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- |
|
||||||
# vim: set filetype=python: |
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public |
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this |
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
||||||
|
|
||||||
BROWSER_CHROME_MANIFESTS += ['browser.ini'] |
|
Loading…
Reference in new issue