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

Side by Side Diff: tests/language/src/CompileTimeConstantBTest.dart

Issue 10248007: test rename overhaul: step 8 - language tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 7 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 | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 final m1 = const { '__proto__': 400 + 99 };
6 final m2 = const { 'a': 499, 'b': 42 };
7 final m3 = const { '__proto__': 499 };
8
9 bool isIllegalAccessException(o) => o is IllegalAccessException;
10
11 main() {
12 Expect.equals(499, m1['__proto__']);
13 Expect.equals(null, m1['b']);
14 Expect.listEquals(['__proto__'], m1.getKeys());
15 Expect.listEquals([499], m1.getValues());
16 Expect.isTrue(m1.containsKey('__proto__'));
17 Expect.isFalse(m1.containsKey('toString'));
18 Expect.isTrue(m1.containsValue(499));
19 Expect.isFalse(m1.containsValue(null));
20 var seenKeys = [];
21 var seenValues = [];
22 m1.forEach((key, value) {
23 seenKeys.add(key);
24 seenValues.add(value);
25 });
26 Expect.listEquals(['__proto__'], seenKeys);
27 Expect.listEquals([499], seenValues);
28 Expect.isFalse(m1.isEmpty());
29 Expect.equals(1, m1.length);
30 Expect.throws(() => m1.remove('__proto__'), isIllegalAccessException);
31 Expect.throws(() => m1.remove('b'), isIllegalAccessException);
32 Expect.throws(() => m1.clear(), isIllegalAccessException);
33 Expect.throws(() => m1['b'] = 42, isIllegalAccessException);
34 Expect.throws(() => m1['__proto__'] = 499, isIllegalAccessException);
35 Expect.throws(() => m1.putIfAbsent('__proto__', () => 499),
36 isIllegalAccessException);
37 Expect.throws(() => m1.putIfAbsent('z', () => 499),
38 isIllegalAccessException);
39
40 Expect.equals(499, m2['a']);
41 Expect.equals(42, m2['b']);
42 Expect.equals(null, m2['c']);
43 Expect.equals(null, m2['__proto__']);
44 Expect.listEquals(['a', 'b'], m2.getKeys());
45 Expect.listEquals([499, 42], m2.getValues());
46 Expect.isTrue(m2.containsKey('a'));
47 Expect.isTrue(m2.containsKey('b'));
48 Expect.isFalse(m2.containsKey('toString'));
49 Expect.isFalse(m2.containsKey('__proto__'));
50 Expect.isTrue(m2.containsValue(499));
51 Expect.isTrue(m2.containsValue(42));
52 Expect.isFalse(m2.containsValue(null));
53 seenKeys = [];
54 seenValues = [];
55 m2.forEach((key, value) {
56 seenKeys.add(key);
57 seenValues.add(value);
58 });
59 Expect.listEquals(['a', 'b'], seenKeys);
60 Expect.listEquals([499, 42], seenValues);
61 Expect.isFalse(m2.isEmpty());
62 Expect.equals(2, m2.length);
63 Expect.throws(() => m2.remove('a'), isIllegalAccessException);
64 Expect.throws(() => m2.remove('b'), isIllegalAccessException);
65 Expect.throws(() => m2.remove('__proto__'), isIllegalAccessException);
66 Expect.throws(() => m2.clear(), isIllegalAccessException);
67 Expect.throws(() => m2['a'] = 499, isIllegalAccessException);
68 Expect.throws(() => m2['b'] = 42, isIllegalAccessException);
69 Expect.throws(() => m2['__proto__'] = 499, isIllegalAccessException);
70 Expect.throws(() => m2.putIfAbsent('a', () => 499),
71 isIllegalAccessException);
72 Expect.throws(() => m2.putIfAbsent('__proto__', () => 499),
73 isIllegalAccessException);
74 Expect.throws(() => m2['a'] = 499, isIllegalAccessException);
75
76 Expect.isTrue(m1 === m3);
77 }
OLDNEW
« no previous file with comments | « tests/language/src/CompileTimeConstantATest.dart ('k') | tests/language/src/CompileTimeConstantCTest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698