| Index: pkg/analysis_server/test/services/completion/statement/statement_completion_test.dart
|
| diff --git a/pkg/analysis_server/test/services/completion/statement/statement_completion_test.dart b/pkg/analysis_server/test/services/completion/statement/statement_completion_test.dart
|
| index e6d4077c69988fc975ead13829195c295242767c..c95edd61fe7d31691d0295e5a907d284fe83f606 100644
|
| --- a/pkg/analysis_server/test/services/completion/statement/statement_completion_test.dart
|
| +++ b/pkg/analysis_server/test/services/completion/statement/statement_completion_test.dart
|
| @@ -16,8 +16,10 @@ main() {
|
| defineReflectiveSuite(() {
|
| defineReflectiveTests(_DoCompletionTest);
|
| defineReflectiveTests(_ForCompletionTest);
|
| + defineReflectiveTests(_ForEachCompletionTest);
|
| defineReflectiveTests(_IfCompletionTest);
|
| defineReflectiveTests(_SimpleCompletionTest);
|
| + defineReflectiveTests(_SwitchCompletionTest);
|
| defineReflectiveTests(_WhileCompletionTest);
|
| });
|
| }
|
| @@ -349,6 +351,72 @@ main() {
|
| }
|
|
|
| @reflectiveTest
|
| +class _ForEachCompletionTest extends StatementCompletionTest {
|
| + test_emptyIdentifier() async {
|
| + await _prepareCompletion(
|
| + 'in xs)',
|
| + '''
|
| +main() {
|
| + for (in xs)
|
| +}
|
| +''',
|
| + atEnd: true);
|
| + _assertHasChange(
|
| + 'Complete for-each-statement',
|
| + '''
|
| +main() {
|
| + for ( in xs) {
|
| + ////
|
| + }
|
| +}
|
| +''',
|
| + (s) => _after(s, 'for ('));
|
| + }
|
| +
|
| + test_emptyIdentifierAndIterable() async {
|
| + await _prepareCompletion(
|
| + 'in)',
|
| + '''
|
| +main() {
|
| + for (in)
|
| +}
|
| +''',
|
| + atEnd: true);
|
| + _assertHasChange(
|
| + 'Complete for-each-statement',
|
| + '''
|
| +main() {
|
| + for ( in ) {
|
| + ////
|
| + }
|
| +}
|
| +''',
|
| + (s) => _after(s, 'for ('));
|
| + }
|
| +
|
| + test_emptyIterable() async {
|
| + await _prepareCompletion(
|
| + 'in)',
|
| + '''
|
| +main() {
|
| + for (var x in)
|
| +}
|
| +''',
|
| + atEnd: true);
|
| + _assertHasChange(
|
| + 'Complete for-each-statement',
|
| + '''
|
| +main() {
|
| + for (var x in ) {
|
| + ////
|
| + }
|
| +}
|
| +''',
|
| + (s) => _after(s, 'in '));
|
| + }
|
| +}
|
| +
|
| +@reflectiveTest
|
| class _IfCompletionTest extends StatementCompletionTest {
|
| test_afterCondition_BAD() async {
|
| // TODO(messick): Fix the code to make this like test_completeIfWithCondition.
|
| @@ -527,6 +595,72 @@ main() {
|
| }
|
|
|
| @reflectiveTest
|
| +class _SwitchCompletionTest extends StatementCompletionTest {
|
| + test_emptyCondition() async {
|
| + await _prepareCompletion(
|
| + 'switch',
|
| + '''
|
| +main() {
|
| + switch ()
|
| +}
|
| +''',
|
| + atEnd: true);
|
| + _assertHasChange(
|
| + 'Complete switch-statement',
|
| + '''
|
| +main() {
|
| + switch () {
|
| + ////
|
| + }
|
| +}
|
| +''',
|
| + (s) => _after(s, 'switch ('));
|
| + }
|
| +
|
| + test_keywordOnly() async {
|
| + await _prepareCompletion(
|
| + 'switch',
|
| + '''
|
| +main() {
|
| + switch////
|
| +}
|
| +''',
|
| + atEnd: true);
|
| + _assertHasChange(
|
| + 'Complete switch-statement',
|
| + '''
|
| +main() {
|
| + switch () {
|
| + ////
|
| + }
|
| +}
|
| +''',
|
| + (s) => _after(s, 'switch ('));
|
| + }
|
| +
|
| + test_keywordSpace() async {
|
| + await _prepareCompletion(
|
| + 'switch',
|
| + '''
|
| +main() {
|
| + switch ////
|
| +}
|
| +''',
|
| + atEnd: true);
|
| + _assertHasChange(
|
| + 'Complete switch-statement',
|
| + '''
|
| +main() {
|
| + switch () {
|
| + ////
|
| + }
|
| +}
|
| +''',
|
| + (s) => _after(s, 'switch ('));
|
| + }
|
| +}
|
| +
|
| +@reflectiveTest
|
| class _WhileCompletionTest extends StatementCompletionTest {
|
| /*
|
| The implementation of completion for while-statements is shared with
|
|
|