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

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

Issue 2765893003: Fix warnings_checker.dart handling of multitests (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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 // Test that generic types in mixins are handled. 5 // Test that generic types in mixins are handled.
6 6
7 import 'package:expect/expect.dart'; 7 import 'package:expect/expect.dart';
8 8
9 class M<T> { 9 class M<T> {
10 T field = 0; /// 01: static type warning 10 T field = 0; //# 01: static type warning
11 } 11 }
12 class A<U> {} 12 class A<U> {}
13 class C1<V> = Object with M<V>; 13 class C1<V> = Object with M<V>;
14 class C2 = Object with M<int>; 14 class C2 = Object with M<int>;
15 class C3 = Object with M<String>; 15 class C3 = Object with M<String>;
16 16
17 main() { 17 main() {
18 checkNoDynamicTypeError(() => new C1<int>()); // /// 01: continued 18 checkNoDynamicTypeError(() => new C1<int>()); // //# 01: continued
19 checkDynamicTypeError(() => new C1<String>()); /// 01: continued 19 checkDynamicTypeError(() => new C1<String>()); //# 01: continued
20 20
21 checkNoDynamicTypeError(() => new C2()); // /// 01: continued 21 checkNoDynamicTypeError(() => new C2()); // //# 01: continued
22 22
23 checkDynamicTypeError(() => new C3()); // /// 01: continued 23 checkDynamicTypeError(() => new C3()); // //# 01: continued
24 } 24 }
25 25
26 /// Returns `true` if the program is running in checked mode. 26 /// Returns `true` if the program is running in checked mode.
27 bool inCheckedMode() { 27 bool inCheckedMode() {
28 try { 28 try {
29 var i = 42; 29 var i = 42;
30 String s = i; 30 String s = i;
31 } on TypeError catch (e) { 31 } on TypeError catch (e) {
32 return true; 32 return true;
33 } 33 }
(...skipping 18 matching lines...) Expand all
52 /// of execution mode. 52 /// of execution mode.
53 void checkNoDynamicTypeError(f(), [String message]) { 53 void checkNoDynamicTypeError(f(), [String message]) {
54 message = message != null ? ': $message' : ''; 54 message = message != null ? ': $message' : '';
55 try { 55 try {
56 f(); 56 f();
57 } on TypeError catch (e) { 57 } on TypeError catch (e) {
58 String mode = inCheckedMode() ? 'checked mode' : 'production mode'; 58 String mode = inCheckedMode() ? 'checked mode' : 'production mode';
59 Expect.fail('Unexpected type error in $mode$message.'); 59 Expect.fail('Unexpected type error in $mode$message.');
60 } 60 }
61 } 61 }
OLDNEW
« no previous file with comments | « tests/language/function_type_call_getter2_test.dart ('k') | tests/language/generic_function_typedef2_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698