| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 // These tests are for an experimental feature that treats Dart primitive types | 5 // These tests are for an experimental feature that treats Dart primitive types |
| 6 // (int, bool, double, etc.) as non-nullable. This file is not evidence for an | 6 // (int, bool, double, etc.) as non-nullable. This file is not evidence for an |
| 7 // intention to officially support non-nullable primitives in Dart (or general | 7 // intention to officially support non-nullable primitives in Dart (or general |
| 8 // NNBD, for that matter) so don't get too crazy about it. | 8 // NNBD, for that matter) so don't get too crazy about it. |
| 9 | 9 |
| 10 library analyzer.test.src.task.non_null_primitives.checker_test; | 10 library analyzer.test.src.task.non_null_primitives.checker_test; |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 var languages = new MyList(); | 38 var languages = new MyList(); |
| 39 for (int i = 0; i < languages.length; ++i) { | 39 for (int i = 0; i < languages.length; ++i) { |
| 40 print(languages[i]); | 40 print(languages[i]); |
| 41 } | 41 } |
| 42 } | 42 } |
| 43 '''); | 43 '''); |
| 44 } | 44 } |
| 45 | 45 |
| 46 void test_nullableTypes() { | 46 void test_nullableTypes() { |
| 47 // By default x can be set to null. | 47 // By default x can be set to null. |
| 48 checkFile('''int x = null;'''); | 48 checkFile('int x = null;'); |
| 49 } | 49 } |
| 50 | 50 |
| 51 @failingTest | |
| 52 void test_nonnullableTypes() { | 51 void test_nonnullableTypes() { |
| 53 // If `int`s are non-nullable, then this code should throw an error. | 52 // If `int`s are non-nullable, then this code should throw an error. |
| 54 addFile('''int x = /*error:INVALID_ASSIGNMENT*/null;'''); | 53 addFile('int x;'); |
| 54 addFile('int x = /*error:INVALID_ASSIGNMENT*/null;'); |
| 55 addFile('int x = 0;'); |
| 56 addFile(''' |
| 57 int x = 0; |
| 58 |
| 59 main() { |
| 60 x = 1; |
| 61 x = /*error:INVALID_ASSIGNMENT*/null; |
| 62 } |
| 63 '''); |
| 55 check(nonnullableTypes: <String>['dart:core,int']); | 64 check(nonnullableTypes: <String>['dart:core,int']); |
| 56 } | 65 } |
| 57 } | 66 } |
| OLD | NEW |