| Index: pkg/analysis_server/test/integration/analysis/highlights_test.dart
|
| diff --git a/pkg/analysis_server/test/integration/analysis/highlights_test.dart b/pkg/analysis_server/test/integration/analysis/highlights_test.dart
|
| index 7ce20afbb44362ddc236a1cfc323bd3e58ca561d..202dc0338c7cbaaf70d9da63b08da7bbcbd69294 100644
|
| --- a/pkg/analysis_server/test/integration/analysis/highlights_test.dart
|
| +++ b/pkg/analysis_server/test/integration/analysis/highlights_test.dart
|
| @@ -14,8 +14,7 @@ import '../integration_tests.dart';
|
| class AnalysisHighlightsTest extends AbstractAnalysisServerIntegrationTest {
|
| test_highlights() {
|
| String pathname = sourcePath('test.dart');
|
| - String text =
|
| - r'''
|
| + String text = r'''
|
| import 'dart:async' as async;
|
|
|
| /**
|
| @@ -67,17 +66,19 @@ int topLevelVariable;
|
| ''';
|
| writeFile(pathname, text);
|
| standardAnalysisSetup();
|
| - sendAnalysisSetSubscriptions({AnalysisService.HIGHLIGHTS: [pathname]});
|
| + sendAnalysisSetSubscriptions({
|
| + AnalysisService.HIGHLIGHTS: [pathname]
|
| + });
|
| // Map from highlight type to highlighted text
|
| - Map<String, Set<String>> highlights;
|
| - onAnalysisHighlights.listen((params) {
|
| - expect(params['file'], equals(pathname));
|
| - highlights = <String, Set<String>>{};
|
| - for (var region in params['regions']) {
|
| - int startIndex = region['offset'];
|
| - int endIndex = startIndex + region['length'];
|
| + Map<HighlightRegionType, Set<String>> highlights;
|
| + onAnalysisHighlights.listen((AnalysisHighlightsParams params) {
|
| + expect(params.file, equals(pathname));
|
| + highlights = <HighlightRegionType, Set<String>>{};
|
| + for (HighlightRegion region in params.regions) {
|
| + int startIndex = region.offset;
|
| + int endIndex = startIndex + region.length;
|
| String highlightedText = text.substring(startIndex, endIndex);
|
| - String type = region['type'];
|
| + HighlightRegionType type = region.type;
|
| if (!highlights.containsKey(type)) {
|
| highlights[type] = new Set<String>();
|
| }
|
| @@ -88,45 +89,57 @@ int topLevelVariable;
|
| // There should be 1 error due to the fact that unresolvedIdentifier is
|
| // unresolved.
|
| expect(currentAnalysisErrors[pathname], hasLength(1));
|
| - void check(String type, List<String> expected) {
|
| + void check(HighlightRegionType type, List<String> expected) {
|
| expect(highlights[type], equals(expected.toSet()));
|
| highlights.remove(type);
|
| }
|
| - check('ANNOTATION', ['@override']);
|
| - check('BUILT_IN', ['as', 'get', 'import', 'set', 'static', 'typedef']);
|
| - check('CLASS', ['Class', 'Class2', 'Future', 'Map', 'int']);
|
| - check('COMMENT_BLOCK', ['/* Block comment */']);
|
| - check('COMMENT_DOCUMENTATION', ['/**\n * Doc comment\n */']);
|
| - check('COMMENT_END_OF_LINE', ['// End of line comment']);
|
| - check('CONSTRUCTOR', ['constructor']);
|
| - check('DIRECTIVE', ["import 'dart:async' as async;"]);
|
| - check('DYNAMIC_TYPE', ['dynamicType']);
|
| - check('FIELD', ['field']);
|
| - check('FIELD_STATIC', ['staticField']);
|
| - check('FUNCTION', ['print']);
|
| - check('FUNCTION_DECLARATION', ['function']);
|
| - check('FUNCTION_TYPE_ALIAS', ['functionType']);
|
| - check('GETTER_DECLARATION', ['getter']);
|
| - check('IDENTIFIER_DEFAULT', ['unresolvedIdentifier']);
|
| - check('IMPORT_PREFIX', ['async']);
|
| - check('KEYWORD', ['class', 'true', 'return']);
|
| - check('LITERAL_BOOLEAN', ['true']);
|
| - check('LITERAL_DOUBLE', ['1.0']);
|
| - check('LITERAL_INTEGER', ['2', '42']);
|
| - check('LITERAL_LIST', ['[]']);
|
| - check('LITERAL_MAP', ['{1.0: [].toList()}', '{2: local}']);
|
| - check('LITERAL_STRING', ["'dart:async'", "'string'"]);
|
| - check('LOCAL_VARIABLE', ['local']);
|
| - check('LOCAL_VARIABLE_DECLARATION', ['local']);
|
| - check('METHOD', ['toList']);
|
| - check('METHOD_DECLARATION', ['method']);
|
| - check('METHOD_DECLARATION_STATIC', ['staticMethod']);
|
| - check('METHOD_STATIC', ['wait']);
|
| - check('PARAMETER', ['parameter']);
|
| - check('SETTER_DECLARATION', ['setter']);
|
| - check('TOP_LEVEL_VARIABLE', ['override', 'topLevelVariable']);
|
| - check('TYPE_NAME_DYNAMIC', ['dynamic']);
|
| - check('TYPE_PARAMETER', ['TypeParameter']);
|
| + check(HighlightRegionType.ANNOTATION, ['@override']);
|
| + check(
|
| + HighlightRegionType.BUILT_IN,
|
| + ['as', 'get', 'import', 'set', 'static', 'typedef']);
|
| + check(
|
| + HighlightRegionType.CLASS,
|
| + ['Class', 'Class2', 'Future', 'Map', 'int']);
|
| + check(HighlightRegionType.COMMENT_BLOCK, ['/* Block comment */']);
|
| + check(
|
| + HighlightRegionType.COMMENT_DOCUMENTATION,
|
| + ['/**\n * Doc comment\n */']);
|
| + check(
|
| + HighlightRegionType.COMMENT_END_OF_LINE,
|
| + ['// End of line comment']);
|
| + check(HighlightRegionType.CONSTRUCTOR, ['constructor']);
|
| + check(HighlightRegionType.DIRECTIVE, ["import 'dart:async' as async;"]);
|
| + check(HighlightRegionType.DYNAMIC_TYPE, ['dynamicType']);
|
| + check(HighlightRegionType.FIELD, ['field']);
|
| + check(HighlightRegionType.FIELD_STATIC, ['staticField']);
|
| + check(HighlightRegionType.FUNCTION, ['print']);
|
| + check(HighlightRegionType.FUNCTION_DECLARATION, ['function']);
|
| + check(HighlightRegionType.FUNCTION_TYPE_ALIAS, ['functionType']);
|
| + check(HighlightRegionType.GETTER_DECLARATION, ['getter']);
|
| + check(HighlightRegionType.IDENTIFIER_DEFAULT, ['unresolvedIdentifier']);
|
| + check(HighlightRegionType.IMPORT_PREFIX, ['async']);
|
| + check(HighlightRegionType.KEYWORD, ['class', 'true', 'return']);
|
| + check(HighlightRegionType.LITERAL_BOOLEAN, ['true']);
|
| + check(HighlightRegionType.LITERAL_DOUBLE, ['1.0']);
|
| + check(HighlightRegionType.LITERAL_INTEGER, ['2', '42']);
|
| + check(HighlightRegionType.LITERAL_LIST, ['[]']);
|
| + check(
|
| + HighlightRegionType.LITERAL_MAP,
|
| + ['{1.0: [].toList()}', '{2: local}']);
|
| + check(HighlightRegionType.LITERAL_STRING, ["'dart:async'", "'string'"]);
|
| + check(HighlightRegionType.LOCAL_VARIABLE, ['local']);
|
| + check(HighlightRegionType.LOCAL_VARIABLE_DECLARATION, ['local']);
|
| + check(HighlightRegionType.METHOD, ['toList']);
|
| + check(HighlightRegionType.METHOD_DECLARATION, ['method']);
|
| + check(HighlightRegionType.METHOD_DECLARATION_STATIC, ['staticMethod']);
|
| + check(HighlightRegionType.METHOD_STATIC, ['wait']);
|
| + check(HighlightRegionType.PARAMETER, ['parameter']);
|
| + check(HighlightRegionType.SETTER_DECLARATION, ['setter']);
|
| + check(
|
| + HighlightRegionType.TOP_LEVEL_VARIABLE,
|
| + ['override', 'topLevelVariable']);
|
| + check(HighlightRegionType.TYPE_NAME_DYNAMIC, ['dynamic']);
|
| + check(HighlightRegionType.TYPE_PARAMETER, ['TypeParameter']);
|
| expect(highlights, isEmpty);
|
| });
|
| }
|
|
|