nameditem-07.html (8640B)
1 <!DOCTYPE html> 2 <meta charset=utf-8> 3 <title>Named items: objects</title> 4 <link rel="help" href="https://html.spec.whatwg.org/multipage/dom.html#dom-document-nameditem"> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <div id="log"></div> 8 <div id="test"> 9 <object name=test1></object> 10 11 <object name=test2></object> 12 <object name=test2></object> 13 14 <object id=test3></object> 15 16 <object id=test4></object> 17 <object id=test4></object> 18 19 <object name=test5></object> 20 <object id=test5></object> 21 22 <object id=test6></object> 23 <object name=test6></object> 24 25 <object name=test7></object> 26 27 <object id=test8></object> 28 29 <object id=test9a></object> 30 31 <object name=test10a></object> 32 33 <object name=test11a id=test11b></object> 34 </div> 35 <script> 36 test(function() { 37 var object = document.getElementsByTagName("object")[0]; 38 assert_equals(object.name, "test1"); 39 40 assert_true("test1" in document, '"test1" in document should be true'); 41 assert_equals(document.test1, object); 42 }, "If there is one object, it should be returned (name)"); 43 44 test(function() { 45 var object1 = document.getElementsByTagName("object")[1]; 46 assert_equals(object1.name, "test2"); 47 var object2 = document.getElementsByTagName("object")[2]; 48 assert_equals(object2.name, "test2"); 49 50 assert_true("test2" in document, '"test2" in document should be true'); 51 var collection = document.test2; 52 assert_class_string(collection, "HTMLCollection", "collection should be an HTMLCollection"); 53 assert_array_equals(collection, [object1, object2]); 54 }, "If there are two objects, a collection should be returned. (name)"); 55 56 test(function() { 57 var object = document.getElementsByTagName("object")[3]; 58 assert_equals(object.id, "test3"); 59 60 assert_true("test3" in document, '"test3" in document should be true'); 61 assert_equals(document.test3, object); 62 }, "If there is one object, it should be returned (id)"); 63 64 test(function() { 65 var object1 = document.getElementsByTagName("object")[4]; 66 assert_equals(object1.id, "test4"); 67 var object2 = document.getElementsByTagName("object")[5]; 68 assert_equals(object2.id, "test4"); 69 70 assert_true("test4" in document, '"test4" in document should be true'); 71 var collection = document.test4; 72 assert_class_string(collection, "HTMLCollection", "collection should be an HTMLCollection"); 73 assert_array_equals(collection, [object1, object2]); 74 }, "If there are two objects, a collection should be returned. (id)"); 75 76 test(function() { 77 var object1 = document.getElementsByTagName("object")[6]; 78 assert_equals(object1.name, "test5"); 79 var object2 = document.getElementsByTagName("object")[7]; 80 assert_equals(object2.id, "test5"); 81 82 assert_true("test5" in document, '"test5" in document should be true'); 83 var collection = document.test5; 84 assert_class_string(collection, "HTMLCollection", "collection should be an HTMLCollection"); 85 assert_array_equals(collection, [object1, object2]); 86 }, "If there are two objects, a collection should be returned. (name and id)"); 87 88 test(function() { 89 var object1 = document.getElementsByTagName("object")[8]; 90 assert_equals(object1.id, "test6"); 91 var object2 = document.getElementsByTagName("object")[9]; 92 assert_equals(object2.name, "test6"); 93 94 assert_true("test6" in document, '"test6" in document should be true'); 95 var collection = document.test6; 96 assert_class_string(collection, "HTMLCollection", "collection should be an HTMLCollection"); 97 assert_array_equals(collection, [object1, object2]); 98 }, "If there are two objects, a collection should be returned. (id and name)"); 99 100 test(function() { 101 var object = document.getElementsByTagName("object")[10]; 102 assert_equals(object.name, "test7"); 103 104 assert_true("test7" in document, 'test7 in document should be true'); 105 assert_equals(document["test7"], object); 106 assert_equals(document.test7, object); 107 108 object.removeAttribute("name"); 109 assert_false("test7" in document, 'test7 in document should be false'); 110 assert_equals(document["test7"], undefined); 111 assert_equals(document.test7, undefined); 112 }, "Dynamically removing the name attribute from object elements, should not be accessible."); 113 114 test(function() { 115 var object = document.getElementsByTagName("object")[11]; 116 assert_equals(object.id, "test8"); 117 118 assert_true("test8" in document, 'test8 in document should be true'); 119 assert_equals(document["test8"], object); 120 assert_equals(document.test8, object); 121 122 object.removeAttribute("id"); 123 assert_false("test8" in document, 'test8 in document should be false'); 124 assert_equals(document["test8"], undefined); 125 assert_equals(document.test8, undefined); 126 }, "Dynamically removing the id attribute from object elements, should not be accessible."); 127 128 test(function() { 129 var object = document.getElementsByTagName("object")[12]; 130 assert_equals(object.id, "test9a"); 131 assert_true("test9a" in document, 'test9a in document should be true'); 132 assert_equals(document["test9a"], object); 133 assert_equals(document.test9a, object); 134 135 object.setAttribute("name", "test9a"); 136 assert_true("test9a" in document, 'test9a in document should be true'); 137 assert_equals(document["test9a"], object); 138 assert_equals(document.test9a, object); 139 140 object.setAttribute("name", "test9b"); 141 assert_true("test9a" in document, 'test9a in document should be true'); 142 assert_equals(document["test9a"], object); 143 assert_equals(document.test9a, object); 144 assert_true("test9b" in document, 'test9b in document should be true'); 145 assert_equals(document["test9b"], object); 146 assert_equals(document.test9b, object); 147 148 object.setAttribute("name", "test9c"); 149 assert_true("test9a" in document, 'test9a in document should be true'); 150 assert_equals(document["test9a"], object); 151 assert_equals(document.test9a, object); 152 assert_false("test9b" in document, 'test9b in document should be false'); 153 assert_equals(document["test9b"], undefined); 154 assert_equals(document.test9b, undefined); 155 assert_true("test9c" in document, 'test9c in document should be true'); 156 assert_equals(document["test9c"], object); 157 assert_equals(document.test9c, object); 158 }, "Dynamically updating the name attribute from object elements, should be accessible by its name and id."); 159 160 test(function() { 161 var object = document.getElementsByTagName("object")[13]; 162 assert_equals(object.name, "test10a"); 163 assert_true("test10a" in document, 'test11a in document should be true'); 164 assert_equals(document["test10a"], object); 165 assert_equals(document.test10a, object); 166 167 object.setAttribute("id", "test10a"); 168 assert_true("test10a" in document, 'test10a in document should be true'); 169 assert_equals(document["test10a"], object); 170 assert_equals(document.test10a, object); 171 172 object.setAttribute("id", "test10b"); 173 assert_true("test10a" in document, 'test10a in document should be true'); 174 assert_equals(document["test10a"], object); 175 assert_equals(document.test10a, object); 176 assert_true("test10b" in document, 'test10b in document should be false'); 177 assert_equals(document["test10b"], object); 178 assert_equals(document.test10b, object); 179 180 object.setAttribute("id", "test10c"); 181 assert_true("test10a" in document, 'test10a in document should be true'); 182 assert_equals(document["test10a"], object); 183 assert_equals(document.test10a, object); 184 assert_false("test10b" in document, 'test10b in document should be false'); 185 assert_equals(document["test10b"], undefined); 186 assert_equals(document.test10b, undefined); 187 assert_true("test10c" in document, 'test10b in document should be false'); 188 assert_equals(document["test10c"], object); 189 assert_equals(document.test10c, object); 190 }, "Dynamically updating the id attribute from object elements, should be accessible by its name and id."); 191 192 test(function() { 193 var object = document.getElementsByTagName("object")[14]; 194 assert_equals(object.name, "test11a"); 195 assert_equals(object.id, "test11b"); 196 197 assert_true("test11a" in document, 'test11a in document should be true'); 198 assert_equals(document["test11a"], object); 199 assert_equals(document.test11a, object); 200 assert_true("test11b" in document, 'test11b in document should be true'); 201 assert_equals(document["test11b"], object); 202 assert_equals(document.test11b, object); 203 204 object.remove(); 205 assert_false("test11a" in document, 'test11a in document should be false'); 206 assert_equals(document["test11a"], undefined); 207 assert_equals(document.test11a, undefined); 208 assert_false("test11b" in document, 'test11b in document should be false'); 209 assert_equals(document["test11b"], undefined); 210 assert_equals(document.test11b, undefined); 211 }, "object elements that is removed, should not be accessible."); 212 </script>