Merge pull request #1774 from arturadib/mozcentral-test-1

Moz-Central tests: Remove all async tests
This commit is contained in:
Brendan Dahl 2012-05-29 10:58:41 -07:00
commit 85f9217c5e
3 changed files with 56 additions and 109 deletions

View File

@ -12,7 +12,6 @@ include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/rules.mk include $(topsrcdir)/config/rules.mk
_BROWSER_TEST_FILES = \ _BROWSER_TEST_FILES = \
head.js \
browser_pdfjs_main.js \ browser_pdfjs_main.js \
file_pdfjs_test.pdf \ file_pdfjs_test.pdf \
$(NULL) $(NULL)

View File

@ -6,97 +6,66 @@ const RELATIVE_DIR = "browser/extensions/pdfjs/test/";
const TESTROOT = "http://example.com/browser/" + RELATIVE_DIR; const TESTROOT = "http://example.com/browser/" + RELATIVE_DIR;
function test() { function test() {
waitForExplicitFinish(); var tab;
var tab = gBrowser.addTab(TESTROOT + "file_pdfjs_test.pdf"); waitForExplicitFinish();
registerCleanupFunction(function() {
gBrowser.removeTab(tab);
});
tab = gBrowser.addTab(TESTROOT + "file_pdfjs_test.pdf");
var newTabBrowser = gBrowser.getBrowserForTab(tab); var newTabBrowser = gBrowser.getBrowserForTab(tab);
newTabBrowser.addEventListener("pagechange", function onPageChange() { newTabBrowser.addEventListener("load", function eventHandler() {
newTabBrowser.removeEventListener("pagechange", onPageChange, true); newTabBrowser.removeEventListener("load", eventHandler, true);
var document = newTabBrowser.contentDocument, var document = newTabBrowser.contentDocument,
window = newTabBrowser.contentWindow; window = newTabBrowser.contentWindow;
// // Runs tests after all 'load' event handlers have fired off
// Overall sanity tests setTimeout(function() {
// runTests(document, window);
ok(document.querySelector('div#viewer'), "document content has viewer UI"); }, 0);
ok('PDFJS' in window.wrappedJSObject, "window content has PDFJS object"); }, true);
}
//
// Sidebar: open
// function runTests(document, window) {
var sidebar = document.querySelector('button#sidebarToggle'), //
outerContainer = document.querySelector('div#outerContainer'); // Overall sanity tests
//
sidebar.click(); ok(document.querySelector('div#viewer'), "document content has viewer UI");
ok(outerContainer.classList.contains('sidebarOpen'), 'sidebar opens on click'); ok('PDFJS' in window.wrappedJSObject, "window content has PDFJS object");
// Thumbnails are created asynchronously - wait for them //
waitForElement(document, 'canvas#thumbnail2', function(error) { // Sidebar: open
if (error) //
finish(); var sidebar = document.querySelector('button#sidebarToggle'),
outerContainer = document.querySelector('div#outerContainer');
//
// Page change from thumbnail click sidebar.click();
// ok(outerContainer.classList.contains('sidebarOpen'), 'sidebar opens on click');
var pageNumber = document.querySelector('input#pageNumber');
is(parseInt(pageNumber.value), 1, 'initial page is 1'); //
// Sidebar: close
var thumbnail = document.querySelector('canvas#thumbnail2'); //
ok(thumbnail, 'thumbnail2 is available'); sidebar.click();
if (thumbnail) { ok(!outerContainer.classList.contains('sidebarOpen'), 'sidebar closes on click');
thumbnail.click();
is(parseInt(pageNumber.value), 2, 'clicking on thumbnail changes page'); //
} // Page change from prev/next buttons
//
// var prevPage = document.querySelector('button#previous'),
// Sidebar: close nextPage = document.querySelector('button#next');
//
sidebar.click(); var pageNumber = document.querySelector('input#pageNumber');
ok(!outerContainer.classList.contains('sidebarOpen'), 'sidebar closes on click'); is(parseInt(pageNumber.value), 1, 'initial page is 1');
// //
// Page change from prev/next buttons // Bookmark button
// //
var prevPage = document.querySelector('button#previous'), var viewBookmark = document.querySelector('a#viewBookmark');
nextPage = document.querySelector('button#next'); viewBookmark.click();
ok(viewBookmark.href.length > 0, 'viewBookmark button has href');
nextPage.click();
is(parseInt(pageNumber.value), 2, 'page increases after clicking on next'); finish();
prevPage.click();
is(parseInt(pageNumber.value), 1, 'page decreases after clicking on previous');
//
// Bookmark button
//
var viewBookmark = document.querySelector('a#viewBookmark');
viewBookmark.click();
ok(viewBookmark.href.length > 0, 'viewBookmark button has href');
//
// Zoom in/out
//
var zoomOut = document.querySelector('button.zoomOut'),
zoomIn = document.querySelector('button.zoomIn');
// Zoom in
var oldWidth = document.querySelector('canvas#page1').width;
zoomIn.click();
var newWidth = document.querySelector('canvas#page1').width;
ok(oldWidth < newWidth, 'zooming in increases page width (old: '+oldWidth+', new: '+newWidth+')');
// Zoom out
var oldWidth = document.querySelector('canvas#page1').width;
zoomOut.click();
var newWidth = document.querySelector('canvas#page1').width;
ok(oldWidth > newWidth, 'zooming out decreases page width (old: '+oldWidth+', new: '+newWidth+')');
finish();
});
}, true, true);
registerCleanupFunction(function() {
gBrowser.removeTab(tab);
});
} }

View File

@ -1,21 +0,0 @@
// Waits for element 'el' to exist in the DOM of 'doc' before executing 'callback'
// Useful when elements are created asynchronously, e.g. after a Web Worker task
function waitForElement(doc, el, callback) {
var time = 0,
interval = 10,
timeout = 5000;
var checkEl = setInterval(function() {
if (doc.querySelector(el)) {
clearInterval(checkEl);
if (callback) callback();
}
time += interval;
if (time > timeout) {
ok(false, 'waitForElement timed out on element: '+el);
clearInterval(checkEl);
if (callback) callback(true);
}
}, interval);
}