Bug 1041626 - Tests. r=bz, a=sledru
authorBobby Holley <bobbyholley@gmail.com>
Wed, 23 Jul 2014 12:36:21 -0700
changeset 217275 217d09d459e1a5cdc0d87872d1983da1fa89e28b
parent 217274 e0a751a852390886dd5877b5955d845c485752b4
child 217276 8b4670845e03e0c761a5014834aa625326bc16a0
push id515
push userraliiev@mozilla.com
push dateMon, 06 Oct 2014 12:51:51 +0000
treeherdermozilla-release@267c7a481bef [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbz, sledru
bugs1041626
milestone33.0a2
Bug 1041626 - Tests. r=bz, a=sledru
js/xpconnect/tests/chrome/chrome.ini
js/xpconnect/tests/chrome/test_bug1041626.xul
--- a/js/xpconnect/tests/chrome/chrome.ini
+++ b/js/xpconnect/tests/chrome/chrome.ini
@@ -50,16 +50,17 @@ support-files =
 [test_bug853283.xul]
 [test_bug853571.xul]
 [test_bug858101.xul]
 [test_bug860494.xul]
 [test_bug866823.xul]
 [test_bug895340.xul]
 [test_bug932906.xul]
 [test_bug996069.xul]
+[test_bug1041626.xul]
 [test_xrayToJS.xul]
 [test_chrometoSource.xul]
 [test_cloneInto.xul]
 [test_cows.xul]
 [test_discardSystemSource.xul]
 [test_documentdomain.xul]
 [test_doublewrappedcompartments.xul]
 [test_evalInSandbox.xul]
new file mode 100644
--- /dev/null
+++ b/js/xpconnect/tests/chrome/test_bug1041626.xul
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/css" href="chrome://global/skin"?>
+<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1041626
+-->
+<window title="Mozilla Bug 1041626"
+        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
+
+  <!-- test results are displayed in the html:body -->
+  <body xmlns="http://www.w3.org/1999/xhtml">
+  <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1041626"
+     target="_blank">Mozilla Bug 1041626</a>
+  </body>
+
+  <!-- test code goes here -->
+  <script type="application/javascript">
+  <![CDATA[
+  /** Test for Bug 1041626 **/
+  SimpleTest.waitForExplicitFinish();
+  const Cu = Components.utils;
+  function go() {
+
+    //
+    // Location
+    //
+
+    ok(Cu.isXrayWrapper(window[0].location), "Location is Xrayed");
+    let xrayOwnProperties = Object.getOwnPropertyNames(window[0].location);
+    todo(xrayOwnProperties.indexOf('toJSON') != -1,
+         "dummy toJSON on Location should show up in Xrayable properties");
+    xrayOwnProperties.push('toJSON');
+
+    let realOwnProperties = Object.getOwnPropertyNames(window[0].wrappedJSObject.location);
+    ok(realOwnProperties.length > 2);
+
+    is(xrayOwnProperties.sort().toSource(), realOwnProperties.sort().toSource(),
+       "Xray enumerates location properties properly");
+
+    //
+    // Document
+    //
+
+    ok(Cu.isXrayWrapper(window[0].document), "Document is Xrayed");
+    xrayOwnProperties = Object.getOwnPropertyNames(window[0].document);
+
+    realOwnProperties = Object.getOwnPropertyNames(window[0].wrappedJSObject.document);
+    ok(realOwnProperties.length > 0);
+
+    is(xrayOwnProperties.sort().toSource(), realOwnProperties.sort().toSource(),
+       "Xray enumerates document properties properly");
+
+
+
+    SimpleTest.finish();
+  }
+
+
+
+  ]]>
+  </script>
+  <iframe onload="go();" src="http://example.org/tests/js/xpconnect/tests/mochitest/file_empty.html" />
+</window>