/dom/tests/mochitest/bugs/test_bug396843.html

http://github.com/zpao/v8monkey · HTML · 242 lines · 224 code · 15 blank · 3 comment · 0 complexity · 990fd8e2bec97ef782461533e943f262 MD5 · raw file

  1. <!DOCTYPE HTML>
  2. <html>
  3. <!--
  4. https://bugzilla.mozilla.org/show_bug.cgi?id=396843
  5. -->
  6. <head>
  7. <title>Test for Bug 396843</title>
  8. <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  9. <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
  10. </head>
  11. <body>
  12. <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=396843">Mozilla Bug 396843</a>
  13. <p id="display">
  14. <iframe src="http://example.org:80/" id="t"></iframe>
  15. </p>
  16. <div id="content" style="display: none">
  17. </div>
  18. <pre id="test">
  19. <script class="testbody" type="text/javascript">
  20. /** Test for Bug 396843 **/
  21. SimpleTest.waitForExplicitFinish();
  22. var allNodes = [];
  23. var XMLNodes = [];
  24. // HTML
  25. function HTML_TAG(name) {
  26. allNodes.push(document.createElement(name));
  27. }
  28. /* List copy/pasted from nsHTMLTagList.h */
  29. HTML_TAG("a", "Anchor")
  30. HTML_TAG("abbr", "Span")
  31. HTML_TAG("acronym", "Span")
  32. HTML_TAG("address", "Span")
  33. HTML_TAG("applet", "SharedObject")
  34. HTML_TAG("area", "Area")
  35. HTML_TAG("b", "Span")
  36. HTML_TAG("base", "Shared")
  37. HTML_TAG("basefont", "Span")
  38. HTML_TAG("bdo", "Span")
  39. HTML_TAG("bgsound", "Span")
  40. HTML_TAG("big", "Span")
  41. HTML_TAG("blink", "Span")
  42. HTML_TAG("blockquote", "Shared")
  43. HTML_TAG("body", "Body")
  44. HTML_TAG("br", "BR")
  45. HTML_TAG("button", "Button")
  46. HTML_TAG("canvas", "Canvas")
  47. HTML_TAG("caption", "TableCaption")
  48. HTML_TAG("center", "Span")
  49. HTML_TAG("cite", "Span")
  50. HTML_TAG("code", "Span")
  51. HTML_TAG("col", "TableCol")
  52. HTML_TAG("colgroup", "TableCol")
  53. HTML_TAG("dd", "Span")
  54. HTML_TAG("del", "Mod")
  55. HTML_TAG("dfn", "Span")
  56. HTML_TAG("dir", "Shared")
  57. HTML_TAG("div", "Div")
  58. HTML_TAG("dl", "SharedList")
  59. HTML_TAG("dt", "Span")
  60. HTML_TAG("em", "Span")
  61. HTML_TAG("embed", "SharedObject")
  62. HTML_TAG("fieldset", "FieldSet")
  63. HTML_TAG("font", "Font")
  64. HTML_TAG("form", "Form")
  65. HTML_TAG("frame", "Frame")
  66. HTML_TAG("frameset", "FrameSet")
  67. HTML_TAG("h1", "Heading")
  68. HTML_TAG("h2", "Heading")
  69. HTML_TAG("h3", "Heading")
  70. HTML_TAG("h4", "Heading")
  71. HTML_TAG("h5", "Heading")
  72. HTML_TAG("h6", "Heading")
  73. HTML_TAG("head", "Head")
  74. HTML_TAG("hr", "HR")
  75. HTML_TAG("html", "Html")
  76. HTML_TAG("i", "Span")
  77. HTML_TAG("iframe", "IFrame")
  78. HTML_TAG("image", "Span")
  79. HTML_TAG("img", "Image")
  80. HTML_TAG("input", "Input")
  81. HTML_TAG("ins", "Mod")
  82. HTML_TAG("isindex", "Shared")
  83. HTML_TAG("kbd", "Span")
  84. HTML_TAG("keygen", "Span")
  85. HTML_TAG("label", "Label")
  86. HTML_TAG("legend", "Legend")
  87. HTML_TAG("li", "LI")
  88. HTML_TAG("link", "Link")
  89. HTML_TAG("listing", "Span")
  90. HTML_TAG("map", "Map")
  91. HTML_TAG("marquee", "Div")
  92. HTML_TAG("menu", "Shared")
  93. HTML_TAG("meta", "Meta")
  94. HTML_TAG("multicol", "Span")
  95. HTML_TAG("nobr", "Span")
  96. HTML_TAG("noembed", "Div")
  97. HTML_TAG("noframes", "Div")
  98. HTML_TAG("noscript", "Div")
  99. HTML_TAG("object", "Object")
  100. HTML_TAG("ol", "SharedList")
  101. HTML_TAG("optgroup", "OptGroup")
  102. HTML_TAG("option", "Option")
  103. HTML_TAG("p", "Paragraph")
  104. HTML_TAG("param", "Shared")
  105. HTML_TAG("plaintext", "Span")
  106. HTML_TAG("pre", "Pre")
  107. HTML_TAG("q", "Shared")
  108. HTML_TAG("s", "Span")
  109. HTML_TAG("samp", "Span")
  110. HTML_TAG("script", "Script")
  111. HTML_TAG("select", "Select")
  112. HTML_TAG("small", "Span")
  113. HTML_TAG("spacer", "Shared")
  114. HTML_TAG("span", "Span")
  115. HTML_TAG("strike", "Span")
  116. HTML_TAG("strong", "Span")
  117. HTML_TAG("style", "Style")
  118. HTML_TAG("sub", "Span")
  119. HTML_TAG("sup", "Span")
  120. HTML_TAG("table", "Table")
  121. HTML_TAG("tbody", "TableSection")
  122. HTML_TAG("td", "TableCell")
  123. HTML_TAG("textarea", "TextArea")
  124. HTML_TAG("tfoot", "TableSection")
  125. HTML_TAG("th", "TableCell")
  126. HTML_TAG("thead", "TableSection")
  127. HTML_TAG("title", "Title")
  128. HTML_TAG("tr", "TableRow")
  129. HTML_TAG("tt", "Span")
  130. HTML_TAG("u", "Span")
  131. HTML_TAG("ul", "SharedList")
  132. HTML_TAG("var", "Span")
  133. HTML_TAG("wbr", "Shared")
  134. HTML_TAG("xmp", "Span")
  135. function SVG_TAG(name) {
  136. allNodes.push(document.createElementNS("http://www.w3.org/2000/svg", name));
  137. }
  138. // List sorta stolen from SVG element factory.
  139. SVG_TAG("a")
  140. SVG_TAG("polyline")
  141. SVG_TAG("polygon")
  142. SVG_TAG("circle")
  143. SVG_TAG("ellipse")
  144. SVG_TAG("line")
  145. SVG_TAG("rect")
  146. SVG_TAG("svg")
  147. SVG_TAG("g")
  148. SVG_TAG("foreignObject")
  149. SVG_TAG("path")
  150. SVG_TAG("text")
  151. SVG_TAG("tspan")
  152. SVG_TAG("image")
  153. SVG_TAG("style")
  154. SVG_TAG("linearGradient")
  155. SVG_TAG("metadata")
  156. SVG_TAG("radialGradient")
  157. SVG_TAG("stop")
  158. SVG_TAG("defs")
  159. SVG_TAG("desc")
  160. SVG_TAG("script")
  161. SVG_TAG("use")
  162. SVG_TAG("symbol")
  163. SVG_TAG("marker")
  164. SVG_TAG("title")
  165. SVG_TAG("clipPath")
  166. SVG_TAG("textPath")
  167. SVG_TAG("filter")
  168. SVG_TAG("feBlend")
  169. SVG_TAG("feColorMatrix")
  170. SVG_TAG("feComponentTransfer")
  171. SVG_TAG("feComposite")
  172. SVG_TAG("feFuncR")
  173. SVG_TAG("feFuncG")
  174. SVG_TAG("feFuncB")
  175. SVG_TAG("feFuncA")
  176. SVG_TAG("feGaussianBlur")
  177. SVG_TAG("feMerge")
  178. SVG_TAG("feMergeNode")
  179. SVG_TAG("feMorphology")
  180. SVG_TAG("feOffset")
  181. SVG_TAG("feFlood")
  182. SVG_TAG("feTile")
  183. SVG_TAG("feTurbulence")
  184. SVG_TAG("feConvolveMatrix")
  185. SVG_TAG("feDistantLight")
  186. SVG_TAG("fePointLight")
  187. SVG_TAG("feSpotLight")
  188. SVG_TAG("feDiffuseLighting")
  189. SVG_TAG("feSpecularLighting")
  190. SVG_TAG("feDisplacementMap")
  191. SVG_TAG("feImage")
  192. SVG_TAG("pattern")
  193. SVG_TAG("mask")
  194. SVG_TAG("svgSwitch")
  195. // Toss in some other namespaced stuff too, for good measure
  196. allNodes.push(document.createElementNS(
  197. "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",
  198. "window"));
  199. allNodes.push(document.createElementNS("http://www.w3.org/1998/Math/MathML",
  200. "math"));
  201. allNodes.push(document.createElementNS("http://www.w3.org/2001/xml-events",
  202. "testname"));
  203. allNodes.push(document.createElementNS("bogus.namespace", "testname"));
  204. var XMLDoc = document.implementation.createDocument("", "", null);
  205. // And non-elements
  206. allNodes.push(document.createTextNode("some text"));
  207. allNodes.push(document.createComment("some text"));
  208. allNodes.push(document.createDocumentFragment());
  209. XMLNodes.push(XMLDoc.createCDATASection("some text"));
  210. XMLNodes.push(XMLDoc.createProcessingInstruction("PI", "data"));
  211. function runTest() {
  212. ok(document.nodePrincipal === undefined, "Must not have document principal");
  213. ok(document.baseURIObject === undefined, "Must not have document base URI");
  214. ok(document.documentURIObject === undefined, "Must have document URI");
  215. for (var i = 0; i < allNodes.length; ++i) {
  216. ok(allNodes[i].nodePrincipal === undefined,
  217. "Unexpected principal appears for " + allNodes[i].nodeName);
  218. ok(allNodes[i].baseURIObject === undefined,
  219. "Unexpected base URI appears for " + allNodes[i].nodeName);
  220. }
  221. }
  222. addLoadEvent(runTest);
  223. addLoadEvent(SimpleTest.finish);
  224. </script>
  225. </pre>
  226. </body>
  227. </html>