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

Unified Diff: editor/tools/plugins/com.google.dart.server_test/src/com/google/dart/server/internal/remote/RemoteAnalysisServerImplTest.java

Issue 474193003: Make more use of generated code in Java analysis server. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 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: editor/tools/plugins/com.google.dart.server_test/src/com/google/dart/server/internal/remote/RemoteAnalysisServerImplTest.java
diff --git a/editor/tools/plugins/com.google.dart.server_test/src/com/google/dart/server/internal/remote/RemoteAnalysisServerImplTest.java b/editor/tools/plugins/com.google.dart.server_test/src/com/google/dart/server/internal/remote/RemoteAnalysisServerImplTest.java
index 52f68f406f3c18f88c569265bb1915049e417e09..1dc8647cb3dcd0b810ab27861be9b846268f47d1 100644
--- a/editor/tools/plugins/com.google.dart.server_test/src/com/google/dart/server/internal/remote/RemoteAnalysisServerImplTest.java
+++ b/editor/tools/plugins/com.google.dart.server_test/src/com/google/dart/server/internal/remote/RemoteAnalysisServerImplTest.java
@@ -16,40 +16,39 @@ package com.google.dart.server.internal.remote;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-import com.google.dart.server.AnalysisOptions;
-import com.google.dart.server.AnalysisStatus;
import com.google.dart.server.CompletionRelevance;
import com.google.dart.server.CompletionSuggestion;
import com.google.dart.server.CompletionSuggestionKind;
-import com.google.dart.server.ErrorFixes;
-import com.google.dart.server.GetAssistsConsumer;
import com.google.dart.server.GetErrorsConsumer;
-import com.google.dart.server.GetFixesConsumer;
import com.google.dart.server.GetHoverConsumer;
import com.google.dart.server.GetSuggestionsConsumer;
import com.google.dart.server.GetTypeHierarchyConsumer;
import com.google.dart.server.GetVersionConsumer;
-import com.google.dart.server.HighlightRegion;
-import com.google.dart.server.HighlightType;
-import com.google.dart.server.NavigationRegion;
-import com.google.dart.server.Occurrences;
import com.google.dart.server.Outline;
-import com.google.dart.server.OverrideMember;
import com.google.dart.server.SearchIdConsumer;
import com.google.dart.server.SearchResult;
import com.google.dart.server.SearchResultKind;
-import com.google.dart.server.ServerStatus;
-import com.google.dart.server.SourceChange;
-import com.google.dart.server.SourceEdit;
-import com.google.dart.server.SourceFileEdit;
import com.google.dart.server.TypeHierarchyItem;
+import com.google.dart.server.generated.types.AddContentOverlay;
import com.google.dart.server.generated.types.AnalysisError;
+import com.google.dart.server.generated.types.AnalysisOptions;
+import com.google.dart.server.generated.types.AnalysisService;
+import com.google.dart.server.generated.types.AnalysisStatus;
+import com.google.dart.server.generated.types.ChangeContentOverlay;
import com.google.dart.server.generated.types.Element;
import com.google.dart.server.generated.types.ElementKind;
import com.google.dart.server.generated.types.ErrorSeverity;
+import com.google.dart.server.generated.types.HighlightRegion;
+import com.google.dart.server.generated.types.HighlightRegionType;
import com.google.dart.server.generated.types.HoverInformation;
import com.google.dart.server.generated.types.Location;
+import com.google.dart.server.generated.types.NavigationRegion;
+import com.google.dart.server.generated.types.Occurrences;
+import com.google.dart.server.generated.types.OverriddenMember;
+import com.google.dart.server.generated.types.OverrideMember;
+import com.google.dart.server.generated.types.RemoveContentOverlay;
import com.google.dart.server.generated.types.ServerService;
+import com.google.dart.server.generated.types.SourceEdit;
import com.google.dart.server.internal.AnalysisServerError;
import com.google.dart.server.internal.integration.RemoteAnalysisServerImplIntegrationTest;
import com.google.gson.JsonElement;
@@ -59,7 +58,10 @@ import com.google.gson.JsonParser;
import static org.fest.assertions.Assertions.assertThat;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Map;
/**
* Unit tests for {@link RemoteAnalysisServerImpl}, for integration tests which actually uses the
@@ -245,6 +247,24 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
8), "message B", "correction B"));
}
+ public void test_analysis_notification_flushResults() throws Exception {
+ listener.assertFlushedResults(new ArrayList<String>(0));
+ putResponse(//
+ "{",
+ " 'event': 'analysis.flushResults',",
+ " 'params': {",
+ " 'files': [",
+ " 'file1.dart',",
+ " 'file2.dart',",
+ " 'file3.dart'",
+ " ]",
+ " }",
+ "}");
+ responseStream.waitForEmpty();
+ server.test_waitForWorkerComplete();
+ listener.assertFlushedResults(ImmutableList.of("file1.dart", "file2.dart", "file3.dart"));
+ }
+
public void test_analysis_notification_highlights() throws Exception {
putResponse(//
"{",
@@ -254,7 +274,7 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
" 'regions' : [",
" {",
" 'type': 'CLASS',",
- " 'offset': 1,",
+ " 'offset': 1,",
Paul Berry 2014/08/24 12:10:38 Extra space
" 'length': 2",
" },",
" {",
@@ -271,15 +291,15 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
assertThat(regions).hasSize(2);
{
HighlightRegion error = regions[0];
- assertSame(HighlightType.CLASS, error.getType());
- assertEquals(1, error.getOffset());
- assertEquals(2, error.getLength());
+ assertEquals(HighlightRegionType.CLASS, error.getType());
+ assertEquals(new Integer(1), error.getOffset());
scheglov 2014/08/24 17:18:26 Why do we need to wrap ints into Integers? Aren't
+ assertEquals(new Integer(2), error.getLength());
}
{
HighlightRegion error = regions[1];
- assertSame(HighlightType.FIELD, error.getType());
- assertEquals(10, error.getOffset());
- assertEquals(20, error.getLength());
+ assertEquals(HighlightRegionType.FIELD, error.getType());
+ assertEquals(new Integer(10), error.getOffset());
+ assertEquals(new Integer(20), error.getLength());
}
}
@@ -331,12 +351,12 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
assertThat(regions).hasSize(1);
{
NavigationRegion region = regions[0];
- assertEquals(1, region.getOffset());
- assertEquals(2, region.getLength());
- Element[] elements = region.getTargets();
+ assertEquals(new Integer(1), region.getOffset());
+ assertEquals(new Integer(2), region.getLength());
+ List<Element> elements = region.getTargets();
assertThat(elements).hasSize(2);
{
- Element element = elements[0];
+ Element element = elements.get(0);
assertEquals(ElementKind.COMPILATION_UNIT, element.getKind());
assertEquals("name0", element.getName());
Location location = element.getLocation();
@@ -355,7 +375,7 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
assertEquals("returnType0", element.getReturnType());
}
{
- Element element = elements[1];
+ Element element = elements.get(1);
assertEquals(ElementKind.CLASS, element.getKind());
assertEquals("_name1", element.getName());
Location location = element.getLocation();
@@ -429,7 +449,7 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
assertNull(element.getReturnType());
}
assertThat(occurrences.getOffsets()).hasSize(5).contains(1, 2, 3, 4, 5);
- assertEquals(6, occurrences.getLength());
+ assertEquals(new Integer(6), occurrences.getLength());
}
public void test_analysis_notification_outline() throws Exception {
@@ -537,17 +557,20 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
" {",
" 'offset': 1,",
" 'length': 2,",
- " 'superclassElement': {",
- " 'kind': 'CLASS',",
- " 'name': 'name1',",
- " 'location': {",
- " 'file': '/test2.dart',",
- " 'offset': 3,",
- " 'length': 4,",
- " 'startLine': 5,",
- " 'startColumn': 6",
- " },",
- " 'flags': 0",
+ " 'superclassMember': {",
+ " 'className':'superclassName1',",
+ " 'element': {",
+ " 'kind': 'CLASS',",
+ " 'name': 'name1',",
+ " 'location': {",
+ " 'file': '/test2.dart',",
+ " 'offset': 3,",
+ " 'length': 4,",
+ " 'startLine': 5,",
+ " 'startColumn': 6",
+ " },",
+ " 'flags': 0",
+ " }",
" }",
" },",
" {",
@@ -564,16 +587,17 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
// assertions on overrides
assertThat(overrides).hasSize(2);
{
- assertEquals(1, overrides[0].getOffset());
- assertEquals(2, overrides[0].getLength());
- Element superclassElement = overrides[0].getSuperclassElement();
- assertNotNull(superclassElement);
- assertEquals("name1", superclassElement.getName());
+ assertEquals(new Integer(1), overrides[0].getOffset());
+ assertEquals(new Integer(2), overrides[0].getLength());
+ OverriddenMember superclassMember = overrides[0].getSuperclassMember();
+ assertNotNull(superclassMember);
+ assertEquals("superclassName1", superclassMember.getClassName());
+ assertEquals("name1", superclassMember.getElement().getName());
}
{
- assertEquals(7, overrides[1].getOffset());
- assertEquals(8, overrides[1].getLength());
- assertNull(overrides[1].getSuperclassElement());
+ assertEquals(new Integer(7), overrides[1].getOffset());
+ assertEquals(new Integer(8), overrides[1].getLength());
+ assertNull(overrides[1].getSuperclassMember());
}
}
@@ -677,73 +701,187 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
assertTrue(requests.contains(expected));
}
- // TODO (jwren) uncomment after re-implemented
-// public void test_analysis_setSubscriptions() throws Exception {
-// LinkedHashMap<AnalysisService, List<String>> subscriptions = new LinkedHashMap<AnalysisService, List<String>>();
-// subscriptions.put(AnalysisService.ERRORS, new ArrayList<String>(0));
-// subscriptions.put(AnalysisService.HIGHLIGHTS, ImmutableList.of("/fileA.dart"));
-// subscriptions.put(AnalysisService.NAVIGATION, ImmutableList.of("/fileB.dart", "/fileC.dart"));
-// subscriptions.put(
-// AnalysisService.OUTLINE,
-// ImmutableList.of("/fileD.dart", "/fileE.dart", "/fileF.dart"));
-//
-// server.analysis_setSubscriptions(subscriptions);
-// List<JsonObject> requests = requestSink.getRequests();
-// JsonElement expected = parseJson(//
-// "{",
-// " 'id': '0',",
-// " 'method': 'analysis.setSubscriptions',",
-// " 'params': {",
-// " 'subscriptions': {",
-// " ERRORS: [],",
-// " HIGHLIGHTS: ['/fileA.dart'],",
-// " NAVIGATION: ['/fileB.dart', '/fileC.dart'],",
-// " OUTLINE: ['/fileD.dart', '/fileE.dart', '/fileF.dart']",
-// " }",
-// " }",
-// "}");
-// assertTrue(requests.contains(expected));
-// }
+ public void test_analysis_setSubscriptions() throws Exception {
+ Map<String, List<String>> subscriptionsMap = new LinkedHashMap<String, List<String>>();
+ subscriptionsMap.put(AnalysisService.FOLDING, new ArrayList<String>(0));
+ subscriptionsMap.put(AnalysisService.HIGHLIGHTS, ImmutableList.of("/fileA.dart"));
+ subscriptionsMap.put(AnalysisService.NAVIGATION, ImmutableList.of("/fileB.dart", "/fileC.dart"));
+ subscriptionsMap.put(
+ AnalysisService.OCCURRENCES,
+ ImmutableList.of("/fileD.dart", "/fileE.dart", "/fileF.dart"));
- // TODO (jwren) uncomment after re-implemented
-// public void test_analysis_setSubscriptions_emptyMap() throws Exception {
-// server.analysis_setSubscriptions(new HashMap<AnalysisService, List<String>>(0));
-// List<JsonObject> requests = requestSink.getRequests();
-// JsonElement expected = parseJson(//
-// "{",
-// " 'id': '0',",
-// " 'method': 'analysis.setSubscriptions',",
-// " 'params': {",
-// " 'subscriptions': {}",
-// " }",
-// "}");
-// assertTrue(requests.contains(expected));
-// }
+ server.analysis_setSubscriptions(subscriptionsMap);
+ List<JsonObject> requests = requestSink.getRequests();
+ JsonElement expected = parseJson(//
+ "{",
+ " 'id': '0',",
+ " 'method': 'analysis.setSubscriptions',",
+ " 'params': {",
+ " 'subscriptions': {",
+ " FOLDING: [],",
+ " HIGHLIGHTS: ['/fileA.dart'],",
+ " NAVIGATION: ['/fileB.dart', '/fileC.dart'],",
+ " OCCURRENCES: ['/fileD.dart', '/fileE.dart', '/fileF.dart']",
+ " }",
+ " }",
+ "}");
+ assertTrue(requests.contains(expected));
+ }
- // TODO (jwren) uncomment after re-implemented
-// public void test_analysis_setSubscriptions_nullMap() throws Exception {
-// server.analysis_setSubscriptions(null);
-// List<JsonObject> requests = requestSink.getRequests();
-// JsonElement expected = parseJson(//
-// "{",
-// " 'id': '0',",
-// " 'method': 'analysis.setSubscriptions',",
-// " 'params': {",
-// " 'subscriptions': {}",
-// " }",
-// "}");
-// assertTrue(requests.contains(expected));
-// }
+ public void test_analysis_setSubscriptions_emptyMap() throws Exception {
+ server.analysis_setSubscriptions(new HashMap<String, List<String>>(0));
+ List<JsonObject> requests = requestSink.getRequests();
+ JsonElement expected = parseJson(//
+ "{",
+ " 'id': '0',",
+ " 'method': 'analysis.setSubscriptions',",
+ " 'params': {",
+ " 'subscriptions': {}",
+ " }",
+ "}");
+ assertTrue(requests.contains(expected));
+ }
+
+ public void test_analysis_setSubscriptions_nullMap() throws Exception {
+ server.analysis_setSubscriptions(null);
+ List<JsonObject> requests = requestSink.getRequests();
+ JsonElement expected = parseJson(//
+ "{",
+ " 'id': '0',",
+ " 'method': 'analysis.setSubscriptions',",
+ " 'params': {",
+ " 'subscriptions': {}",
+ " }",
+ "}");
+ assertTrue(requests.contains(expected));
+ }
+
+ public void test_analysis_updateContent_AddContentOverlay() throws Exception {
+ Map<String, Object> files = new HashMap<String, Object>(2);
+ files.put("/fileA.dart", new AddContentOverlay("content for A"));
+ files.put("/fileB.dart", new AddContentOverlay("content for B"));
+ server.analysis_updateContent(files);
+ List<JsonObject> requests = requestSink.getRequests();
+ JsonElement expected = parseJson(//
+ "{",
+ " 'id': '0',",
+ " 'method': 'analysis.updateContent',",
+ " 'params': {",
+ " 'files': {",
+ " '/fileA.dart': {",
+ " 'type': 'add',",
+ " 'content': 'content for A'",
+ " },",
+ " '/fileB.dart': {",
+ " 'type': 'add',",
+ " 'content': 'content for B'",
+ " }",
+ " }",
+ " }",
+ "}");
+ assertTrue(requests.contains(expected));
+ }
+
+ public void test_analysis_updateContent_ChangeContentOverlay() throws Exception {
+ Map<String, Object> files = new HashMap<String, Object>(2);
+ List<SourceEdit> sourceEdit1 = new ArrayList<SourceEdit>(1);
+ sourceEdit1.add(new SourceEdit(0, 1, "replacement1", null));
+ List<SourceEdit> sourceEdit2 = new ArrayList<SourceEdit>(1);
+ sourceEdit2.add(new SourceEdit(2, 3, "replacement2", "sourceEditId2"));
+ files.put("/fileA.dart", new ChangeContentOverlay(sourceEdit1));
+ files.put("/fileB.dart", new ChangeContentOverlay(sourceEdit2));
+ server.analysis_updateContent(files);
+ List<JsonObject> requests = requestSink.getRequests();
+ JsonElement expected = parseJson(//
+ "{",
+ " 'id': '0',",
+ " 'method': 'analysis.updateContent',",
+ " 'params': {",
+ " 'files': {",
+ " '/fileA.dart': {",
+ " 'type': 'change',",
+ " 'edits': [",
+ " {",
+ " 'offset': 0,",
+ " 'length': 1,",
+ " 'replacement': 'replacement1'",
+ " }",
+ " ]",
+ " },",
+ " '/fileB.dart': {",
+ " 'type': 'change',",
+ " 'edits': [",
+ " {",
+ " 'offset': 2,",
+ " 'length': 3,",
+ " 'replacement': 'replacement2',",
+ " 'id': 'sourceEditId2'",
+ " }",
+ " ]",
+ " }",
+ " }",
+ " }",
+ "}");
+ assertTrue(requests.contains(expected));
+ }
+
+ public void test_analysis_updateContent_emptyList() throws Exception {
+ Map<String, Object> files = new HashMap<String, Object>(0);
+ server.analysis_updateContent(files);
+ List<JsonObject> requests = requestSink.getRequests();
+ JsonElement expected = parseJson(//
+ "{",
+ " 'id': '0',",
+ " 'method': 'analysis.updateContent',",
+ " 'params': {",
+ " 'files': {",
+ " }",
+ " }",
+ "}");
+ assertTrue(requests.contains(expected));
+ }
+
+ public void test_analysis_updateContent_nullList() throws Exception {
+ server.analysis_updateContent(null);
+ List<JsonObject> requests = requestSink.getRequests();
+ JsonElement expected = parseJson(//
+ "{",
+ " 'id': '0',",
+ " 'method': 'analysis.updateContent',",
+ " 'params': {",
+ " 'files': {",
+ " }",
+ " }",
+ "}");
+ assertTrue(requests.contains(expected));
+ }
+
+ public void test_analysis_updateContent_RemoveContentOverlay() throws Exception {
+ Map<String, Object> files = new HashMap<String, Object>(2);
+ files.put("/fileA.dart", new RemoveContentOverlay());
+ files.put("/fileB.dart", new RemoveContentOverlay());
+ server.analysis_updateContent(files);
+ List<JsonObject> requests = requestSink.getRequests();
+ JsonElement expected = parseJson(//
+ "{",
+ " 'id': '0',",
+ " 'method': 'analysis.updateContent',",
+ " 'params': {",
+ " 'files': {",
+ " '/fileA.dart': {",
+ " 'type': 'remove'",
+ " },",
+ " '/fileB.dart': {",
+ " 'type': 'remove'",
+ " }",
+ " }",
+ " }",
+ "}");
+ assertTrue(requests.contains(expected));
+ }
- public void test_analysis_updateAnalysisOptions_all_false() throws Exception {
- AnalysisOptions options = new AnalysisOptions();
- options.setAnalyzeAngular(false);
- options.setAnalyzePolymer(false);
- options.setEnableAsync(false);
- options.setEnableDeferredLoading(false);
- options.setEnableEnums(false);
- options.setGenerateDart2jsHints(false);
- options.setGenerateHints(false);
+ public void test_analysis_updateOptions_all_false() throws Exception {
+ AnalysisOptions options = new AnalysisOptions(false, false, false, false, false);
server.analysis_updateOptions(options);
List<JsonObject> requests = requestSink.getRequests();
JsonElement expected = parseJson(//
@@ -752,8 +890,6 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
" 'method': 'analysis.updateOptions',",
" 'params': {",
" 'options': {",
- " 'analyzeAngular': false,",
- " 'analyzePolymer': false,",
" 'enableAsync': false,",
" 'enableDeferredLoading': false,",
" 'enableEnums': false,",
@@ -765,15 +901,8 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
assertTrue(requests.contains(expected));
}
- public void test_analysis_updateAnalysisOptions_all_true() throws Exception {
- AnalysisOptions options = new AnalysisOptions();
- options.setAnalyzeAngular(true);
- options.setAnalyzePolymer(true);
- options.setEnableAsync(true);
- options.setEnableDeferredLoading(true);
- options.setEnableEnums(true);
- options.setGenerateDart2jsHints(true);
- options.setGenerateHints(true);
+ public void test_analysis_updateOptions_all_true() throws Exception {
+ AnalysisOptions options = new AnalysisOptions(true, true, true, true, true);
server.analysis_updateOptions(options);
List<JsonObject> requests = requestSink.getRequests();
JsonElement expected = parseJson(//
@@ -782,8 +911,6 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
" 'method': 'analysis.updateOptions',",
" 'params': {",
" 'options': {",
- " 'analyzeAngular': true,",
- " 'analyzePolymer': true,",
" 'enableAsync': true,",
" 'enableDeferredLoading': true,",
" 'enableEnums': true,",
@@ -795,9 +922,8 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
assertTrue(requests.contains(expected));
}
- public void test_analysis_updateAnalysisOptions_subset1() throws Exception {
- AnalysisOptions options = new AnalysisOptions();
- options.setAnalyzeAngular(true);
+ public void test_analysis_updateOptions_subset1() throws Exception {
+ AnalysisOptions options = new AnalysisOptions(true, null, null, null, null);
server.analysis_updateOptions(options);
List<JsonObject> requests = requestSink.getRequests();
JsonElement expected = parseJson(//
@@ -806,18 +932,15 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
" 'method': 'analysis.updateOptions',",
" 'params': {",
" 'options': {",
- " 'analyzeAngular': true",
+ " 'enableAsync': true",
" }",
" }",
"}");
assertTrue(requests.contains(expected));
}
- public void test_analysis_updateAnalysisOptions_subset2() throws Exception {
- AnalysisOptions options = new AnalysisOptions();
- options.setAnalyzePolymer(true);
- options.setEnableAsync(false);
- options.setEnableDeferredLoading(true);
+ public void test_analysis_updateOptions_subset2() throws Exception {
+ AnalysisOptions options = new AnalysisOptions(false, true, null, null, null);
server.analysis_updateOptions(options);
List<JsonObject> requests = requestSink.getRequests();
JsonElement expected = parseJson(//
@@ -826,7 +949,6 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
" 'method': 'analysis.updateOptions',",
" 'params': {",
" 'options': {",
- " 'analyzePolymer': true,",
" 'enableAsync': false,",
" 'enableDeferredLoading': true",
" }",
@@ -835,67 +957,6 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
assertTrue(requests.contains(expected));
}
- // TODO (jwren) API change
-// public void test_analysis_updateContent() throws Exception {
-// Map<String, ContentChange> files = ImmutableMap.of(
-// "/fileA.dart",
-// new ContentChange("aaa"),
-// "/fileB.dart",
-// new ContentChange("bbb", 1, 2, 3));
-// server.analysis_updateContent(files);
-// List<JsonObject> requests = requestSink.getRequests();
-// JsonElement expected = parseJson(//
-// "{",
-// " 'id': '0',",
-// " 'method': 'analysis.updateContent',",
-// " 'params': {",
-// " 'files': {",
-// " '/fileA.dart': {",
-// " 'content': 'aaa'",
-// " },",
-// " '/fileB.dart': {",
-// " 'content': 'bbb',",
-// " 'offset': 1,",
-// " 'oldLength': 2,",
-// " 'newLength': 3",
-// " }",
-// " }",
-// " }",
-// "}");
-// assertTrue(requests.contains(expected));
-// }
-//
-// public void test_analysis_updateContent_emptyList() throws Exception {
-// Map<String, ContentChange> files = Maps.newHashMap();
-// server.updateContent(files);
-// List<JsonObject> requests = requestSink.getRequests();
-// JsonElement expected = parseJson(//
-// "{",
-// " 'id': '0',",
-// " 'method': 'analysis.updateContent',",
-// " 'params': {",
-// " 'files': {",
-// " }",
-// " }",
-// "}");
-// assertTrue(requests.contains(expected));
-// }
-//
-// public void test_analysis_updateContent_nullList() throws Exception {
-// server.updateContent(null);
-// List<JsonObject> requests = requestSink.getRequests();
-// JsonElement expected = parseJson(//
-// "{",
-// " 'id': '0',",
-// " 'method': 'analysis.updateContent',",
-// " 'params': {",
-// " 'files': {",
-// " }",
-// " }",
-// "}");
-// assertTrue(requests.contains(expected));
-// }
-
public void test_completion_getSuggestions() throws Exception {
final String[] completionIdPtr = {null};
server.completion_getSuggestions("/fileA.dart", 0, new GetSuggestionsConsumer() {
@@ -1518,208 +1579,208 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
// "}");
// assertTrue(requests.contains(expected));
// }
-
- public void test_edit_getAssists() throws Exception {
- final SourceChange[][] sourceChangeArray = {{null}};
- server.edit_getAssists("/fileA.dart", 1, 2, new GetAssistsConsumer() {
- @Override
- public void computedSourceChanges(SourceChange[] sourceChanges) {
- sourceChangeArray[0] = sourceChanges;
- }
- });
- List<JsonObject> requests = requestSink.getRequests();
- JsonElement expected = parseJson(//
- "{",
- " 'id': '0',",
- " 'method': 'edit.getAssists',",
- " 'params': {",
- " 'file': '/fileA.dart',",
- " 'offset': 1,",
- " 'length': 2",
- " }",
- "}");
- assertTrue(requests.contains(expected));
-
- putResponse(//
- "{",
- " 'id': '0',",
- " 'result': {",
- " 'assists': [",
- " {",
- " 'message': 'message1',",
- " 'edits': [",
- " {",
- " 'file':'someFile1.dart',",
- " 'edits': [",
- " {",
- " 'offset': 1,",
- " 'length': 2,",
- " 'replacement': 'replacement1'",
- " }",
- " ]",
- " }",
- " ]",
- " },",
- " {",
- " 'message': 'message2',",
- " 'edits': [",
- " {",
- " 'file':'someFile2.dart',",
- " 'edits': [",
- " {",
- " 'offset': 3,",
- " 'length': 4,",
- " 'replacement': 'replacement2'",
- " }",
- " ]",
- " }",
- " ]",
- " }",
- " ]",
- " }",
- "}");
- server.test_waitForWorkerComplete();
-
- // assertions on 'refactorings' (List<SourceChange>)
- SourceChange[] sourceChanges = sourceChangeArray[0];
- assertThat(sourceChanges).hasSize(2);
- {
- assertEquals("message1", sourceChanges[0].getMessage());
- assertThat(sourceChanges[0].getEdits()).hasSize(1);
- SourceFileEdit sourceFileEdit = sourceChanges[0].getEdits()[0];
- assertEquals("someFile1.dart", sourceFileEdit.getFile());
- assertThat(sourceFileEdit.getEdits()).hasSize(1);
- SourceEdit sourceEdit = sourceFileEdit.getEdits()[0];
- assertEquals(1, sourceEdit.getOffset());
- assertEquals(2, sourceEdit.getLength());
- assertEquals("replacement1", sourceEdit.getReplacement());
- }
- {
- assertEquals("message2", sourceChanges[1].getMessage());
- assertThat(sourceChanges[1].getEdits()).hasSize(1);
- SourceFileEdit sourceFileEdit = sourceChanges[1].getEdits()[0];
- assertEquals("someFile2.dart", sourceFileEdit.getFile());
- assertThat(sourceFileEdit.getEdits()).hasSize(1);
- SourceEdit sourceEdit = sourceFileEdit.getEdits()[0];
- assertEquals(3, sourceEdit.getOffset());
- assertEquals(4, sourceEdit.getLength());
- assertEquals("replacement2", sourceEdit.getReplacement());
- }
- }
-
- public void test_edit_getFixes() throws Exception {
- final ErrorFixes[][] errorFixesArray = {{null}};
- server.edit_getFixes("/fileA.dart", 1, new GetFixesConsumer() {
- @Override
- public void computedFixes(ErrorFixes[] e) {
- errorFixesArray[0] = e;
- }
- });
- List<JsonObject> requests = requestSink.getRequests();
- JsonElement expected = parseJson(//
- "{",
- " 'id': '0',",
- " 'method': 'edit.getFixes',",
- " 'params': {",
- " 'file': '/fileA.dart',",
- " 'offset': 1",
- " }",
- "}");
- assertTrue(requests.contains(expected));
-
- putResponse(//
- "{",
- " 'id': '0',",
- " 'result': {",
- " 'fixes': [",
- " {",
- " 'error': {",
- " 'severity': 'ERROR',",
- " 'type': 'SYNTACTIC_ERROR',",
- " 'location': {",
- " 'file': '/fileA.dart',",
- " 'offset': 1,",
- " 'length': 2,",
- " 'startLine': 3,",
- " 'startColumn': 4",
- " },",
- " 'message': 'message A',",
- " 'correction': 'correction A'",
- " },",
- " 'fixes': [",
- " {",
- " 'message': 'message3',",
- " 'edits': [",
- " {",
- " 'file':'someFile3.dart',",
- " 'edits': [",
- " {",
- " 'offset': 9,",
- " 'length': 10,",
- " 'replacement': 'replacement1'",
- " }",
- " ]",
- " }",
- " ]",
- " }",
- " ]",
- " },",
- " {",
- " 'error': {",
- " 'severity': 'ERROR',",
- " 'type': 'COMPILE_TIME_ERROR',",
- " 'location': {",
- " 'file': '/fileB.dart',",
- " 'offset': 5,",
- " 'length': 6,",
- " 'startLine': 7,",
- " 'startColumn': 8",
- " },",
- " 'message': 'message B',",
- " 'correction': 'correction B'",
- " },",
- " 'fixes':[]",
- " }",
- " ]",
- " }",
- "}");
- server.test_waitForWorkerComplete();
-
- // assertions on 'fixes' (List<ErrorFixes>)
- ErrorFixes[] errorFixes = errorFixesArray[0];
- assertThat(errorFixes).hasSize(2);
- {
- AnalysisError error = errorFixes[0].getError();
- assertEquals(new AnalysisError(ErrorSeverity.ERROR, "SYNTACTIC_ERROR", new Location(
- "/fileA.dart",
- 1,
- 2,
- 3,
- 4), "message A", "correction A"), error);
- SourceChange[] sourceChangeArray = errorFixes[0].getFixes();
- assertThat(sourceChangeArray).hasSize(1);
- assertEquals("message3", sourceChangeArray[0].getMessage());
- assertThat(sourceChangeArray[0].getEdits()).hasSize(1);
- SourceFileEdit sourceFileEdit = sourceChangeArray[0].getEdits()[0];
- assertEquals("someFile3.dart", sourceFileEdit.getFile());
- assertThat(sourceFileEdit.getEdits()).hasSize(1);
- SourceEdit sourceEdit = sourceFileEdit.getEdits()[0];
- assertEquals(9, sourceEdit.getOffset());
- assertEquals(10, sourceEdit.getLength());
- assertEquals("replacement1", sourceEdit.getReplacement());
- }
- {
- AnalysisError error = errorFixes[1].getError();
- assertEquals(new AnalysisError(ErrorSeverity.ERROR, "COMPILE_TIME_ERROR", new Location(
- "/fileB.dart",
- 5,
- 6,
- 7,
- 8), "message B", "correction B"), error);
- SourceChange[] sourceChangeArray = errorFixes[1].getFixes();
- assertThat(sourceChangeArray).isEmpty();
- }
- }
+//
+// public void test_edit_getAssists() throws Exception {
+// final SourceChange[][] sourceChangeArray = {{null}};
+// server.edit_getAssists("/fileA.dart", 1, 2, new GetAssistsConsumer() {
+// @Override
+// public void computedSourceChanges(SourceChange[] sourceChanges) {
+// sourceChangeArray[0] = sourceChanges;
+// }
+// });
+// List<JsonObject> requests = requestSink.getRequests();
+// JsonElement expected = parseJson(//
+// "{",
+// " 'id': '0',",
+// " 'method': 'edit.getAssists',",
+// " 'params': {",
+// " 'file': '/fileA.dart',",
+// " 'offset': 1,",
+// " 'length': 2",
+// " }",
+// "}");
+// assertTrue(requests.contains(expected));
+//
+// putResponse(//
+// "{",
+// " 'id': '0',",
+// " 'result': {",
+// " 'assists': [",
+// " {",
+// " 'message': 'message1',",
+// " 'edits': [",
+// " {",
+// " 'file':'someFile1.dart',",
+// " 'edits': [",
+// " {",
+// " 'offset': 1,",
+// " 'length': 2,",
+// " 'replacement': 'replacement1'",
+// " }",
+// " ]",
+// " }",
+// " ]",
+// " },",
+// " {",
+// " 'message': 'message2',",
+// " 'edits': [",
+// " {",
+// " 'file':'someFile2.dart',",
+// " 'edits': [",
+// " {",
+// " 'offset': 3,",
+// " 'length': 4,",
+// " 'replacement': 'replacement2'",
+// " }",
+// " ]",
+// " }",
+// " ]",
+// " }",
+// " ]",
+// " }",
+// "}");
+// server.test_waitForWorkerComplete();
+//
+// // assertions on 'refactorings' (List<SourceChange>)
+// SourceChange[] sourceChanges = sourceChangeArray[0];
+// assertThat(sourceChanges).hasSize(2);
+// {
+// assertEquals("message1", sourceChanges[0].getMessage());
+// assertThat(sourceChanges[0].getEdits()).hasSize(1);
+// SourceFileEdit sourceFileEdit = sourceChanges[0].getEdits()[0];
+// assertEquals("someFile1.dart", sourceFileEdit.getFile());
+// assertThat(sourceFileEdit.getEdits()).hasSize(1);
+// SourceEdit sourceEdit = sourceFileEdit.getEdits()[0];
+// assertEquals(1, sourceEdit.getOffset());
+// assertEquals(2, sourceEdit.getLength());
+// assertEquals("replacement1", sourceEdit.getReplacement());
+// }
+// {
+// assertEquals("message2", sourceChanges[1].getMessage());
+// assertThat(sourceChanges[1].getEdits()).hasSize(1);
+// SourceFileEdit sourceFileEdit = sourceChanges[1].getEdits()[0];
+// assertEquals("someFile2.dart", sourceFileEdit.getFile());
+// assertThat(sourceFileEdit.getEdits()).hasSize(1);
+// SourceEdit sourceEdit = sourceFileEdit.getEdits()[0];
+// assertEquals(3, sourceEdit.getOffset());
+// assertEquals(4, sourceEdit.getLength());
+// assertEquals("replacement2", sourceEdit.getReplacement());
+// }
+// }
+//
+// public void test_edit_getFixes() throws Exception {
+// final ErrorFixes[][] errorFixesArray = {{null}};
+// server.edit_getFixes("/fileA.dart", 1, new GetFixesConsumer() {
+// @Override
+// public void computedFixes(ErrorFixes[] e) {
+// errorFixesArray[0] = e;
+// }
+// });
+// List<JsonObject> requests = requestSink.getRequests();
+// JsonElement expected = parseJson(//
+// "{",
+// " 'id': '0',",
+// " 'method': 'edit.getFixes',",
+// " 'params': {",
+// " 'file': '/fileA.dart',",
+// " 'offset': 1",
+// " }",
+// "}");
+// assertTrue(requests.contains(expected));
+//
+// putResponse(//
+// "{",
+// " 'id': '0',",
+// " 'result': {",
+// " 'fixes': [",
+// " {",
+// " 'error': {",
+// " 'severity': 'ERROR',",
+// " 'type': 'SYNTACTIC_ERROR',",
+// " 'location': {",
+// " 'file': '/fileA.dart',",
+// " 'offset': 1,",
+// " 'length': 2,",
+// " 'startLine': 3,",
+// " 'startColumn': 4",
+// " },",
+// " 'message': 'message A',",
+// " 'correction': 'correction A'",
+// " },",
+// " 'fixes': [",
+// " {",
+// " 'message': 'message3',",
+// " 'edits': [",
+// " {",
+// " 'file':'someFile3.dart',",
+// " 'edits': [",
+// " {",
+// " 'offset': 9,",
+// " 'length': 10,",
+// " 'replacement': 'replacement1'",
+// " }",
+// " ]",
+// " }",
+// " ]",
+// " }",
+// " ]",
+// " },",
+// " {",
+// " 'error': {",
+// " 'severity': 'ERROR',",
+// " 'type': 'COMPILE_TIME_ERROR',",
+// " 'location': {",
+// " 'file': '/fileB.dart',",
+// " 'offset': 5,",
+// " 'length': 6,",
+// " 'startLine': 7,",
+// " 'startColumn': 8",
+// " },",
+// " 'message': 'message B',",
+// " 'correction': 'correction B'",
+// " },",
+// " 'fixes':[]",
+// " }",
+// " ]",
+// " }",
+// "}");
+// server.test_waitForWorkerComplete();
+//
+// // assertions on 'fixes' (List<ErrorFixes>)
+// ErrorFixes[] errorFixes = errorFixesArray[0];
+// assertThat(errorFixes).hasSize(2);
+// {
+// AnalysisError error = errorFixes[0].getError();
+// assertEquals(new AnalysisError(ErrorSeverity.ERROR, "SYNTACTIC_ERROR", new Location(
+// "/fileA.dart",
+// 1,
+// 2,
+// 3,
+// 4), "message A", "correction A"), error);
+// SourceChange[] sourceChangeArray = errorFixes[0].getFixes();
+// assertThat(sourceChangeArray).hasSize(1);
+// assertEquals("message3", sourceChangeArray[0].getMessage());
+// assertThat(sourceChangeArray[0].getEdits()).hasSize(1);
+// SourceFileEdit sourceFileEdit = sourceChangeArray[0].getEdits()[0];
+// assertEquals("someFile3.dart", sourceFileEdit.getFile());
+// assertThat(sourceFileEdit.getEdits()).hasSize(1);
+// SourceEdit sourceEdit = sourceFileEdit.getEdits()[0];
+// assertEquals(9, sourceEdit.getOffset());
+// assertEquals(10, sourceEdit.getLength());
+// assertEquals("replacement1", sourceEdit.getReplacement());
+// }
+// {
+// AnalysisError error = errorFixes[1].getError();
+// assertEquals(new AnalysisError(ErrorSeverity.ERROR, "COMPILE_TIME_ERROR", new Location(
+// "/fileB.dart",
+// 5,
+// 6,
+// 7,
+// 8), "message B", "correction B"), error);
+// SourceChange[] sourceChangeArray = errorFixes[1].getFixes();
+// assertThat(sourceChangeArray).isEmpty();
+// }
+// }
// TODO (jwren) refactoring API changed
// public void test_edit_getRefactorings() throws Exception {
@@ -2416,10 +2477,10 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
assertEquals(SearchResultKind.DECLARATION, result.getKind());
assertEquals(true, result.isPotential());
{
- Element[] path = result.getPath();
+ List<Element> path = result.getPath();
assertThat(path).hasSize(2);
{
- Element element = path[0];
+ Element element = path.get(0);
assertEquals(ElementKind.FUNCTION, element.getKind());
assertEquals("foo", element.getName());
assertLocation(element.getLocation(), "fileA.dart", 13, 14, 15, 16);
@@ -2433,7 +2494,7 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
assertEquals("anotherType", element.getReturnType());
}
{
- Element element = path[1];
+ Element element = path.get(1);
assertEquals(ElementKind.CLASS, element.getKind());
assertEquals("myClass", element.getName());
assertLocation(element.getLocation(), "fileB.dart", 17, 18, 19, 20);
@@ -2544,9 +2605,7 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
"}");
responseStream.waitForEmpty();
server.test_waitForWorkerComplete();
- ServerStatus serverStatus = new ServerStatus();
- serverStatus.setAnalysisStatus(new AnalysisStatus(false, null));
- listener.assertServerStatus(serverStatus);
+ listener.assertAnalysisStatus(new AnalysisStatus(false, null));
}
public void test_server_notification_status_true() throws Exception {
@@ -2562,9 +2621,7 @@ public class RemoteAnalysisServerImplTest extends AbstractRemoteServerTest {
"}");
responseStream.waitForEmpty();
server.test_waitForWorkerComplete();
- ServerStatus serverStatus = new ServerStatus();
- serverStatus.setAnalysisStatus(new AnalysisStatus(true, "target0"));
- listener.assertServerStatus(serverStatus);
+ listener.assertAnalysisStatus(new AnalysisStatus(true, "target0"));
}
public void test_server_setSubscriptions_emptyList() throws Exception {

Powered by Google App Engine
This is Rietveld 408576698