blob: b0aee2b176e6fb17b887abdb2e88e1be4b09975d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
Test HTMLUnknownElement
<p>
This test verifies the following:
<ol>
<li>The <code><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#htmlunknownelement">HTMLUnknownElement</a></code>
interface is used for HTML elements that are not defined by the HTML5
specification (or other applicable specifications).
<li>The <code><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#htmlunknownelement">HTMLUnknownElement</a></code>
interface is <b>not</b> used for HTML elements that <b>are</b> defined
by the HTML5 specification (or other applicable specifications).
</ol>
</p>
</p>
<div id="console"></div>
<b></b>
<foo1></foo1>
<foo2></foo2>
<font></font>
<h1></h1>
<table></table>
<script>
// These tags are required by the HTML spec
var validTags = ["div", "font", "h1", "table"];
// These tags are manufactured and should not be recognized by any browser
var bogusTags = ["foo1", "foo2"];
var allTags = validTags.concat(bogusTags);
function isBogusTag (tag) {
for (var k in bogusTags) {
var bogusTag = bogusTags[k];
if (tag == bogusTag) {
return true;
}
}
return false;
}
var DynamicElements = new Array();
for (var k in allTags) {
var tag = allTags[k];
DynamicElements[tag] = document.createElement(tag);
}
for (var element in DynamicElements) {
shouldBeTrue("DynamicElements[\"" + element + "\"]" + " instanceof HTMLElement");
if (isBogusTag(element)) {
shouldBeTrue("DynamicElements[\"" + element + "\"]" + " instanceof HTMLUnknownElement");
} else {
shouldBeFalse("DynamicElements[\"" + element + "\"]" + " instanceof HTMLUnknownElement");
}
}
var staticElements = new Array();
for (var k in allTags) {
var tag = allTags[k];
staticElements[tag] = document.getElementsByTagName(tag)[0];
}
for (var staticElement in staticElements) {
if (staticElements[staticElement]) {
if (isBogusTag(staticElement)) {
shouldBeTrue("staticElements[\"" + staticElement + "\"]" + " instanceof HTMLUnknownElement");
} else {
shouldBeFalse("staticElements[\"" + staticElement + "\"]" + " instanceof HTMLUnknownElement");
}
}
}
</script>
</body>
</html>