1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/xpconnect/tests/chrome/test_mozMatchesSelector.xul Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,50 @@ 1.4 +<?xml version="1.0"?> 1.5 +<?xml-stylesheet href="chrome://global/skin" type="text/css"?> 1.6 +<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" 1.7 + type="text/css"?> 1.8 +<!-- 1.9 +https://bugzilla.mozilla.org/show_bug.cgi?id=533596 1.10 +--> 1.11 +<window title="Mozilla Bug 533596" 1.12 + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 1.13 + <script type="application/javascript" 1.14 + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 1.15 + 1.16 + <!-- test results are displayed in the html:body --> 1.17 + <body xmlns="http://www.w3.org/1999/xhtml"> 1.18 + 1.19 + <iframe src="http://example.org/tests/js/xpconnect/tests/mochitest/file_mozMatchesSelector.html" 1.20 + onload="runTest(this)"> 1.21 + </iframe> 1.22 + </body> 1.23 + 1.24 + <!-- test code goes here --> 1.25 + <script type="application/javascript"><![CDATA[ 1.26 + SimpleTest.waitForExplicitFinish(); 1.27 + function runTest(ifr) 1.28 + { 1.29 + var doc = ifr.contentDocument; 1.30 + var docElem = doc.documentElement; 1.31 + 1.32 + var res = doc.createElement('div').mozMatchesSelector('div'); 1.33 + is(res, true, "mozMatchesSelector call through xray, regular case"); 1.34 + 1.35 + res = docElem.mozMatchesSelector.call( 1.36 + doc.createElement('div'), 'div'); 1.37 + is(res, true, "mozMatchesSelector call through xray, with .call"); 1.38 + 1.39 + var sb = new Components.utils.Sandbox(ifr.contentWindow); 1.40 + sb.doc = doc; 1.41 + var str = "doc.documentElement.mozMatchesSelector.call(doc.createElement( 'div' ),'div')"; 1.42 + res = Components.utils.evalInSandbox(str, sb); 1.43 + is(res, true, "mozMatchesSelector call through xray (same origin), with .call"); 1.44 + 1.45 + docElem.mozMatchesSelector = function(){return false}; 1.46 + res = docElem.mozMatchesSelector.call(doc.createElement( 'div' ),'div'); 1.47 + is(res, false, "shadowing mozMatchesSelector with an expando on the xray wrapper"); 1.48 + 1.49 + SimpleTest.finish(); 1.50 + } 1.51 + 1.52 + ]]></script> 1.53 +</window>