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

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

Issue 2765693002: Update all tests (Closed)
Patch Set: Created 3 years, 9 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 // 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 // Test program for map literals. 4 // Test program for map literals.
5 5
6 import "package:expect/expect.dart"; 6 import "package:expect/expect.dart";
7 7
8 class MapLiteralTest { 8 class MapLiteralTest {
9 9
10 static testMain() { 10 static testMain() {
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 m["14"] = 14; 56 m["14"] = 14;
57 m["15"] = 15; 57 m["15"] = 15;
58 m["16"] = 16; 58 m["16"] = 16;
59 Expect.equals(16, m.length); 59 Expect.equals(16, m.length);
60 m.remove("1"); 60 m.remove("1");
61 m.remove("1"); // Remove element twice. 61 m.remove("1"); // Remove element twice.
62 m.remove("16"); 62 m.remove("16");
63 Expect.equals(14, m.length); 63 Expect.equals(14, m.length);
64 64
65 // Check that last value of duplicate key wins for const maps. 65 // Check that last value of duplicate key wins for const maps.
66 final cmap = const <String, num>{"a": 10, "b": 100, "a": 1000}; /// static t ype warning 66 final cmap = const <String, num>{"a": 10, "b": 100, "a": 1000}; //# static t ype warning
67 Expect.equals(2, cmap.length); 67 Expect.equals(2, cmap.length);
68 Expect.equals(1000, cmap["a"]); 68 Expect.equals(1000, cmap["a"]);
69 Expect.equals(100, cmap["b"]); 69 Expect.equals(100, cmap["b"]);
70 70
71 final cmap2 = const <String, num>{"a": 10, "a": 100, "a": 1000}; /// static type warning 71 final cmap2 = const <String, num>{"a": 10, "a": 100, "a": 1000}; //# static type warning
72 Expect.equals(1, cmap2.length); 72 Expect.equals(1, cmap2.length);
73 Expect.equals(1000, cmap["a"]); 73 Expect.equals(1000, cmap["a"]);
74 74
75 // Check that last value of duplicate key wins for mutable maps. 75 // Check that last value of duplicate key wins for mutable maps.
76 var mmap = <String, num>{"a": 10, "b": 100, "a": 1000}; /// static type warn ing 76 var mmap = <String, num>{"a": 10, "b": 100, "a": 1000}; //# static type warn ing
77 77
78 Expect.equals(2, mmap.length); 78 Expect.equals(2, mmap.length);
79 Expect.equals(1000, mmap["a"]); 79 Expect.equals(1000, mmap["a"]);
80 Expect.equals(100, mmap["b"]); 80 Expect.equals(100, mmap["b"]);
81 81
82 // Check that even if a key gets eliminated (the first "a"), all values 82 // Check that even if a key gets eliminated (the first "a"), all values
83 // are still evaluated, including side effects. 83 // are still evaluated, including side effects.
84 int counter = 0; 84 int counter = 0;
85 int ctr() { counter += 10; return counter; } 85 int ctr() { counter += 10; return counter; }
86 mmap = <String, num>{"a": ctr(), "b": ctr(), "a": ctr()}; /// static type wa rning 86 mmap = <String, num>{"a": ctr(), "b": ctr(), "a": ctr()}; //# static type wa rning
87 Expect.equals(2, mmap.length); 87 Expect.equals(2, mmap.length);
88 Expect.equals(40, ctr()); 88 Expect.equals(40, ctr());
89 Expect.equals(30, mmap["a"]); 89 Expect.equals(30, mmap["a"]);
90 Expect.equals(20, mmap["b"]); 90 Expect.equals(20, mmap["b"]);
91 91
92 Expect.equals(10, { "beta": 100, "alpha": 9 + 1 }["alpha"]); 92 Expect.equals(10, { "beta": 100, "alpha": 9 + 1 }["alpha"]);
93 Expect.equals(10, <String, Map>{ 93 Expect.equals(10, <String, Map>{
94 "beta": {"delta": 10}, 94 "beta": {"delta": 10},
95 "alpha": {"gamma": 10} }["alpha"]["gamma"]); 95 "alpha": {"gamma": 10} }["alpha"]["gamma"]);
96 96
97 // Map literals at beginning of statement. 97 // Map literals at beginning of statement.
98 <String, num>{"pink": 100}; 98 <String, num>{"pink": 100};
99 const <String, num>{"floyd": 100}; 99 const <String, num>{"floyd": 100};
100 } 100 }
101 } 101 }
102 102
103 103
104 main() { 104 main() {
105 MapLiteralTest.testMain(); 105 MapLiteralTest.testMain();
106 } 106 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698