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