OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 // Check that passing `null` for a boolean typed parameter will still cause | 5 // Check that passing `null` for a boolean typed parameter will still cause |
6 // a boolean conversion error when used in a condition in checked mode. | 6 // a boolean conversion error when used in a condition. |
7 | 7 |
8 import 'package:expect/expect.dart'; | 8 import 'package:expect/expect.dart'; |
9 | 9 |
10 @NoInline() | 10 @NoInline() |
11 String check({bool a, bool b}) { | 11 String check({bool a, bool b}) { |
12 String a_string = a ? 'a' : ''; | 12 String aString = a ? 'a' : ''; |
13 String b_string = b ? 'b' : ''; | 13 String bString = b ? 'b' : ''; |
14 return '$a_string$b_string'; | 14 return '$aString$bString'; |
15 } | 15 } |
16 | 16 |
17 class Class { | 17 class Class { |
18 final String field; | 18 final String field; |
19 Class({bool a: false, bool b: true}) : this.field = check(a: a, b: b); | 19 Class({bool a: false, bool b: true}) : this.field = check(a: a, b: b); |
20 } | 20 } |
21 | 21 |
22 main() { | 22 main() { |
23 Expect.equals('', new Class(a: null, b: null).field); //# 01: dynamic type err
or | 23 Expect.throwsAssertionError(() { |
| 24 new Class(a: null, b: null).field; |
| 25 }); |
24 } | 26 } |
OLD | NEW |