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

Side by Side Diff: tests/lib_strong/collection/hash_map_test.dart

Issue 2667343005: Infer Null for return type of functions with empty returns. (Closed)
Patch Set: Address comments, fix 28630, ddc expectations Created 3 years, 10 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) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 import "dart:collection"; 5 import "dart:collection";
6 import "package:expect/expect.dart"; 6 import "package:expect/expect.dart";
7 7
8 void main() { 8 void main() {
9 // Test customized maps. 9 // Test customized maps.
10 // Regression test for issue http://dartbug.com/18109 10 // Regression test for issue http://dartbug.com/18109
11 11
12 hash(s) => s.toLowerCase().hashCode; 12 int hash(s) => s.toLowerCase().hashCode;
13 equals(a, b) => a.toLowerCase() == b.toLowerCase(); 13 bool equals(a, b) => a.toLowerCase() == b.toLowerCase();
14 14
15 for (var m in [ 15 for (var m in [
16 new HashMap<String,int>(equals: equals, hashCode: hash), 16 new HashMap<String,int>(equals: equals, hashCode: hash),
17 new LinkedHashMap<String,int>(equals: equals, hashCode: hash), 17 new LinkedHashMap<String,int>(equals: equals, hashCode: hash),
18 ]) { 18 ]) {
19 m["Abel"] = 42; 19 m["Abel"] = 42;
20 for (var key in ["Abel", "abel", "ABEL", "Abel"]) { 20 for (var key in ["Abel", "abel", "ABEL", "Abel"]) {
21 Expect.isTrue(m.containsKey(key), "contains $key in ${m.runtimeType} $m"); 21 Expect.isTrue(m.containsKey(key), "contains $key in ${m.runtimeType} $m");
22 Expect.equals(42, m[key], "get $key in ${m.runtimeType} $m"); 22 Expect.equals(42, m[key], "get $key in ${m.runtimeType} $m");
23 Expect.equals(42, m.remove(key), "remove $key in ${m.runtimeType} $m"); 23 Expect.equals(42, m.remove(key), "remove $key in ${m.runtimeType} $m");
24 m[key] = 42; 24 m[key] = 42;
25 } 25 }
26 } 26 }
27 27
28 abshash(n) => n.abs(); 28 int abshash(n) => n.abs();
29 abseq(a, b) => a.abs() == b.abs(); 29 bool abseq(a, b) => a.abs() == b.abs();
30 for (var m in [ 30 for (var m in [
31 new HashMap<int,int>(equals: abseq, hashCode: abshash), 31 new HashMap<int,int>(equals: abseq, hashCode: abshash),
32 new LinkedHashMap<int,int>(equals: abseq, hashCode: abshash), 32 new LinkedHashMap<int,int>(equals: abseq, hashCode: abshash),
33 ]) { 33 ]) {
34 m[1] = 42; 34 m[1] = 42;
35 for (var key in [1, -1, 1]) { 35 for (var key in [1, -1, 1]) {
36 Expect.isTrue(m.containsKey(key), "contains $key in ${m.runtimeType} $m"); 36 Expect.isTrue(m.containsKey(key), "contains $key in ${m.runtimeType} $m");
37 Expect.equals(42, m[key], "get $key in ${m.runtimeType} $m"); 37 Expect.equals(42, m[key], "get $key in ${m.runtimeType} $m");
38 Expect.equals(42, m.remove(key), "remove $key in ${m.runtimeType} $m"); 38 Expect.equals(42, m.remove(key), "remove $key in ${m.runtimeType} $m");
39 m[key] = 42; 39 m[key] = 42;
40 } 40 }
41 } 41 }
42 } 42 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698