| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library test.analysis.get_navigation; | |
| 6 | |
| 7 import 'package:analysis_server/protocol/protocol.dart'; | 5 import 'package:analysis_server/protocol/protocol.dart'; |
| 8 import 'package:analysis_server/protocol/protocol_generated.dart'; | 6 import 'package:analysis_server/protocol/protocol_generated.dart'; |
| 9 import 'package:analysis_server/src/domain_analysis.dart'; | 7 import 'package:analysis_server/src/domain_analysis.dart'; |
| 10 import 'package:analyzer/file_system/file_system.dart'; | 8 import 'package:analyzer/file_system/file_system.dart'; |
| 11 import 'package:test/test.dart'; | 9 import 'package:test/test.dart'; |
| 12 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 10 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 13 | 11 |
| 14 import 'notification_navigation_test.dart'; | 12 import 'notification_navigation_test.dart'; |
| 15 | 13 |
| 16 main() { | 14 main() { |
| 17 defineReflectiveSuite(() { | 15 defineReflectiveSuite(() { |
| 18 defineReflectiveTests(GetNavigationTest); | 16 defineReflectiveTests(GetNavigationTest); |
| 19 defineReflectiveTests(GetNavigationTest_Driver); | |
| 20 }); | 17 }); |
| 21 } | 18 } |
| 22 | 19 |
| 23 @reflectiveTest | 20 @reflectiveTest |
| 24 class GetNavigationTest extends AbstractNavigationTest { | 21 class GetNavigationTest extends AbstractNavigationTest { |
| 25 static const String requestId = 'test-getNavigation'; | 22 static const String requestId = 'test-getNavigation'; |
| 26 | 23 |
| 27 @override | 24 @override |
| 28 void setUp() { | 25 void setUp() { |
| 26 enableNewAnalysisDriver = true; |
| 27 generateSummaryFiles = true; |
| 29 super.setUp(); | 28 super.setUp(); |
| 30 server.handlers = [ | 29 server.handlers = [ |
| 31 new AnalysisDomainHandler(server), | 30 new AnalysisDomainHandler(server), |
| 32 ]; | 31 ]; |
| 33 createProject(); | 32 createProject(); |
| 34 } | 33 } |
| 35 | 34 |
| 36 test_beforeAnalysisComplete() async { | 35 test_beforeAnalysisComplete() async { |
| 37 addTestFile(''' | 36 addTestFile(''' |
| 38 main() { | 37 main() { |
| 39 var test = 0; | 38 var test = 0; |
| 40 print(test); | 39 print(test); |
| 41 } | 40 } |
| 42 '''); | 41 '''); |
| 43 await _getNavigation(testFile, testCode.indexOf('test);'), 0); | 42 await _getNavigation(testFile, testCode.indexOf('test);'), 0); |
| 44 assertHasRegion('test);'); | 43 assertHasRegion('test);'); |
| 45 assertHasTarget('test = 0'); | 44 assertHasTarget('test = 0'); |
| 46 } | 45 } |
| 47 | 46 |
| 48 test_fileDoesNotExist() { | 47 test_fileDoesNotExist() { |
| 49 String file = '$projectPath/doesNotExist.dart'; | 48 String file = '$projectPath/doesNotExist.dart'; |
| 50 return _checkInvalid(file, -1, -1); | 49 return _checkInvalid(file, -1, -1); |
| 51 } | 50 } |
| 52 | 51 |
| 52 test_fileOutsideOfRoot() async { |
| 53 testFile = '/outside.dart'; |
| 54 addTestFile(''' |
| 55 main() { |
| 56 var test = 0; |
| 57 print(test); |
| 58 } |
| 59 '''); |
| 60 await _getNavigation(testFile, testCode.indexOf('test);'), 0); |
| 61 assertHasRegion('test);'); |
| 62 assertHasTarget('test = 0'); |
| 63 } |
| 64 |
| 53 test_importDirective() async { | 65 test_importDirective() async { |
| 54 addTestFile(''' | 66 addTestFile(''' |
| 55 import 'dart:math'; | 67 import 'dart:math'; |
| 56 | 68 |
| 57 main() { | 69 main() { |
| 58 }'''); | 70 }'''); |
| 59 await waitForTasksFinished(); | 71 await waitForTasksFinished(); |
| 60 await _getNavigation(testFile, 0, 17); | 72 await _getNavigation(testFile, 0, 17); |
| 61 expect(regions, hasLength(1)); | 73 expect(regions, hasLength(1)); |
| 62 assertHasRegionString("'dart:math'"); | 74 assertHasRegionString("'dart:math'"); |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 _getNavigation(String file, int offset, int length) async { | 243 _getNavigation(String file, int offset, int length) async { |
| 232 Request request = _createGetNavigationRequest(file, offset, length); | 244 Request request = _createGetNavigationRequest(file, offset, length); |
| 233 Response response = await serverChannel.sendRequest(request); | 245 Response response = await serverChannel.sendRequest(request); |
| 234 AnalysisGetNavigationResult result = | 246 AnalysisGetNavigationResult result = |
| 235 new AnalysisGetNavigationResult.fromResponse(response); | 247 new AnalysisGetNavigationResult.fromResponse(response); |
| 236 targetFiles = result.files; | 248 targetFiles = result.files; |
| 237 targets = result.targets; | 249 targets = result.targets; |
| 238 regions = result.regions; | 250 regions = result.regions; |
| 239 } | 251 } |
| 240 } | 252 } |
| 241 | |
| 242 @reflectiveTest | |
| 243 class GetNavigationTest_Driver extends GetNavigationTest { | |
| 244 @override | |
| 245 void setUp() { | |
| 246 enableNewAnalysisDriver = true; | |
| 247 generateSummaryFiles = true; | |
| 248 super.setUp(); | |
| 249 } | |
| 250 | |
| 251 test_fileOutsideOfRoot() async { | |
| 252 testFile = '/outside.dart'; | |
| 253 addTestFile(''' | |
| 254 main() { | |
| 255 var test = 0; | |
| 256 print(test); | |
| 257 } | |
| 258 '''); | |
| 259 await _getNavigation(testFile, testCode.indexOf('test);'), 0); | |
| 260 assertHasRegion('test);'); | |
| 261 assertHasTarget('test = 0'); | |
| 262 } | |
| 263 } | |
| OLD | NEW |