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

Unified Diff: pkg/analysis_server/test/integration/analysis/highlights_test.dart

Issue 631553002: Change integration test notifications to use structured objects. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 2 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: 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);
});
}

Powered by Google App Engine
This is Rietveld 408576698