| OLD | NEW |
| (Empty) |
| 1 // Test for WebKit Bug 15136 - HTML5 spec violation: </h1> doesn't end <h3> elem
ent in Webkit | |
| 2 // https://bugs.webkit.org/show_bug.cgi?id=15136 | |
| 3 // rdar://problem/5762882 | |
| 4 | |
| 5 description('Test that any numbered header element end tag can close any other o
pen numbered header element.'); | |
| 6 | |
| 7 var testParent = document.createElement('div'); | |
| 8 testParent.id = 'test0'; | |
| 9 document.body.appendChild(testParent); | |
| 10 | |
| 11 // h1 | |
| 12 | |
| 13 debug('<h1> closes <h1>:'); | |
| 14 testParent.innerHTML = '<h1 id="test1"></h1><div id="test2"></div><p>Test that &
lt;h1> closes <h1.</p>'; | |
| 15 var h1 = document.getElementById('test2'); | |
| 16 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 17 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 18 | |
| 19 debug('<h2> closes <h1>:'); | |
| 20 testParent.innerHTML = '<h1 id="test1"></h2><div id="test2"></div><p>Test that &
lt;h2> closes <h1.</p>'; | |
| 21 var h1 = document.getElementById('test2'); | |
| 22 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 23 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 24 | |
| 25 debug('<h3> closes <h1>:'); | |
| 26 testParent.innerHTML = '<h1 id="test1"></h3><div id="test2"></div><p>Test that &
lt;h3> closes <h1.</p>'; | |
| 27 var h1 = document.getElementById('test2'); | |
| 28 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 29 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 30 | |
| 31 debug('<h4> closes <h1>:'); | |
| 32 testParent.innerHTML = '<h1 id="test1"></h4><div id="test2"></div><p>Test that &
lt;h4> closes <h1.</p>'; | |
| 33 var h1 = document.getElementById('test2'); | |
| 34 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 35 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 36 | |
| 37 debug('<h5> closes <h1>:'); | |
| 38 testParent.innerHTML = '<h1 id="test1"></h5><div id="test2"></div><p>Test that &
lt;h5> closes <h1.</p>'; | |
| 39 var h1 = document.getElementById('test2'); | |
| 40 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 41 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 42 | |
| 43 debug('<h6> closes <h1>:'); | |
| 44 testParent.innerHTML = '<h1 id="test1"></h6><div id="test2"></div><p>Test that &
lt;h6> closes <h1.</p>'; | |
| 45 var h1 = document.getElementById('test2'); | |
| 46 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 47 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 48 | |
| 49 // h2 | |
| 50 | |
| 51 debug('<h1> closes <h2>:'); | |
| 52 testParent.innerHTML = '<h2 id="test1"></h1><div id="test2"></div><p>Test that &
lt;h1> closes <h2.</p>'; | |
| 53 var h1 = document.getElementById('test2'); | |
| 54 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 55 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 56 | |
| 57 debug('<h2> closes <h2>:'); | |
| 58 testParent.innerHTML = '<h2 id="test1"></h2><div id="test2"></div><p>Test that &
lt;h2> closes <h2.</p>'; | |
| 59 var h1 = document.getElementById('test2'); | |
| 60 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 61 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 62 | |
| 63 debug('<h3> closes <h2>:'); | |
| 64 testParent.innerHTML = '<h2 id="test1"></h3><div id="test2"></div><p>Test that &
lt;h3> closes <h2.</p>'; | |
| 65 var h1 = document.getElementById('test2'); | |
| 66 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 67 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 68 | |
| 69 debug('<h4> closes <h2>:'); | |
| 70 testParent.innerHTML = '<h2 id="test1"></h4><div id="test2"></div><p>Test that &
lt;h4> closes <h2.</p>'; | |
| 71 var h1 = document.getElementById('test2'); | |
| 72 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 73 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 74 | |
| 75 debug('<h5> closes <h2>:'); | |
| 76 testParent.innerHTML = '<h2 id="test1"></h5><div id="test2"></div><p>Test that &
lt;h5> closes <h2.</p>'; | |
| 77 var h1 = document.getElementById('test2'); | |
| 78 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 79 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 80 | |
| 81 debug('<h6> closes <h2>:'); | |
| 82 testParent.innerHTML = '<h2 id="test1"></h6><div id="test2"></div><p>Test that &
lt;h6> closes <h2.</p>'; | |
| 83 var h1 = document.getElementById('test2'); | |
| 84 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 85 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 86 | |
| 87 // h3 | |
| 88 | |
| 89 debug('<h1> closes <h3>:'); | |
| 90 testParent.innerHTML = '<h3 id="test1"></h1><div id="test2"></div><p>Test that &
lt;h1> closes <h3.</p>'; | |
| 91 var h1 = document.getElementById('test2'); | |
| 92 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 93 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 94 | |
| 95 debug('<h2> closes <h3>:'); | |
| 96 testParent.innerHTML = '<h3 id="test1"></h2><div id="test2"></div><p>Test that &
lt;h2> closes <h3.</p>'; | |
| 97 var h1 = document.getElementById('test2'); | |
| 98 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 99 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 100 | |
| 101 debug('<h3> closes <h3>:'); | |
| 102 testParent.innerHTML = '<h3 id="test1"></h3><div id="test2"></div><p>Test that &
lt;h3> closes <h3.</p>'; | |
| 103 var h1 = document.getElementById('test2'); | |
| 104 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 105 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 106 | |
| 107 debug('<h4> closes <h3>:'); | |
| 108 testParent.innerHTML = '<h3 id="test1"></h4><div id="test2"></div><p>Test that &
lt;h4> closes <h3.</p>'; | |
| 109 var h1 = document.getElementById('test2'); | |
| 110 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 111 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 112 | |
| 113 debug('<h5> closes <h3>:'); | |
| 114 testParent.innerHTML = '<h3 id="test1"></h5><div id="test2"></div><p>Test that &
lt;h5> closes <h3.</p>'; | |
| 115 var h1 = document.getElementById('test2'); | |
| 116 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 117 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 118 | |
| 119 debug('<h6> closes <h3>:'); | |
| 120 testParent.innerHTML = '<h3 id="test1"></h6><div id="test2"></div><p>Test that &
lt;h6> closes <h3.</p>'; | |
| 121 var h1 = document.getElementById('test2'); | |
| 122 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 123 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 124 | |
| 125 // h4 | |
| 126 | |
| 127 debug('<h1> closes <h4>:'); | |
| 128 testParent.innerHTML = '<h4 id="test1"></h1><div id="test2"></div><p>Test that &
lt;h1> closes <h4.</p>'; | |
| 129 var h1 = document.getElementById('test2'); | |
| 130 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 131 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 132 | |
| 133 debug('<h2> closes <h4>:'); | |
| 134 testParent.innerHTML = '<h4 id="test1"></h2><div id="test2"></div><p>Test that &
lt;h2> closes <h4.</p>'; | |
| 135 var h1 = document.getElementById('test2'); | |
| 136 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 137 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 138 | |
| 139 debug('<h3> closes <h4>:'); | |
| 140 testParent.innerHTML = '<h4 id="test1"></h3><div id="test2"></div><p>Test that &
lt;h3> closes <h4.</p>'; | |
| 141 var h1 = document.getElementById('test2'); | |
| 142 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 143 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 144 | |
| 145 debug('<h4> closes <h4>:'); | |
| 146 testParent.innerHTML = '<h4 id="test1"></h4><div id="test2"></div><p>Test that &
lt;h4> closes <h4.</p>'; | |
| 147 var h1 = document.getElementById('test2'); | |
| 148 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 149 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 150 | |
| 151 debug('<h5> closes <h4>:'); | |
| 152 testParent.innerHTML = '<h4 id="test1"></h5><div id="test2"></div><p>Test that &
lt;h5> closes <h4.</p>'; | |
| 153 var h1 = document.getElementById('test2'); | |
| 154 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 155 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 156 | |
| 157 debug('<h6> closes <h4>:'); | |
| 158 testParent.innerHTML = '<h4 id="test1"></h6><div id="test2"></div><p>Test that &
lt;h6> closes <h4.</p>'; | |
| 159 var h1 = document.getElementById('test2'); | |
| 160 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 161 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 162 | |
| 163 // h5 | |
| 164 | |
| 165 debug('<h1> closes <h5>:'); | |
| 166 testParent.innerHTML = '<h5 id="test1"></h1><div id="test2"></div><p>Test that &
lt;h1> closes <h5.</p>'; | |
| 167 var h1 = document.getElementById('test2'); | |
| 168 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 169 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 170 | |
| 171 debug('<h2> closes <h5>:'); | |
| 172 testParent.innerHTML = '<h5 id="test1"></h2><div id="test2"></div><p>Test that &
lt;h2> closes <h5.</p>'; | |
| 173 var h1 = document.getElementById('test2'); | |
| 174 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 175 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 176 | |
| 177 debug('<h3> closes <h5>:'); | |
| 178 testParent.innerHTML = '<h5 id="test1"></h3><div id="test2"></div><p>Test that &
lt;h3> closes <h5.</p>'; | |
| 179 var h1 = document.getElementById('test2'); | |
| 180 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 181 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 182 | |
| 183 debug('<h4> closes <h5>:'); | |
| 184 testParent.innerHTML = '<h5 id="test1"></h4><div id="test2"></div><p>Test that &
lt;h4> closes <h5.</p>'; | |
| 185 var h1 = document.getElementById('test2'); | |
| 186 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 187 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 188 | |
| 189 debug('<h5> closes <h5>:'); | |
| 190 testParent.innerHTML = '<h5 id="test1"></h5><div id="test2"></div><p>Test that &
lt;h5> closes <h5.</p>'; | |
| 191 var h1 = document.getElementById('test2'); | |
| 192 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 193 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 194 | |
| 195 debug('<h6> closes <h5>:'); | |
| 196 testParent.innerHTML = '<h5 id="test1"></h6><div id="test2"></div><p>Test that &
lt;h6> closes <h5.</p>'; | |
| 197 var h1 = document.getElementById('test2'); | |
| 198 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 199 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 200 | |
| 201 // h6 | |
| 202 | |
| 203 debug('<h1> closes <h6>:'); | |
| 204 testParent.innerHTML = '<h6 id="test1"></h1><div id="test2"></div><p>Test that &
lt;h1> closes <h6.</p>'; | |
| 205 var h1 = document.getElementById('test2'); | |
| 206 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 207 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 208 | |
| 209 debug('<h2> closes <h6>:'); | |
| 210 testParent.innerHTML = '<h6 id="test1"></h2><div id="test2"></div><p>Test that &
lt;h2> closes <h6.</p>'; | |
| 211 var h1 = document.getElementById('test2'); | |
| 212 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 213 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 214 | |
| 215 debug('<h3> closes <h6>:'); | |
| 216 testParent.innerHTML = '<h6 id="test1"></h3><div id="test2"></div><p>Test that &
lt;h3> closes <h6.</p>'; | |
| 217 var h1 = document.getElementById('test2'); | |
| 218 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 219 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 220 | |
| 221 debug('<h4> closes <h6>:'); | |
| 222 testParent.innerHTML = '<h6 id="test1"></h4><div id="test2"></div><p>Test that &
lt;h4> closes <h6.</p>'; | |
| 223 var h1 = document.getElementById('test2'); | |
| 224 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 225 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 226 | |
| 227 debug('<h5> closes <h6>:'); | |
| 228 testParent.innerHTML = '<h6 id="test1"></h5><div id="test2"></div><p>Test that &
lt;h5> closes <h6.</p>'; | |
| 229 var h1 = document.getElementById('test2'); | |
| 230 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 231 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 232 | |
| 233 debug('<h6> closes <h6>:'); | |
| 234 testParent.innerHTML = '<h6 id="test1"></h6><div id="test2"></div><p>Test that &
lt;h6> closes <h6.</p>'; | |
| 235 var h1 = document.getElementById('test2'); | |
| 236 shouldBeFalse('test2.parentNode.id == "test1"'); | |
| 237 shouldBeTrue('test2.parentNode.id == "test0"'); | |
| 238 | |
| 239 document.body.removeChild(testParent); | |
| OLD | NEW |