Bug 1065185 - Console Message Tests. r=bz
authorBobby Holley <bobbyholley@gmail.com>
Fri, 03 Oct 2014 10:05:52 +0200
changeset 231763 58012f4bb5f7d2dab5855bf121811a1a90d56311
parent 231762 3bddc48c44073b037809a31496c11be10234e8e7
child 231764 01bbf35c82bdc31c7fe4bf129fe8a8e421f68cef
push id4187
push userbhearsum@mozilla.com
push dateFri, 28 Nov 2014 15:29:12 +0000
treeherdermozilla-beta@f23cc6a30c11 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbz
bugs1065185
milestone35.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1065185 - Console Message Tests. r=bz
js/xpconnect/tests/chrome/chrome.ini
js/xpconnect/tests/chrome/test_bug1065185.html
--- a/js/xpconnect/tests/chrome/chrome.ini
+++ b/js/xpconnect/tests/chrome/chrome.ini
@@ -62,16 +62,17 @@ skip-if = buildapp == 'mulet'
 [test_bug865948.xul]
 [test_bug866823.xul]
 [test_bug895340.xul]
 [test_bug932906.xul]
 [test_bug996069.xul]
 [test_bug1041626.xul]
 [test_bug1042436.xul]
 [test_bug1050049.html]
+[test_bug1065185.html]
 [test_bug1074863.html]
 [test_xrayToJS.xul]
 skip-if = buildapp == 'mulet'
 [test_chrometoSource.xul]
 skip-if = buildapp == 'mulet'
 [test_cloneInto.xul]
 [test_cows.xul]
 skip-if = buildapp == 'mulet'
new file mode 100644
--- /dev/null
+++ b/js/xpconnect/tests/chrome/test_bug1065185.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1065185
+-->
+<head>
+  <meta charset="utf-8">
+  <title>Test for Bug 1065185</title>
+  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="chrome://global/skin"/>
+  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
+  <script type="application/javascript">
+
+  /** Test for Bug 1065185 **/
+  SimpleTest.waitForExplicitFinish();
+
+  function doMonitor(rgxps) {
+    var messages = rgxps.map((x) => ({ errorMessage: x, isWarning: true }));
+    info("Expecting console messages: " + messages.toSource());
+    SimpleTest.monitorConsole(() => SimpleTest.executeSoon(() => window[0].location.reload()), messages, /* forbidUnexpected = */ true);
+  }
+  function endMonitor() {
+    SimpleTest.executeSoon(SimpleTest.endMonitorConsole.bind(SimpleTest));
+  }
+
+  var gLoadCount = 0;
+  function loaded() {
+    switch(++gLoadCount) {
+      case 0:
+        doMonitor([]);
+        window[0].wrappedJSObject.probe = { a: 2, __exposedProps__: { 'a': 'r' } };
+        is(window[0].eval('probe.a'), 2, "Accessed exposed prop");
+        endMonitor();
+        break;
+      case 1:
+        doMonitor([/access to property a/i]);
+        window[0].wrappedJSObject.probe = { a: 2 };
+        is(window[0].eval('probe.a'), undefined, "Non-exposed prop undefined");
+        is(window[0].eval('probe.a'), undefined, "Non-exposed prop undefined again");
+        endMonitor();
+        break;
+      case 2:
+        doMonitor([/access to property 0/i]);
+        window[0].wrappedJSObject.probe = [42];
+        is(window[0].eval('probe[0]'), undefined, "Element undefined");
+        is(window[0].eval('probe.length'), undefined, "Length undefined");
+        endMonitor();
+        break;
+      case 3:
+        doMonitor([/access to property length/i]);
+        window[0].wrappedJSObject.probe = { a: 'verboten', b: [42], __exposedProps__: { 'b' : 'r' }};
+        is(window[0].eval('probe.b.length'), undefined, "Length undefined");
+        is(window[0].eval('probe.a'), undefined, "property undefined");
+        endMonitor();
+        break;
+      case 4:
+        SimpleTest.finish();
+        break;
+      default:
+        ok(false, "Unexpected load");
+        SimpleTest.finish();
+        break;
+    }
+  }
+
+  </script>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1065185">Mozilla Bug 1065185</a>
+<p id="display"></p>
+<div id="content" style="display: none">
+
+</div>
+<pre id="test">
+</pre>
+<iframe onload="loaded();" src="http://example.org/tests/js/xpconnect/tests/mochitest/file_empty.html" />
+</body>
+</html>