Chromium Code Reviews| Index: pkg/analysis_server/test/services/correction/fix_test.dart |
| diff --git a/pkg/analysis_server/test/services/correction/fix_test.dart b/pkg/analysis_server/test/services/correction/fix_test.dart |
| index d6bd2db659c3a682a8e929ed8b544a6d3f96e969..1407860d8951904292ab56e89ad5ece4ee4bd62c 100644 |
| --- a/pkg/analysis_server/test/services/correction/fix_test.dart |
| +++ b/pkg/analysis_server/test/services/correction/fix_test.dart |
| @@ -427,6 +427,79 @@ class A { |
| '''); |
| } |
| + test_addMissingRequiredArg_cons_single() async { |
| + _addMetaPackageSource(); |
| + |
| + await resolveTestUnit(''' |
| +import 'package:meta/meta.dart'; |
| + |
| +class A { |
| + A({@required int a}) {} |
| +} |
| +main() { |
| + A a = new A(); |
| +} |
| +'''); |
| + await assertHasFix( |
| + DartFixKind.ADD_MISSING_REQUIRED_ARGUMENT, |
| + ''' |
| +import 'package:meta/meta.dart'; |
| + |
| +class A { |
| + A({@required int a}) {} |
| +} |
| +main() { |
| + A a = new A(a: null); |
| +} |
| +'''); |
| + } |
| + |
| + test_addMissingRequiredArg_multiple() async { |
| + _addMetaPackageSource(); |
| + |
| + await resolveTestUnit(''' |
| +import 'package:meta/meta.dart'; |
| + |
| +test({@required int a, @required int bcd}) {} |
| +main() { |
| + test(a: 3); |
| +} |
| +'''); |
| + await assertHasFix( |
| + DartFixKind.ADD_MISSING_REQUIRED_ARGUMENT, |
| + ''' |
| +import 'package:meta/meta.dart'; |
| + |
| +test({@required int a, @required int bcd}) {} |
| +main() { |
| + test(a: 3, bcd: null); |
| +} |
| +'''); |
| + } |
| + |
| + test_addMissingRequiredArg_single() async { |
| + _addMetaPackageSource(); |
| + |
| + await resolveTestUnit(''' |
| +import 'package:meta/meta.dart'; |
| + |
| +test({@required int abc}) {} |
| +main() { |
| + test(); |
| +} |
| +'''); |
| + await assertHasFix( |
| + DartFixKind.ADD_MISSING_REQUIRED_ARGUMENT, |
| + ''' |
| +import 'package:meta/meta.dart'; |
| + |
| +test({@required int abc}) {} |
| +main() { |
| + test(abc: null); |
| +} |
| +'''); |
| + } |
|
Brian Wilkerson
2017/02/14 23:58:20
Possibly add a test case where there is a normal (
|
| + |
| test_addSync_asyncFor() async { |
| await resolveTestUnit(''' |
| import 'dart:async'; |
| @@ -5336,6 +5409,19 @@ main() { |
| } |
| '''); |
| } |
| + |
| + void _addMetaPackageSource() { |
| + addPackageSource('meta', 'meta.dart', r''' |
| +library meta; |
| + |
| +const Required required = const Required(); |
| + |
| +class Required { |
| + final String reason; |
| + const Required([this.reason]); |
| +} |
| +'''); |
| + } |
| } |
| @reflectiveTest |