| Index: pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart
|
| diff --git a/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart
|
| index 2e941249c51c525366d31064ac0f95219b5578a3..ef9dd92b5a8b23ecca0c6edc7653e4925a318a91 100644
|
| --- a/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart
|
| +++ b/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart
|
| @@ -14,12 +14,14 @@ import 'completion_contributor_util.dart';
|
| main() {
|
| defineReflectiveSuite(() {
|
| defineReflectiveTests(ArgListContributorTest);
|
| - defineReflectiveTests(ArgListContributorTest_Driver);
|
| });
|
| }
|
|
|
| @reflectiveTest
|
| class ArgListContributorTest extends DartCompletionContributorTest {
|
| + @override
|
| + bool get enableNewAnalysisDriver => true;
|
| +
|
| void assertNoOtherSuggestions(Iterable<CompletionSuggestion> expected) {
|
| for (CompletionSuggestion suggestion in suggestions) {
|
| if (!expected.contains(suggestion)) {
|
| @@ -247,6 +249,173 @@ class A { const A(int one, int two, int three, {int four, String five:
|
| assertNoSuggestions();
|
| }
|
|
|
| + test_ArgumentList_Flutter_InstanceCreationExpression_0() async {
|
| + configureFlutterPkg({
|
| + 'src/widgets/framework.dart': flutter_framework_code,
|
| + });
|
| +
|
| + addTestSource('''
|
| +import 'package:flutter/src/widgets/framework.dart';
|
| +
|
| +build() => new Row(
|
| + ^
|
| + );
|
| +''');
|
| +
|
| + await computeSuggestions();
|
| +
|
| + assertSuggest('children: <Widget>[],',
|
| + csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| + relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| + defaultArgListString: null,
|
| + selectionOffset: 19,
|
| + defaultArgumentListTextRanges: null);
|
| + }
|
| +
|
| + test_ArgumentList_Flutter_InstanceCreationExpression_01() async {
|
| + configureFlutterPkg({
|
| + 'src/widgets/framework.dart': flutter_framework_code,
|
| + });
|
| +
|
| + addTestSource('''
|
| +import 'package:flutter/src/widgets/framework.dart';
|
| +
|
| + build() => new Scaffold(
|
| + appBar: new AppBar(
|
| + ^
|
| + ),
|
| + );
|
| +''');
|
| +
|
| + await computeSuggestions();
|
| +
|
| + assertSuggest('color: ,',
|
| + csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| + relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| + defaultArgListString: null, // No default values.
|
| + selectionOffset: 7);
|
| + }
|
| +
|
| + test_ArgumentList_Flutter_InstanceCreationExpression_1() async {
|
| + configureFlutterPkg({
|
| + 'src/widgets/framework.dart': flutter_framework_code,
|
| + });
|
| +
|
| + addTestSource('''
|
| +import 'package:flutter/src/widgets/framework.dart';
|
| +
|
| +build() => new Row(
|
| + key: null,
|
| + ^
|
| + );
|
| +''');
|
| +
|
| + await computeSuggestions();
|
| +
|
| + assertSuggest('children: <Widget>[],',
|
| + csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| + relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| + defaultArgListString: null,
|
| + selectionOffset: 19,
|
| + defaultArgumentListTextRanges: null);
|
| + }
|
| +
|
| + test_ArgumentList_Flutter_InstanceCreationExpression_2() async {
|
| + configureFlutterPkg({
|
| + 'src/widgets/framework.dart': flutter_framework_code,
|
| + });
|
| +
|
| + addTestSource('''
|
| +import 'package:flutter/src/widgets/framework.dart';
|
| +
|
| +build() => new Row(
|
| + ^
|
| + key: null,
|
| + );
|
| +''');
|
| +
|
| + await computeSuggestions();
|
| +
|
| + assertSuggest('children: <Widget>[],',
|
| + csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| + relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| + defaultArgListString: null,
|
| + selectionOffset: 19,
|
| + defaultArgumentListTextRanges: null);
|
| + }
|
| +
|
| + test_ArgumentList_Flutter_InstanceCreationExpression_children_dynamic() async {
|
| + // Ensure we don't generate unneeded <dynamic> param if a future API doesn't
|
| + // type it's children.
|
| + configureFlutterPkg({
|
| + 'src/widgets/framework.dart': flutter_framework_code +
|
| + '\nclass DynamicRow extends Widget { DynamicRow({List children: null}){}}'
|
| + });
|
| +
|
| + addTestSource('''
|
| +import 'package:flutter/src/widgets/framework.dart';
|
| +
|
| +build() => new Container(
|
| + child: new DynamicRow(^);
|
| + );
|
| +''');
|
| +
|
| + await computeSuggestions();
|
| +
|
| + assertSuggest('children: [],',
|
| + csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| + relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| + defaultArgListString: null,
|
| + selectionOffset: 11,
|
| + defaultArgumentListTextRanges: null);
|
| + }
|
| +
|
| + test_ArgumentList_Flutter_InstanceCreationExpression_children_Map() async {
|
| + // Ensure we don't generate Map params for a future API
|
| + configureFlutterPkg({
|
| + 'src/widgets/framework.dart': flutter_framework_code +
|
| + '\nclass MapRow extends Widget { MapRow({Map<Object,Object> children: null}){}}'
|
| + });
|
| +
|
| + addTestSource('''
|
| +import 'package:flutter/src/widgets/framework.dart';
|
| +
|
| +build() => new Container(
|
| + child: new MapRow(^);
|
| + );
|
| +''');
|
| +
|
| + await computeSuggestions();
|
| +
|
| + assertSuggest('children: ,',
|
| + csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| + relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| + selectionOffset: 10,
|
| + defaultArgListString: null);
|
| + }
|
| +
|
| + test_ArgumentList_Flutter_MethodExpression_children() async {
|
| + // Ensure we don't generate params for a method call
|
| + configureFlutterPkg({
|
| + 'src/widgets/framework.dart':
|
| + flutter_framework_code + '\nfoo({String children})'
|
| + });
|
| +
|
| + addTestSource('''
|
| +import 'package:flutter/src/widgets/framework.dart';
|
| +
|
| +main() {
|
| +foo(^);
|
| +''');
|
| +
|
| + await computeSuggestions();
|
| +
|
| + assertSuggest('children: ',
|
| + csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| + relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| + defaultArgListString: null);
|
| + }
|
| +
|
| test_ArgumentList_getter() async {
|
| addTestSource('class A {int get foo => 7; main() {foo(^)}');
|
| await computeSuggestions();
|
| @@ -856,176 +1025,3 @@ main() { f("16", radix: ^);}''');
|
| assertSuggestArgumentList(['arg', 'blat'], ['dynamic', 'int']);
|
| }
|
| }
|
| -
|
| -@reflectiveTest
|
| -class ArgListContributorTest_Driver extends ArgListContributorTest {
|
| - @override
|
| - bool get enableNewAnalysisDriver => true;
|
| -
|
| - test_ArgumentList_Flutter_InstanceCreationExpression_01() async {
|
| - configureFlutterPkg({
|
| - 'src/widgets/framework.dart': flutter_framework_code,
|
| - });
|
| -
|
| - addTestSource('''
|
| -import 'package:flutter/src/widgets/framework.dart';
|
| -
|
| - build() => new Scaffold(
|
| - appBar: new AppBar(
|
| - ^
|
| - ),
|
| - );
|
| -''');
|
| -
|
| - await computeSuggestions();
|
| -
|
| - assertSuggest('color: ,',
|
| - csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| - relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| - defaultArgListString: null, // No default values.
|
| - selectionOffset: 7);
|
| - }
|
| -
|
| - test_ArgumentList_Flutter_InstanceCreationExpression_0() async {
|
| - configureFlutterPkg({
|
| - 'src/widgets/framework.dart': flutter_framework_code,
|
| - });
|
| -
|
| - addTestSource('''
|
| -import 'package:flutter/src/widgets/framework.dart';
|
| -
|
| -build() => new Row(
|
| - ^
|
| - );
|
| -''');
|
| -
|
| - await computeSuggestions();
|
| -
|
| - assertSuggest('children: <Widget>[],',
|
| - csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| - relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| - defaultArgListString: null,
|
| - selectionOffset: 19,
|
| - defaultArgumentListTextRanges: null);
|
| - }
|
| -
|
| - test_ArgumentList_Flutter_InstanceCreationExpression_1() async {
|
| - configureFlutterPkg({
|
| - 'src/widgets/framework.dart': flutter_framework_code,
|
| - });
|
| -
|
| - addTestSource('''
|
| -import 'package:flutter/src/widgets/framework.dart';
|
| -
|
| -build() => new Row(
|
| - key: null,
|
| - ^
|
| - );
|
| -''');
|
| -
|
| - await computeSuggestions();
|
| -
|
| - assertSuggest('children: <Widget>[],',
|
| - csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| - relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| - defaultArgListString: null,
|
| - selectionOffset: 19,
|
| - defaultArgumentListTextRanges: null);
|
| - }
|
| -
|
| - test_ArgumentList_Flutter_InstanceCreationExpression_2() async {
|
| - configureFlutterPkg({
|
| - 'src/widgets/framework.dart': flutter_framework_code,
|
| - });
|
| -
|
| - addTestSource('''
|
| -import 'package:flutter/src/widgets/framework.dart';
|
| -
|
| -build() => new Row(
|
| - ^
|
| - key: null,
|
| - );
|
| -''');
|
| -
|
| - await computeSuggestions();
|
| -
|
| - assertSuggest('children: <Widget>[],',
|
| - csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| - relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| - defaultArgListString: null,
|
| - selectionOffset: 19,
|
| - defaultArgumentListTextRanges: null);
|
| - }
|
| -
|
| - test_ArgumentList_Flutter_InstanceCreationExpression_children_dynamic() async {
|
| - // Ensure we don't generate unneeded <dynamic> param if a future API doesn't
|
| - // type it's children.
|
| - configureFlutterPkg({
|
| - 'src/widgets/framework.dart': flutter_framework_code +
|
| - '\nclass DynamicRow extends Widget { DynamicRow({List children: null}){}}'
|
| - });
|
| -
|
| - addTestSource('''
|
| -import 'package:flutter/src/widgets/framework.dart';
|
| -
|
| -build() => new Container(
|
| - child: new DynamicRow(^);
|
| - );
|
| -''');
|
| -
|
| - await computeSuggestions();
|
| -
|
| - assertSuggest('children: [],',
|
| - csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| - relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| - defaultArgListString: null,
|
| - selectionOffset: 11,
|
| - defaultArgumentListTextRanges: null);
|
| - }
|
| -
|
| - test_ArgumentList_Flutter_InstanceCreationExpression_children_Map() async {
|
| - // Ensure we don't generate Map params for a future API
|
| - configureFlutterPkg({
|
| - 'src/widgets/framework.dart': flutter_framework_code +
|
| - '\nclass MapRow extends Widget { MapRow({Map<Object,Object> children: null}){}}'
|
| - });
|
| -
|
| - addTestSource('''
|
| -import 'package:flutter/src/widgets/framework.dart';
|
| -
|
| -build() => new Container(
|
| - child: new MapRow(^);
|
| - );
|
| -''');
|
| -
|
| - await computeSuggestions();
|
| -
|
| - assertSuggest('children: ,',
|
| - csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| - relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| - selectionOffset: 10,
|
| - defaultArgListString: null);
|
| - }
|
| -
|
| - test_ArgumentList_Flutter_MethodExpression_children() async {
|
| - // Ensure we don't generate params for a method call
|
| - configureFlutterPkg({
|
| - 'src/widgets/framework.dart':
|
| - flutter_framework_code + '\nfoo({String children})'
|
| - });
|
| -
|
| - addTestSource('''
|
| -import 'package:flutter/src/widgets/framework.dart';
|
| -
|
| -main() {
|
| -foo(^);
|
| -''');
|
| -
|
| - await computeSuggestions();
|
| -
|
| - assertSuggest('children: ',
|
| - csKind: CompletionSuggestionKind.NAMED_ARGUMENT,
|
| - relevance: DART_RELEVANCE_NAMED_PARAMETER,
|
| - defaultArgListString: null);
|
| - }
|
| -}
|
|
|