diff --git a/pkg/analysis_server/test/analysis/get_navigation_test.dart b/pkg/analysis_server/test/analysis/get_navigation_test.dart index 98853a60ec7..2a6928a35c3 100644 --- a/pkg/analysis_server/test/analysis/get_navigation_test.dart +++ b/pkg/analysis_server/test/analysis/get_navigation_test.dart @@ -211,6 +211,40 @@ final foo = {"key": ?Foo()}; expect(target.length, 3); } + Future test_documentation() async { + addTestFile(''' +/// [math] +import 'dart:math' as math; +'''); + await waitForTasksFinished(); + await _getNavigation(search: 'math]'); + expect(regions, hasLength(1)); + assertHasRegionString('math'); + expect(testTargets, hasLength(1)); + var target = targets[regions.first.targets.first]; + expect(target.kind, ElementKind.PREFIX); + expect(target.offset, findOffset('math;')); + expect(target.length, 4); + } + + Future test_documentation_library() async { + addTestFile(''' +/// [math] +library; + +import 'dart:math' as math; +'''); + await waitForTasksFinished(); + await _getNavigation(search: 'math]'); + expect(regions, hasLength(1)); + assertHasRegionString('math'); + expect(testTargets, hasLength(1)); + var target = targets[regions.first.targets.first]; + expect(target.kind, ElementKind.PREFIX); + expect(target.offset, findOffset('math;')); + expect(target.length, 4); + } + Future test_field_underscore() async { addTestFile(''' class C { diff --git a/pkg/analyzer_plugin/lib/src/utilities/navigation/navigation_dart.dart b/pkg/analyzer_plugin/lib/src/utilities/navigation/navigation_dart.dart index f484da6a376..dd94da5bc8c 100644 --- a/pkg/analyzer_plugin/lib/src/utilities/navigation/navigation_dart.dart +++ b/pkg/analyzer_plugin/lib/src/utilities/navigation/navigation_dart.dart @@ -438,6 +438,7 @@ class _DartNavigationComputerVisitor extends RecursiveAstVisitor { @override void visitLibraryDirective(LibraryDirective node) { computer._addRegionForElement(node.name2, node.element2); + super.visitLibraryDirective(node); } @override