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

Unified Diff: pkg/analysis_server/test/services/completion/completion_test_util.dart

Issue 628473002: cleanup/organize/improve completion tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge Created 6 years, 2 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 | « no previous file | pkg/analysis_server/test/services/completion/imported_computer_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/test/services/completion/completion_test_util.dart
diff --git a/pkg/analysis_server/test/services/completion/completion_test_util.dart b/pkg/analysis_server/test/services/completion/completion_test_util.dart
index c4aa2bc823cb2f2c4f20e3812ddddedc13b0976a..63f1d35b42ced020b3c904be424370bbbf61d9c1 100644
--- a/pkg/analysis_server/test/services/completion/completion_test_util.dart
+++ b/pkg/analysis_server/test/services/completion/completion_test_util.dart
@@ -53,8 +53,12 @@ class AbstractCompletionTest extends AbstractContextTest {
}
void assertNotSuggested(String completion) {
- if (request.suggestions.any((cs) => cs.completion == completion)) {
- _failWithNodeInfo('did not expect completion: $completion');
+ CompletionSuggestion suggestion = request.suggestions.firstWhere(
+ (cs) => cs.completion == completion,
+ orElse: () => null);
+ if (suggestion != null) {
+ _failedCompletion(
+ 'did not expect completion: $completion\n $suggestion');
}
}
@@ -67,17 +71,14 @@ class AbstractCompletionTest extends AbstractContextTest {
if (cs == null) {
cs = s;
} else {
- List<CompletionSuggestion> completions =
- request.suggestions.where((s) => s.completion == completion).toList();
- _failWithNodeInfo(
- 'expected exactly one $completion but found > 1\n$completions');
+ _failedCompletion(
+ 'expected exactly one $completion',
+ request.suggestions.where((s) => s.completion == completion));
}
}
});
if (cs == null) {
- List<CompletionSuggestion> completions =
- request.suggestions.map((s) => s.completion).toList();
- _failWithNodeInfo('expected "$completion" but found\n $completions');
+ _failedCompletion('expected $completion', request.suggestions);
}
expect(cs.kind, equals(kind));
expect(cs.relevance, equals(relevance));
@@ -290,8 +291,21 @@ class AbstractCompletionTest extends AbstractContextTest {
searchEngine = new SearchEngineImpl(index);
}
- void _failWithNodeInfo(String message) {
+ void _failedCompletion(String message,
+ [Iterable<CompletionSuggestion> completions]) {
StringBuffer sb = new StringBuffer(message);
+ if (completions != null) {
+ sb.write('\n found');
+ completions.toList()
+ ..sort((CompletionSuggestion s1, CompletionSuggestion s2) {
+ String c1 = s1.completion.toLowerCase();
+ String c2 = s2.completion.toLowerCase();
+ return c1.compareTo(c2);
+ })
+ ..forEach((CompletionSuggestion suggestion) {
+ sb.write('\n ${suggestion.completion} -> $suggestion');
+ });
+ }
if (completionNode != null) {
sb.write('\n in');
AstNode node = completionNode;
« no previous file with comments | « no previous file | pkg/analysis_server/test/services/completion/imported_computer_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698