tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>