blob: 20e0dd558d209d42b98545d8f5317327e0d06fbf [file] [log] [blame]
ap@apple.com7d23e362010-06-11 17:54:27 +00001<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2<html>
3<head>
mark.lam@apple.com93720da2013-09-07 23:31:07 +00004<script src="../../resources/js-test-pre.js"></script>
ap@apple.com7d23e362010-06-11 17:54:27 +00005</head>
6<body>
7<p id="description"></p>
8
9<form>
10<span id="testSpan">
11<img id="1" name="imageElement">
12</span>
13</form>
14
15<div id="console"></div>
16<script>
17function debugLog(s) {
18 var console = document.getElementById("console");
19 console.appendChild(document.createTextNode(s));
20 console.appendChild(document.createElement("br"));
21}
22
23var form = document.forms[0];
24var span = document.getElementsByTagName('span')[0];
25shouldBe("form.imageElement.id", "'1'");
26
27span.innerHTML = "<img id='2' name='imageElement'>";
28shouldBe("form.imageElement.id", "'2'");
rniwa@webkit.org490739f2013-08-28 18:28:55 +000029shouldBe("form.imageElement.name = 'foo'; form.foo.id", "'2'");
30shouldBe("form.imageElement", "form.foo");
ap@apple.com7d23e362010-06-11 17:54:27 +000031
32span.innerHTML = "<img id='2' name='newImage'>";
rniwa@webkit.org490739f2013-08-28 18:28:55 +000033shouldBeFalse("!!form.imageElement");
ap@apple.com7d23e362010-06-11 17:54:27 +000034
35// This quirk has no bearing on document. access
36shouldBeUndefined("document.imageElement");
37
38// Of coruse, the new image should be accessible both ways.
39shouldBeTrue("!!document.newImage");
40shouldBeTrue("!!form.newImage");
41
42// However, if you never access an image element by name it does not stick around after being removed:
43span.innerHTML = "<img id='3' name='thirdImage'>";
44span.innerHTML = "<img id='4' name='fourthImage'>";
45shouldBeUndefined("form.thirdImage");
ap@apple.com7d23e362010-06-11 17:54:27 +000046</script>
mark.lam@apple.com93720da2013-09-07 23:31:07 +000047<script src="../../resources/js-test-post.js"></script>
ap@apple.com7d23e362010-06-11 17:54:27 +000048</body>
49</html>