blob: 4862328782663d4379886e4363e08be88ded8e01 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<script>
description(
'This test checks behavior of Node.contains. <div id="test1">[test1 <span id="test2">[test 2]</span>]</div>'
);
var test1 = document.getElementById('test1');
var test1TextChild = document.getElementById('test1').firstChild;
var test2 = document.getElementById('test2');
shouldBeEqualToString("typeof document.contains", "function");
shouldBeTrue("test1.contains(test2)");
shouldBeTrue("test1.contains(test1TextChild)");
shouldBeTrue("document.contains(test1)");
shouldBeTrue("document.contains(test1TextChild)");
shouldBeTrue("document.contains(document)");
shouldBeTrue("test1.contains(test1)");
shouldBeTrue("test1TextChild.contains(test1TextChild)");
shouldThrow("test1.contains(123)");
shouldBeFalse("test1.contains(null)");
// Cross document tests
var iframe = document.createElement("iframe");
shouldBeFalse("document.contains(iframe)"); // Not in document
shouldBeTrue("iframe.contains(iframe)");
document.body.appendChild(iframe);
debug('iframe is now in document');
shouldBeTrue("document.contains(iframe)");
var iframeDoc = iframe.contentDocument;
var iframeBody = iframeDoc.body;
shouldBeFalse("document.contains(iframeDoc)");
shouldBeTrue("iframeDoc.contains(iframeBody)");
shouldBeFalse("document.contains(iframeBody)");
</script>
</body>
</html>