| <!DOCTYPE html> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <title>Node.nodeName</title> |
| <link rel="author" title="Olli Pettay" href="mailto:Olli@Pettay.fi"/> |
| <link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <div id="log"/> |
| <div id="test"> |
| <input type="button" id="testbutton"/> |
| <a id="link">Link text</a> |
| </div> |
| <script> |
| <![CDATA[ |
| test(function() { |
| assert_throws(new TypeError(), function() { |
| document.contains(); |
| }); |
| assert_throws(new TypeError(), function() { |
| document.contains(9); |
| }); |
| }, "Should throw TypeError if the arguments are wrong."); |
| |
| test(function() { |
| assert_equals(document.contains(null), false, "Document shouldn't contain null."); |
| }, "contains(null) should be false"); |
| |
| test(function() { |
| assert_equals(document.contains(document), true, "Document should contain itself!"); |
| assert_equals(document.contains(document.createElement("foo")), false, "Document shouldn't contain element which is't in the document"); |
| assert_equals(document.contains(document.createTextNode("foo")), false, "Document shouldn't contain text node which is't in the document"); |
| }, "document.contains"); |
| |
| test(function() { |
| var tb = document.getElementById("testbutton"); |
| assert_equals(tb.contains(tb), true, "Element should contain itself.") |
| assert_equals(document.contains(tb), true, "Document should contain element in it!"); |
| assert_equals(document.documentElement.contains(tb), true, "Element should contain element in it!"); |
| }, "contains with a button"); |
| |
| test(function() { |
| var link = document.getElementById("link"); |
| var text = link.firstChild; |
| assert_equals(document.contains(text), true, "Document should contain a text node in it."); |
| assert_equals(link.contains(text), true, "Element should contain a text node in it."); |
| assert_equals(text.contains(text), true, "Text node should contain itself."); |
| assert_equals(text.contains(link), false, "text node shouldn't contain its parent."); |
| }, "contains with a text node"); |
| |
| test(function() { |
| var pi = document.createProcessingInstruction("adf", "asd"); |
| assert_equals(pi.contains(document), false, "Processing instruction shouldn't contain document"); |
| assert_equals(document.contains(pi), false, "Document shouldn't contain newly created processing instruction"); |
| document.documentElement.appendChild(pi); |
| document.contains(pi, true, "Document should contain processing instruction"); |
| }, "contains with a processing instruction"); |
| |
| test(function() { |
| if ("createContextualFragment" in document.createRange()) { |
| var df = document.createRange().createContextualFragment("<div>foo</div>"); |
| assert_equals(df.contains(df.firstChild), true, "Document fragment should contain its child"); |
| assert_equals(df.contains(df.firstChild.firstChild), true, |
| "Document fragment should contain its descendant"); |
| assert_equals(df.contains(df), true, "Document fragment should contain itself."); |
| } |
| }, "contains with a document fragment"); |
| |
| test(function() { |
| var d = document.implementation.createHTMLDocument(""); |
| assert_equals(document.contains(d), false, |
| "Document shouldn't contain another document."); |
| assert_equals(document.contains(d.createElement("div")), false, |
| "Document shouldn't contain an element from another document."); |
| assert_equals(document.contains(d.documentElement), false, |
| "Document shouldn't contain an element from another document."); |
| }, "contaibs with another document"); |
| ]]> |
| </script> |
| </body> |
| </html> |