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

Unified Diff: pkg/analysis_server/test/analysis/get_navigation_test.dart

Issue 1260503002: Fix for 'analysis.getNavigation' implementation. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Rollback accidential changes Created 5 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
« no previous file with comments | « pkg/analysis_server/lib/src/domain_analysis.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/analysis/get_navigation_test.dart
diff --git a/pkg/analysis_server/test/analysis/get_navigation_test.dart b/pkg/analysis_server/test/analysis/get_navigation_test.dart
index fb35b3c946b3bf087e536d22b622d29e9c491ddc..752ee2777dac861b502f348b4f9f1352b6778a96 100644
--- a/pkg/analysis_server/test/analysis/get_navigation_test.dart
+++ b/pkg/analysis_server/test/analysis/get_navigation_test.dart
@@ -28,19 +28,6 @@ class GetNavigationTest extends AbstractNavigationTest {
createProject();
}
- test_afterAnalysisComplete() async {
- addTestFile('''
-main() {
- var test = 0;
- print(test);
-}
-''');
- await waitForTasksFinished();
- await _getNavigation(testFile, testCode.indexOf('test);'), 0);
- assertHasRegion('test);');
- assertHasTarget('test = 0');
- }
-
test_beforeAnalysisComplete() async {
addTestFile('''
main() {
@@ -68,6 +55,36 @@ main() {
return _checkInvalid(file, -1, -1);
}
+ test_multipleRegions() async {
+ addTestFile('''
+main() {
+ var aaa = 1;
+ var bbb = 2;
+ var ccc = 3;
+ var ddd = 4;
+ print(aaa + bbb + ccc + ddd);
+}
+''');
+ await waitForTasksFinished();
+ // request navigation
+ String navCode = ' + bbb + ';
+ await _getNavigation(testFile, testCode.indexOf(navCode), navCode.length);
+ // verify
+ {
+ assertHasRegion('aaa +');
+ assertHasTarget('aaa = 1');
+ }
+ {
+ assertHasRegion('bbb +');
+ assertHasTarget('bbb = 2');
+ }
+ {
+ assertHasRegion('ccc +');
+ assertHasTarget('ccc = 3');
+ }
+ assertNoRegionAt('ddd)');
+ }
+
test_removeContextAfterRequest() async {
addTestFile('''
main() {
@@ -90,6 +107,32 @@ main() {
expect(response.error.code, RequestErrorCode.GET_NAVIGATION_INVALID_FILE);
}
+ test_zeroLength_end() async {
+ addTestFile('''
+main() {
+ var test = 0;
+ print(test);
+}
+''');
+ await waitForTasksFinished();
+ await _getNavigation(testFile, testCode.indexOf(');'), 0);
+ assertHasRegion('test);');
+ assertHasTarget('test = 0');
+ }
+
+ test_zeroLength_start() async {
+ addTestFile('''
+main() {
+ var test = 0;
+ print(test);
+}
+''');
+ await waitForTasksFinished();
+ await _getNavigation(testFile, testCode.indexOf('test);'), 0);
+ assertHasRegion('test);');
+ assertHasTarget('test = 0');
+ }
+
_checkInvalid(String file, int offset, int length) async {
Request request = _createGetNavigationRequest(file, offset, length);
Response response = await serverChannel.sendRequest(request);
« no previous file with comments | « pkg/analysis_server/lib/src/domain_analysis.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698