9 changed files with 0 additions and 266 deletions
@ -1,19 +0,0 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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