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

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

Issue 861893003: Library Dependencies Analysis service API. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 11 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
===================================================================
--- editor/tools/plugins/com.google.dart.server_test/src/com/google/dart/server/internal/remote/RemoteAnalysisServerImplTest.java (revision 43075)
+++ editor/tools/plugins/com.google.dart.server_test/src/com/google/dart/server/internal/remote/RemoteAnalysisServerImplTest.java (working copy)
@@ -28,6 +28,7 @@
import com.google.dart.server.GetErrorsConsumer;
import com.google.dart.server.GetFixesConsumer;
import com.google.dart.server.GetHoverConsumer;
+import com.google.dart.server.GetLibraryDependenciesConsumer;
import com.google.dart.server.GetRefactoringConsumer;
import com.google.dart.server.GetSuggestionsConsumer;
import com.google.dart.server.GetTypeHierarchyConsumer;
@@ -408,6 +409,91 @@
assertEquals("stackTrace0", requestError.getStackTrace());
}
+ public void test_analysis_getLibraryDependencies() throws Exception {
+ final String[][] libraries = {{null}};
+ final RequestError[] requestErrorArray = {null};
+ server.analysis_getLibraryDependencies(new GetLibraryDependenciesConsumer() {
+ @Override
+ public void computedDependencies(String[] libs) {
+ libraries[0] = libs;
+ }
+
+ @Override
+ public void onError(RequestError requestError) {
+ requestErrorArray[0] = requestError;
+ }
+ });
+
+ List<JsonObject> requests = requestSink.getRequests();
+ JsonElement expected = parseJson(//
+ "{",
+ " 'id': '0',",
+ " 'method': 'analysis.getLibraryDependencies'",
+ "}");
+ assertTrue(requests.contains(expected));
+
+ putResponse(//
+ "{",
+ " 'id': '0',",
+ " 'result': {",
+ " 'libraries': [",
+ " '/a/b/c.dart',",
+ " '/d/e/f.dart',",
+ " '/g/h/i.dart'",
+ " ]",
+ " }",
+ "}");
+ responseStream.waitForEmpty();
+ server.test_waitForWorkerComplete();
+
+ assertNull(requestErrorArray[0]);
+ assertThat(libraries[0]).hasSize(3);
+ }
+
+ public void test_analysis_getLibraryDependenciess_error() throws Exception {
+ final String[][] directories = {null};
+ final RequestError[] requestErrorArray = {null};
+ server.analysis_getLibraryDependencies(new GetLibraryDependenciesConsumer() {
+ @Override
+ public void computedDependencies(String[] dirs) {
+ directories[0] = dirs;
+ }
+
+ @Override
+ public void onError(RequestError requestError) {
+ requestErrorArray[0] = requestError;
+ }
+ });
+
+ List<JsonObject> requests = requestSink.getRequests();
+ JsonElement expected = parseJson(//
+ "{",
+ " 'id': '0',",
+ " 'method': 'analysis.getLibraryDependencies'",
+ "}");
+ assertTrue(requests.contains(expected));
+
+ putResponse(//
+ "{",
+ " 'id': '0',",
+ " 'method': 'analysis.getLibraryDependencies',",
+ " 'error': {",
+ " 'code': 'CONTENT_MODIFIED',",
+ " 'message': 'message0',",
+ " 'stackTrace': 'stackTrace0'",
+ " }",
+ "}");
+ responseStream.waitForEmpty();
+ server.test_waitForWorkerComplete();
+
+ assertNull(directories[0]);
+ assertNotNull(requestErrorArray[0]);
+ RequestError requestError = requestErrorArray[0];
+ assertEquals("CONTENT_MODIFIED", requestError.getCode());
+ assertEquals("message0", requestError.getMessage());
+ assertEquals("stackTrace0", requestError.getStackTrace());
+ }
+
public void test_analysis_notification_errors() throws Exception {
putResponse(//
"{",

Powered by Google App Engine
This is Rietveld 408576698