Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Unified Diff: pkg/analysis_server/test/services/completion/statement/statement_completion_test.dart

Issue 2824233002: Complete for-statement (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analysis_server/lib/src/services/completion/statement/statement_completion.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1b99cfed2f6992a0819587c184cf7ad930e2e456..9f2f70ece580727b4eacb2d5f0df01b49404523b 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
@@ -130,6 +130,132 @@ main() {
(s) => s.indexOf('while (') + 'while ('.length);
}
+ test_completeForEmptyCond() async {
Brian Wilkerson 2017/04/18 17:28:50 Just a suggestion: you could put each statement ki
messick 2017/04/18 18:05:52 Good idea, thanks.
messick 2017/04/18 21:35:40 Done.
+ await _prepareCompletion(
+ '}',
+ '''
+main() {
+ for (int i = 0;) {
+ }
+}
+''',
+ atEnd: true);
+ _assertHasChange(
+ 'Complete for-statement',
+ '''
+main() {
+ for (int i = 0; ) {
Brian Wilkerson 2017/04/18 17:28:50 Not knowing exactly how this is suppose to work, I
messick 2017/04/18 18:05:52 I considered that. Two factors dissuaded me. Doing
+ }
+}
+''',
+ (s) => s.indexOf('0; ') + '0; '.length);
+ }
+
+ test_completeForEmptyInit() async {
+ await _prepareCompletion(
+ '}',
+ '''
+main() {
+ for () {
+ }
+}
+''',
+ atEnd: true);
+ _assertHasChange(
+ 'Complete for-statement',
+ '''
+main() {
+ for () {
Brian Wilkerson 2017/04/18 17:28:50 This, on the other hand, looks right, because we d
messick 2017/04/18 18:05:52 Acknowledged.
+ }
+}
+''',
+ (s) => s.indexOf('for (') + 'for ('.length);
+ }
+
+ test_completeForEmptyInitEmptyCond() async {
+ await _prepareCompletion(
+ '}',
+ '''
+main() {
+ for (;/**/) {
+ }
+}
+''',
+ atEnd: true);
+ _assertHasChange(
+ 'Complete for-statement',
+ '''
+main() {
+ for (;/**/) {
+ }
+}
+''',
+ (s) => s.indexOf('/**/') + '/**/'.length);
+ }
+
+ test_completeForEmptyParts() async {
+ await _prepareCompletion(
+ ';)',
+ '''
+main() {
+ for (;;)
+}
+''',
+ atEnd: true);
+ _assertHasChange(
+ 'Complete for-statement',
+ '''
+main() {
+ for (;;) {
+ ////
+ }
+}
+''',
+ (s) => s.indexOf(' ') + ' '.length);
+ }
+
+ test_completeForKeywordOnly() async {
+ await _prepareCompletion(
+ 'for',
+ '''
+main() {
+ for
+}
+''',
+ atEnd: true);
+ _assertHasChange(
+ 'Complete for-statement',
+ '''
+main() {
+ for () {
+ ////
+ }
+}
+''',
+ (s) => s.indexOf('for (') + 'for ('.length);
+ }
+
+ test_completeForMissingLeftSep() async {
+ await _prepareCompletion(
+ '}',
+ '''
+main() {
+ for (int i = 0) {
+ }
+}
+''',
+ atEnd: true);
+ _assertHasChange(
+ 'Complete for-statement',
+ '''
+main() {
+ for (int i = 0; ) {
+ }
+}
+''',
+ (s) => s.indexOf('0; ') + '0; '.length);
+ }
Brian Wilkerson 2017/04/18 17:28:50 Add a test for having both an initializer and a co
messick 2017/04/18 18:05:52 Thanks for catching that. I lost track of that bra
messick 2017/04/18 21:35:40 Done.
+
test_completeIfAfterCondition_BAD() async {
// TODO(messick): Fix the code to make this like test_completeIfWithCondition.
// Recap: Finding the node at the selectionOffset returns the block, not the
« no previous file with comments | « pkg/analysis_server/lib/src/services/completion/statement/statement_completion.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698