Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Side by Side Diff: third_party/WebKit/LayoutTests/imported/wpt/dom/collections/HTMLCollection-supported-property-names.html

Issue 2408493002: Import wpt@357b83b809e3cbc7a1805e7c3ca108a7980d782f (Closed)
Patch Set: Added one more win7-specific baseline Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!doctype html> 1 <!doctype html>
2 <meta charset=utf-8> 2 <meta charset=utf-8>
3 <link rel=help href=https://dom.spec.whatwg.org/#interface-htmlcollection> 3 <link rel=help href=https://dom.spec.whatwg.org/#interface-htmlcollection>
4 <script src=/resources/testharness.js></script> 4 <script src=/resources/testharness.js></script>
5 <script src=/resources/testharnessreport.js></script> 5 <script src=/resources/testharnessreport.js></script>
6 6
7 <div id=log></div> 7 <div id=log></div>
8 8
9 <!-- with no attribute --> 9 <!-- with no attribute -->
10 <span></span> 10 <span></span>
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 test(function () { 44 test(function () {
45 var elem = document.createElement('foo'); 45 var elem = document.createElement('foo');
46 this.add_cleanup(function () {elem.remove();}); 46 this.add_cleanup(function () {elem.remove();});
47 document.body.appendChild(elem); 47 document.body.appendChild(elem);
48 48
49 var elements = document.getElementsByTagName("foo"); 49 var elements = document.getElementsByTagName("foo");
50 elements.someProperty = "some value"; 50 elements.someProperty = "some value";
51 51
52 assert_array_equals(Object.getOwnPropertyNames(elements), ['0', 'someProperty' ]); 52 assert_array_equals(Object.getOwnPropertyNames(elements), ['0', 'someProperty' ]);
53 }, 'Object.getOwnPropertyNames on HTMLCollection with expando object'); 53 }, 'Object.getOwnPropertyNames on HTMLCollection with expando object');
54
55 test(function() {
56 var elements = document.getElementsByTagName("span");
57 var old_item = elements["some-id"];
58 var old_desc = Object.getOwnPropertyDescriptor(elements, "some-id");
59 assert_equals(old_desc.value, old_item);
60 assert_false(old_desc.enumerable);
61 assert_true(old_desc.configurable);
62 assert_false(old_desc.writable);
63
64 elements["some-id"] = 5;
65 assert_equals(elements["some-id"], old_item);
66 assert_throws(new TypeError(), function() {
67 "use strict";
68 elements["some-id"] = 5;
69 });
70 assert_throws(new TypeError(), function() {
71 Object.defineProperty(elements, "some-id", { value: 5 });
72 });
73
74 delete elements["some-id"];
75 assert_equals(elements["some-id"], old_item);
76
77 assert_throws(new TypeError(), function() {
78 "use strict";
79 delete elements["some-id"];
80 });
81 assert_equals(elements["some-id"], old_item);
82
83 }, 'Trying to set an expando that would shadow an already-existing named propert y');
84
85 test(function() {
86 var elements = document.getElementsByTagName("span");
87 var old_item = elements["new-id"];
88 var old_desc = Object.getOwnPropertyDescriptor(elements, "new-id");
89 assert_equals(old_item, undefined);
90 assert_equals(old_desc, undefined);
91
92 elements["new-id"] = 5;
93 assert_equals(elements["new-id"], 5);
94
95 var span = document.createElement("span");
96 this.add_cleanup(function () {span.remove();});
97 span.id = "new-id";
98 document.body.appendChild(span);
99
100 assert_equals(elements.namedItem("new-id"), span);
101 assert_equals(elements["new-id"], 5);
102
103 delete elements["new-id"];
104 assert_equals(elements["new-id"], span);
105 }, 'Trying to set an expando that shadows a named property that gets added later ');
106
107 test(function() {
108 var elements = document.getElementsByTagName("span");
109 var old_item = elements["new-id2"];
110 var old_desc = Object.getOwnPropertyDescriptor(elements, "new-id2");
111 assert_equals(old_item, undefined);
112 assert_equals(old_desc, undefined);
113
114 Object.defineProperty(elements, "new-id2", { configurable: false, writable:
115 false, value: 5 });
116 assert_equals(elements["new-id2"], 5);
117
118 var span = document.createElement("span");
119 this.add_cleanup(function () {span.remove();});
120 span.id = "new-id2";
121 document.body.appendChild(span);
122
123 assert_equals(elements.namedItem("new-id2"), span);
124 assert_equals(elements["new-id2"], 5);
125
126 delete elements["new-id2"];
127 assert_equals(elements["new-id2"], 5);
128
129 assert_throws(new TypeError(), function() {
130 "use strict";
131 delete elements["new-id2"];
132 });
133 assert_equals(elements["new-id2"], 5);
134 }, 'Trying to set a non-configurable expando that shadows a named property that gets added later');
54 </script> 135 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698