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

Side by Side Diff: tests/language/compile_time_constant_b_test.dart

Issue 11267018: Make getKeys, getValues getters (keys, values). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Update status files with co19 issue number. Created 8 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 | « tests/language/compile_time_constant_a_test.dart ('k') | tests/language/ct_const_test.dart » ('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 (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 const m1 = const { '__proto__': 400 + 99 }; 5 const m1 = const { '__proto__': 400 + 99 };
6 const m2 = const { 'a': 499, 'b': 42 }; 6 const m2 = const { 'a': 499, 'b': 42 };
7 const m3 = const { '__proto__': 499 }; 7 const m3 = const { '__proto__': 499 };
8 8
9 bool isUnsupportedError(o) => o is UnsupportedError; 9 bool isUnsupportedError(o) => o is UnsupportedError;
10 10
11 main() { 11 main() {
12 Expect.equals(499, m1['__proto__']); 12 Expect.equals(499, m1['__proto__']);
13 Expect.equals(null, m1['b']); 13 Expect.equals(null, m1['b']);
14 Expect.listEquals(['__proto__'], m1.getKeys()); 14 Expect.listEquals(['__proto__'], m1.keys);
15 Expect.listEquals([499], m1.getValues()); 15 Expect.listEquals([499], m1.values);
16 Expect.isTrue(m1.containsKey('__proto__')); 16 Expect.isTrue(m1.containsKey('__proto__'));
17 Expect.isFalse(m1.containsKey('toString')); 17 Expect.isFalse(m1.containsKey('toString'));
18 Expect.isTrue(m1.containsValue(499)); 18 Expect.isTrue(m1.containsValue(499));
19 Expect.isFalse(m1.containsValue(null)); 19 Expect.isFalse(m1.containsValue(null));
20 var seenKeys = []; 20 var seenKeys = [];
21 var seenValues = []; 21 var seenValues = [];
22 m1.forEach((key, value) { 22 m1.forEach((key, value) {
23 seenKeys.add(key); 23 seenKeys.add(key);
24 seenValues.add(value); 24 seenValues.add(value);
25 }); 25 });
26 Expect.listEquals(['__proto__'], seenKeys); 26 Expect.listEquals(['__proto__'], seenKeys);
27 Expect.listEquals([499], seenValues); 27 Expect.listEquals([499], seenValues);
28 Expect.isFalse(m1.isEmpty); 28 Expect.isFalse(m1.isEmpty);
29 Expect.equals(1, m1.length); 29 Expect.equals(1, m1.length);
30 Expect.throws(() => m1.remove('__proto__'), isUnsupportedError); 30 Expect.throws(() => m1.remove('__proto__'), isUnsupportedError);
31 Expect.throws(() => m1.remove('b'), isUnsupportedError); 31 Expect.throws(() => m1.remove('b'), isUnsupportedError);
32 Expect.throws(() => m1.clear(), isUnsupportedError); 32 Expect.throws(() => m1.clear(), isUnsupportedError);
33 Expect.throws(() => m1['b'] = 42, isUnsupportedError); 33 Expect.throws(() => m1['b'] = 42, isUnsupportedError);
34 Expect.throws(() => m1['__proto__'] = 499, isUnsupportedError); 34 Expect.throws(() => m1['__proto__'] = 499, isUnsupportedError);
35 Expect.throws(() => m1.putIfAbsent('__proto__', () => 499), 35 Expect.throws(() => m1.putIfAbsent('__proto__', () => 499),
36 isUnsupportedError); 36 isUnsupportedError);
37 Expect.throws(() => m1.putIfAbsent('z', () => 499), isUnsupportedError); 37 Expect.throws(() => m1.putIfAbsent('z', () => 499), isUnsupportedError);
38 38
39 Expect.equals(499, m2['a']); 39 Expect.equals(499, m2['a']);
40 Expect.equals(42, m2['b']); 40 Expect.equals(42, m2['b']);
41 Expect.equals(null, m2['c']); 41 Expect.equals(null, m2['c']);
42 Expect.equals(null, m2['__proto__']); 42 Expect.equals(null, m2['__proto__']);
43 Expect.listEquals(['a', 'b'], m2.getKeys()); 43 Expect.listEquals(['a', 'b'], m2.keys);
44 Expect.listEquals([499, 42], m2.getValues()); 44 Expect.listEquals([499, 42], m2.values);
45 Expect.isTrue(m2.containsKey('a')); 45 Expect.isTrue(m2.containsKey('a'));
46 Expect.isTrue(m2.containsKey('b')); 46 Expect.isTrue(m2.containsKey('b'));
47 Expect.isFalse(m2.containsKey('toString')); 47 Expect.isFalse(m2.containsKey('toString'));
48 Expect.isFalse(m2.containsKey('__proto__')); 48 Expect.isFalse(m2.containsKey('__proto__'));
49 Expect.isTrue(m2.containsValue(499)); 49 Expect.isTrue(m2.containsValue(499));
50 Expect.isTrue(m2.containsValue(42)); 50 Expect.isTrue(m2.containsValue(42));
51 Expect.isFalse(m2.containsValue(null)); 51 Expect.isFalse(m2.containsValue(null));
52 seenKeys = []; 52 seenKeys = [];
53 seenValues = []; 53 seenValues = [];
54 m2.forEach((key, value) { 54 m2.forEach((key, value) {
(...skipping 11 matching lines...) Expand all
66 Expect.throws(() => m2['a'] = 499, isUnsupportedError); 66 Expect.throws(() => m2['a'] = 499, isUnsupportedError);
67 Expect.throws(() => m2['b'] = 42, isUnsupportedError); 67 Expect.throws(() => m2['b'] = 42, isUnsupportedError);
68 Expect.throws(() => m2['__proto__'] = 499, isUnsupportedError); 68 Expect.throws(() => m2['__proto__'] = 499, isUnsupportedError);
69 Expect.throws(() => m2.putIfAbsent('a', () => 499), isUnsupportedError); 69 Expect.throws(() => m2.putIfAbsent('a', () => 499), isUnsupportedError);
70 Expect.throws(() => m2.putIfAbsent('__proto__', () => 499), 70 Expect.throws(() => m2.putIfAbsent('__proto__', () => 499),
71 isUnsupportedError); 71 isUnsupportedError);
72 Expect.throws(() => m2['a'] = 499, isUnsupportedError); 72 Expect.throws(() => m2['a'] = 499, isUnsupportedError);
73 73
74 Expect.isTrue(m1 === m3); 74 Expect.isTrue(m1 === m3);
75 } 75 }
OLDNEW
« no previous file with comments | « tests/language/compile_time_constant_a_test.dart ('k') | tests/language/ct_const_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698