зеркало из https://github.com/mozilla/gecko-dev.git
93 строки
3.3 KiB
XML
93 строки
3.3 KiB
XML
<?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=658909
|
|
-->
|
|
<window title="Mozilla Bug 658909"
|
|
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=658909"
|
|
target="_blank">Mozilla Bug 658909</a>
|
|
</body>
|
|
|
|
<!-- test code goes here -->
|
|
<script type="application/javascript">
|
|
<![CDATA[
|
|
/** Test for call/apply-ing Xray methods.**/
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
gLoadCount = 0;
|
|
function frameLoaded() {
|
|
if (++gLoadCount == frames.length)
|
|
go();
|
|
}
|
|
|
|
function msg(a, b, testName) {
|
|
return "(" + a.name + ", " + b.name + "): " + testName;
|
|
}
|
|
|
|
var testFunctions = {
|
|
testDocumentElement: function(a, b, name) {
|
|
var getter = Object.prototype.__lookupGetter__.call(a.document, 'documentElement');
|
|
is(getter.call(b.document), b.document.documentElement, msg(a, b, name));
|
|
},
|
|
|
|
testInvalidCall: function(a, b, name) {
|
|
var getter = Object.prototype.__lookupGetter__.call(a.document, 'documentElement');
|
|
var threw = false;
|
|
try { getter.call(b.document.body); } catch (e) { threw = true; };
|
|
ok(threw, msg(a, b, name));
|
|
},
|
|
|
|
testStatus: function(a, b, name) {
|
|
var setter = Object.prototype.__lookupSetter__.call(a, 'status');
|
|
is(b.status, "", "Empty status");
|
|
setter.call(b, "foopy");
|
|
is(b.status, "foopy", msg(a, b, name));
|
|
b.status = "";
|
|
},
|
|
|
|
testCreateElement: function(a, b, name) {
|
|
is(a.document.createElement.call(b.document, 'div').ownerDocument, b.document, msg(a, b, name));
|
|
},
|
|
|
|
testWindowName: function(a, b, name) {
|
|
var getter = Object.prototype.__lookupGetter__.call(a, 'name');
|
|
is(getter.call(b), b.name, msg(a, b, name));
|
|
},
|
|
|
|
testCanvas: function(a, b, name) {
|
|
var canvasA = a.document.createElement('canvas');
|
|
var canvasB = b.document.createElement('canvas');
|
|
var contextA = canvasA.getContext('2d');
|
|
var contextB = canvasB.getContext('2d');
|
|
var getter = Object.prototype.__lookupGetter__.call(contextA, 'canvas');
|
|
is(getter.call(contextB), canvasB, msg(a, b, name));
|
|
}
|
|
};
|
|
|
|
function go() {
|
|
for (var i = 0; i < frames.length; ++i)
|
|
frames[i].name = 'frame' + i;
|
|
for (var i = 0; i < frames.length; ++i) {
|
|
for (var j = 0; j < frames.length; ++j) {
|
|
for (var k in testFunctions)
|
|
testFunctions[k](frames[i], frames[j], k);
|
|
}
|
|
}
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
|
|
|
|
]]>
|
|
</script>
|
|
<iframe id="frame1" onload="frameLoaded();" type="content" src="http://example.org/tests/js/xpconnect/tests/mochitest/file_empty.html" />
|
|
<iframe id="frame2" onload="frameLoaded();" type="content" src="http://example.org/tests/js/xpconnect/tests/mochitest/file_empty.html" />
|
|
<iframe id="frame3" onload="frameLoaded();" type="content" src="http://example.com/tests/js/xpconnect/tests/mochitest/file_empty.html" />
|
|
</window>
|