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

Unified Diff: pkg/analysis_server/test/domain_completion_test.dart

Issue 424543004: incremental progress aligning code completion api to spec (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: address comments Created 6 years, 5 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
Index: pkg/analysis_server/test/domain_completion_test.dart
diff --git a/pkg/analysis_server/test/domain_completion_test.dart b/pkg/analysis_server/test/domain_completion_test.dart
index 3c0008b40048ed2cf31d39ad7c66a881e7b986a6..bc64d8f5bd4f898597f71ee2fe8116608ac16665 100644
--- a/pkg/analysis_server/test/domain_completion_test.dart
+++ b/pkg/analysis_server/test/domain_completion_test.dart
@@ -27,6 +27,8 @@ main() {
class CompletionTest extends AbstractAnalysisTest {
String completionId;
int completionOffset;
+ int replacementOffset;
+ int replacementLength;
List<CompletionSuggestion> suggestions = [];
bool suggestionsDone = false;
@@ -89,6 +91,8 @@ class CompletionTest extends AbstractAnalysisTest {
assertValidId(id);
if (id == completionId) {
expect(suggestionsDone, isFalse);
+ replacementOffset = notification.getParameter(REPLACEMENT_OFFSET);
+ replacementLength = notification.getParameter(REPLACEMENT_LENGTH);
suggestionsDone = notification.getParameter(LAST);
expect(suggestionsDone, isNotNull);
for (Map<String, Object> json in notification.getParameter(RESULTS)) {
@@ -106,11 +110,16 @@ class CompletionTest extends AbstractAnalysisTest {
handler = new CompletionDomainHandler(server);
}
- Future waitForSuggestions() {
- if (suggestionsDone) {
- return new Future.value();
- }
- return new Future.delayed(Duration.ZERO, waitForSuggestions);
+ test_suggestions_html() {
+ testFile = '/project/web/test.html';
+ addTestFile('''
+ <html>^</html>
+ ''');
+ return getSuggestions().then((_) {
+ expect(replacementOffset, equals(completionOffset));
+ expect(replacementLength, equals(0));
+ expect(suggestions, hasLength(0));
+ });
}
test_suggestions_importedType() {
@@ -119,6 +128,8 @@ class CompletionTest extends AbstractAnalysisTest {
main() {^}
''');
return getSuggestions().then((_) {
+ expect(replacementOffset, equals(completionOffset));
+ expect(replacementLength, equals(0));
assertHasResult(CompletionSuggestionKind.CLASS, 'Object');
assertHasResult(CompletionSuggestionKind.CLASS, 'HtmlElement');
assertNoResult('test');
@@ -128,13 +139,22 @@ class CompletionTest extends AbstractAnalysisTest {
test_suggestions_topLevel() {
addTestFile('''
typedef foo();
- var test^ = '';
- main() {test.}
+ var test = '';
+ main() {tes^t}
''');
return getSuggestions().then((_) {
+// expect(replacementOffset, equals(completionOffset - 3));
+// expect(replacementLength, equals(4));
assertHasResult(CompletionSuggestionKind.CLASS, 'Object');
assertHasResult(CompletionSuggestionKind.TOP_LEVEL_VARIABLE, 'test');
assertNoResult('HtmlElement');
});
}
+
+ Future waitForSuggestions() {
+ if (suggestionsDone) {
+ return new Future.value();
+ }
+ return new Future.delayed(Duration.ZERO, waitForSuggestions);
+ }
}
« no previous file with comments | « pkg/analysis_server/lib/src/domain_completion.dart ('k') | pkg/analysis_services/lib/completion/completion_computer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698