bug 1360494 - part 2 add mochitest to make sure the image files exist. r=ehung draft
authorYa-Chieh Wu <ywu@mozilla.com>
Fri, 12 May 2017 17:55:07 +0800
changeset 579125 e01f43dbae7506de2e913fe2727544d6f3f5d021
parent 579124 bea0b718e20fbab343467a872efacbe32545085b
child 628918 03e3c047361e9da3218394436490e50a208361bf
push id59156
push userbmo:ywu@mozilla.com
push dateWed, 17 May 2017 02:44:34 +0000
reviewersehung
bugs1360494
milestone55.0a1
bug 1360494 - part 2 add mochitest to make sure the image files exist. r=ehung MozReview-Commit-ID: B66VMsoum6W
browser/extensions/mortar/moz.build
browser/extensions/mortar/test/mochitest/mochitest.ini
browser/extensions/mortar/test/mochitest/test_bug1360494.html
--- a/browser/extensions/mortar/moz.build
+++ b/browser/extensions/mortar/moz.build
@@ -1,15 +1,16 @@
 # -*- Mode: python; 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/.
 
 XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini']
+MOCHITEST_MANIFESTS += ['test/mochitest/mochitest.ini']
 
 DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
 DEFINES['MOZ_APP_MAXVERSION'] = CONFIG['MOZ_APP_MAXVERSION']
 
 
 FINAL_TARGET_FILES.features['ppapipdf.js@mozilla.org'] += [
   'host/pdf/bootstrap.js'
 ]
new file mode 100644
--- /dev/null
+++ b/browser/extensions/mortar/test/mochitest/mochitest.ini
@@ -0,0 +1,5 @@
+[DEFAULT]
+support-files =
+
+
+[test_bug1360494.html]
new file mode 100644
--- /dev/null
+++ b/browser/extensions/mortar/test/mochitest/test_bug1360494.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1360494
+-->
+<head>
+  <title>Test for Bug 1360494</title>
+  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1360494">Mozilla Bug 1360494</a>
+  <p id="display"></p>
+  <pre id="test">
+<script class="testbody" type="text/javascript">
+
+SimpleTest.waitForExplicitFinish();
+
+/** <img src=""> tests **/
+var imgTests = ["findbarButton-next-rtl.png",
+               "findbarButton-next-rtl@2x.png",
+               "findbarButton-next.png",
+               "findbarButton-next@2x.png",
+               "findbarButton-previous-rtl.png",
+               "findbarButton-previous-rtl@2x.png",
+               "findbarButton-previous.png",
+               "findbarButton-previous@2x.png",
+               "grab.cur",
+               "grabbing.cur",
+               "loading-small.png",
+               "loading-small@2x.png",
+               "secondaryToolbarButton-firstPage.png",
+               "secondaryToolbarButton-firstPage@2x.png",
+               "secondaryToolbarButton-lastPage.png",
+               "secondaryToolbarButton-lastPage@2x.png",
+               "secondaryToolbarButton-rotateCcw.png",
+               "secondaryToolbarButton-rotateCcw@2x.png",
+               "secondaryToolbarButton-rotateCw.png",
+               "secondaryToolbarButton-rotateCw@2x.png",
+               "texture.png",
+               "toolbarButton-bookmark.png",
+               "toolbarButton-bookmark@2x.png",
+               "toolbarButton-download.png",
+               "toolbarButton-download@2x.png",
+               "toolbarButton-menuArrows.png",
+               "toolbarButton-menuArrows@2x.png",
+               "toolbarButton-pageDown-rtl.png",
+               "toolbarButton-pageDown-rtl@2x.png",
+               "toolbarButton-pageDown.png",
+               "toolbarButton-pageDown@2x.png",
+               "toolbarButton-pageUp-rtl.png",
+               "toolbarButton-pageUp-rtl@2x.png",
+               "toolbarButton-pageUp.png",
+               "toolbarButton-pageUp@2x.png",
+               "toolbarButton-presentationMode.png",
+               "toolbarButton-presentationMode@2x.png",
+               "toolbarButton-print.png",
+               "toolbarButton-print@2x.png",
+               "toolbarButton-search.png",
+               "toolbarButton-search@2x.png",
+               "toolbarButton-secondaryToolbarToggle-rtl.png",
+               "toolbarButton-secondaryToolbarToggle-rtl@2x.png",
+               "toolbarButton-secondaryToolbarToggle.png",
+               "toolbarButton-secondaryToolbarToggle@2x.png",
+               "toolbarButton-sidebarToggle-rtl.png",
+               "toolbarButton-sidebarToggle-rtl@2x.png",
+               "toolbarButton-sidebarToggle.png",
+               "toolbarButton-sidebarToggle@2x.png",
+               "toolbarButton-viewOutline-rtl.png",
+               "toolbarButton-viewOutline-rtl@2x.png",
+               "toolbarButton-viewOutline.png",
+               "toolbarButton-viewOutline@2x.png",
+               "toolbarButton-zoomIn.png",
+               "toolbarButton-zoomIn@2x.png",
+               "toolbarButton-zoomOut.png",
+               "toolbarButton-zoomOut@2x.png",
+               "treeitem-collapsed-rtl.png",
+               "treeitem-collapsed-rtl@2x.png",
+               "treeitem-collapsed.png",
+               "treeitem-collapsed@2x.png",
+               "treeitem-expanded.png",
+               "treeitem-expanded@2x.png",
+];
+
+
+
+
+
+var curImgTest = 0;
+
+function runImgTest() {
+  var test = imgTests[curImgTest++];
+  var callback = curImgTest == imgTests.length ? finishTest : runImgTest;
+  loadImage(test, callback);
+}
+
+function finishTest() {
+  SimpleTest.finish();
+}
+
+function fail(event) {
+  ok(false, "image file doesn't exist");
+  if (event.target.callback)
+    event.target.callback();
+}
+
+function success(event) {
+  ok(true);
+  if (event.target.callback)
+    event.target.callback();
+}
+
+function loadImage(uri, callback) {
+  var img = document.createElement("img");
+  img.onerror = fail;
+  img.onload = success;
+  img.callback = callback;
+  img.src = "resource://pdf.js/web/images/" + uri;
+}
+runImgTest();
+</script>
+</pre>
+</body>
+</html>