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

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

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