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

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

Issue 2774783002: Re-land "Format all 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
12 class A<U> {} 13 class A<U> {}
14
13 class C1<V> = Object with M<V>; 15 class C1<V> = Object with M<V>;
14 class C2 = Object with M<int>; 16 class C2 = Object with M<int>;
15 class C3 = Object with M<String>; 17 class C3 = Object with M<String>;
16 18
17 main() { 19 main() {
18 checkNoDynamicTypeError(() => new C1<int>()); // //# 01: continued 20 checkNoDynamicTypeError(() => new C1<int>()); // //# 01: continued
19 checkDynamicTypeError(() => new C1<String>()); //# 01: continued 21 checkDynamicTypeError(() => new C1<String>()); //# 01: continued
20 22
21 checkNoDynamicTypeError(() => new C2()); // //# 01: continued 23 checkNoDynamicTypeError(() => new C2()); // //# 01: continued
22 24
(...skipping 10 matching lines...) Expand all
33 } 35 }
34 return false; 36 return false;
35 } 37 }
36 38
37 /// Checks that a dynamic type error is thrown if and only if [f] is executed in 39 /// Checks that a dynamic type error is thrown if and only if [f] is executed in
38 /// checked mode. 40 /// checked mode.
39 void checkDynamicTypeError(f(), [String message]) { 41 void checkDynamicTypeError(f(), [String message]) {
40 message = message != null ? ': $message' : ''; 42 message = message != null ? ': $message' : '';
41 try { 43 try {
42 f(); 44 f();
43 Expect.isFalse(inCheckedMode(), 45 Expect.isFalse(
44 'Missing type error in checked mode$message.'); 46 inCheckedMode(), 'Missing type error in checked mode$message.');
45 } on TypeError catch (e) { 47 } on TypeError catch (e) {
46 Expect.isTrue(inCheckedMode(), 48 Expect.isTrue(inCheckedMode(), 'Unexpected type error in production mode.');
47 'Unexpected type error in production mode.');
48 } 49 }
49 } 50 }
50 51
51 /// Checks that no dynamic type error is thrown when [f] is executed regardless 52 /// Checks that no dynamic type error is thrown when [f] is executed regardless
52 /// of execution mode. 53 /// of execution mode.
53 void checkNoDynamicTypeError(f(), [String message]) { 54 void checkNoDynamicTypeError(f(), [String message]) {
54 message = message != null ? ': $message' : ''; 55 message = message != null ? ': $message' : '';
55 try { 56 try {
56 f(); 57 f();
57 } on TypeError catch (e) { 58 } on TypeError catch (e) {
58 String mode = inCheckedMode() ? 'checked mode' : 'production mode'; 59 String mode = inCheckedMode() ? 'checked mode' : 'production mode';
59 Expect.fail('Unexpected type error in $mode$message.'); 60 Expect.fail('Unexpected type error in $mode$message.');
60 } 61 }
61 } 62 }
OLDNEW
« no previous file with comments | « tests/language/function_type_call_getter2_test.dart ('k') | tests/language/generic_metadata_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698