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

Side by Side Diff: test/mjsunit/es6/collection-iterator.js

Issue 664333003: Add remaining @@toStringTag symbols to builtins (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Make heap-snapshot-generator not explode Created 6 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « test/mjsunit/es6/array-iterator.js ('k') | test/mjsunit/es6/json.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Flags: --allow-natives-syntax 5 // Flags: --allow-natives-syntax --harmony-tostring
6 6
7 7
8 (function TestSetIterator() { 8 (function TestSetIterator() {
9 var s = new Set; 9 var s = new Set;
10 var iter = s.values(); 10 var iter = s.values();
11 assertEquals('Set Iterator', %_ClassOf(iter)); 11 assertEquals('Set Iterator', %_ClassOf(iter));
12 12
13 var SetIteratorPrototype = iter.__proto__; 13 var SetIteratorPrototype = iter.__proto__;
14 assertFalse(SetIteratorPrototype.hasOwnProperty('constructor')); 14 assertFalse(SetIteratorPrototype.hasOwnProperty('constructor'));
15 assertEquals(SetIteratorPrototype.__proto__, Object.prototype); 15 assertEquals(SetIteratorPrototype.__proto__, Object.prototype);
16 16
17 var propertyNames = Object.getOwnPropertyNames(SetIteratorPrototype); 17 var propertyNames = Object.getOwnPropertyNames(SetIteratorPrototype);
18 assertArrayEquals(['next'], propertyNames); 18 assertArrayEquals(['next'], propertyNames);
19 19
20 assertEquals(new Set().values().__proto__, SetIteratorPrototype); 20 assertEquals(new Set().values().__proto__, SetIteratorPrototype);
21 assertEquals(new Set().entries().__proto__, SetIteratorPrototype); 21 assertEquals(new Set().entries().__proto__, SetIteratorPrototype);
22
23 assertEquals("[object Set Iterator]",
24 Object.prototype.toString.call(iter));
25 assertEquals("Set Iterator", SetIteratorPrototype[Symbol.toStringTag]);
26 var desc = Object.getOwnPropertyDescriptor(
27 SetIteratorPrototype, Symbol.toStringTag);
28 assertTrue(desc.configurable);
29 assertFalse(desc.writable);
30 assertEquals("Set Iterator", desc.value);
22 })(); 31 })();
23 32
24 33
25 (function TestSetIteratorValues() { 34 (function TestSetIteratorValues() {
26 var s = new Set; 35 var s = new Set;
27 s.add(1); 36 s.add(1);
28 s.add(2); 37 s.add(2);
29 s.add(3); 38 s.add(3);
30 var iter = s.values(); 39 var iter = s.values();
31 40
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 var MapIteratorPrototype = iter.__proto__; 122 var MapIteratorPrototype = iter.__proto__;
114 assertFalse(MapIteratorPrototype.hasOwnProperty('constructor')); 123 assertFalse(MapIteratorPrototype.hasOwnProperty('constructor'));
115 assertEquals(MapIteratorPrototype.__proto__, Object.prototype); 124 assertEquals(MapIteratorPrototype.__proto__, Object.prototype);
116 125
117 var propertyNames = Object.getOwnPropertyNames(MapIteratorPrototype); 126 var propertyNames = Object.getOwnPropertyNames(MapIteratorPrototype);
118 assertArrayEquals(['next'], propertyNames); 127 assertArrayEquals(['next'], propertyNames);
119 128
120 assertEquals(new Map().values().__proto__, MapIteratorPrototype); 129 assertEquals(new Map().values().__proto__, MapIteratorPrototype);
121 assertEquals(new Map().keys().__proto__, MapIteratorPrototype); 130 assertEquals(new Map().keys().__proto__, MapIteratorPrototype);
122 assertEquals(new Map().entries().__proto__, MapIteratorPrototype); 131 assertEquals(new Map().entries().__proto__, MapIteratorPrototype);
132
133 assertEquals("[object Map Iterator]",
134 Object.prototype.toString.call(iter));
135 assertEquals("Map Iterator", MapIteratorPrototype[Symbol.toStringTag]);
136 var desc = Object.getOwnPropertyDescriptor(
137 MapIteratorPrototype, Symbol.toStringTag);
138 assertTrue(desc.configurable);
139 assertFalse(desc.writable);
140 assertEquals("Map Iterator", desc.value);
123 })(); 141 })();
124 142
125 143
126 (function TestMapIteratorValues() { 144 (function TestMapIteratorValues() {
127 var m = new Map; 145 var m = new Map;
128 m.set(1, 11); 146 m.set(1, 11);
129 m.set(2, 22); 147 m.set(2, 22);
130 m.set(3, 33); 148 m.set(3, 33);
131 var iter = m.values(); 149 var iter = m.values();
132 150
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 209
192 (function TestMapIteratorSymbol() { 210 (function TestMapIteratorSymbol() {
193 assertEquals(Map.prototype[Symbol.iterator], Map.prototype.entries); 211 assertEquals(Map.prototype[Symbol.iterator], Map.prototype.entries);
194 assertTrue(Map.prototype.hasOwnProperty(Symbol.iterator)); 212 assertTrue(Map.prototype.hasOwnProperty(Symbol.iterator));
195 assertFalse(Map.prototype.propertyIsEnumerable(Symbol.iterator)); 213 assertFalse(Map.prototype.propertyIsEnumerable(Symbol.iterator));
196 214
197 var iter = new Map().values(); 215 var iter = new Map().values();
198 assertEquals(iter, iter[Symbol.iterator]()); 216 assertEquals(iter, iter[Symbol.iterator]());
199 assertEquals(iter[Symbol.iterator].name, '[Symbol.iterator]'); 217 assertEquals(iter[Symbol.iterator].name, '[Symbol.iterator]');
200 })(); 218 })();
OLDNEW
« no previous file with comments | « test/mjsunit/es6/array-iterator.js ('k') | test/mjsunit/es6/json.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698