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

Unified Diff: pkg/analysis_server/test/analysis_notification_highlights_test.dart

Issue 454843004: Fixes for the missing highlights. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove unused function Created 6 years, 4 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/test/analysis_abstract.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_notification_highlights_test.dart
diff --git a/pkg/analysis_server/test/analysis_notification_highlights_test.dart b/pkg/analysis_server/test/analysis_notification_highlights_test.dart
index 3029716dc71385644da8fa1efb2eb8e10380b9e0..c71601c39d35a8b2980a4891ca600ee426a96c05 100644
--- a/pkg/analysis_server/test/analysis_notification_highlights_test.dart
+++ b/pkg/analysis_server/test/analysis_notification_highlights_test.dart
@@ -46,6 +46,12 @@ class AnalysisNotificationHighlightsTest extends AbstractAnalysisTest {
assertHasRawRegion(type, offset, length);
}
+ void assertHasStringRegion(HighlightType type, String str) {
+ int offset = findOffset(str);
+ int length = str.length;
+ assertHasRawRegion(type, offset, length);
+ }
+
void assertNoRawRegion(HighlightType type, int offset, int length) {
for (HighlightRegion region in regions) {
if (region.offset == offset &&
@@ -343,10 +349,7 @@ main() {
var part = 1;
var of = 2;
}''');
- addFile('/project/bin/my_lib.dart', '''
-library lib;
-part 'test.dart';
-''');
+ _addLibraryForTestPart();
return prepareHighlights().then((_) {
assertHasRegion(HighlightType.BUILT_IN, 'part of', 'part of'.length);
assertNoRegion(HighlightType.BUILT_IN, 'part = 1');
@@ -479,6 +482,31 @@ main() {
});
}
+ test_DIRECTIVE() {
+ addTestFile('''
+library lib;
+import 'dart:math';
+export 'dart:math';
+part 'part.dart';
+''');
+ return prepareHighlights().then((_) {
+ assertHasStringRegion(HighlightType.DIRECTIVE, "library lib;");
+ assertHasStringRegion(HighlightType.DIRECTIVE, "import 'dart:math';");
+ assertHasStringRegion(HighlightType.DIRECTIVE, "export 'dart:math';");
+ assertHasStringRegion(HighlightType.DIRECTIVE, "part 'part.dart';");
+ });
+ }
+
+ test_DIRECTIVE_partOf() {
+ addTestFile('''
+part of lib;
+''');
+ _addLibraryForTestPart();
+ return prepareHighlights().then((_) {
+ assertHasStringRegion(HighlightType.DIRECTIVE, "part of lib;");
+ });
+ }
+
test_DYNAMIC_TYPE() {
addTestFile('''
f() {}
@@ -578,7 +606,7 @@ main(A a) {
return prepareHighlights().then((_) {
assertHasRegion(HighlightType.GETTER_DECLARATION, 'aaa => null');
assertHasRegion(HighlightType.GETTER_DECLARATION, 'bbb => null');
- assertHasRegion(HighlightType.FIELD_STATIC, 'aaa;');
+ assertHasRegion(HighlightType.TOP_LEVEL_VARIABLE, 'aaa;');
assertHasRegion(HighlightType.FIELD, 'bbb;');
});
}
@@ -611,6 +639,71 @@ main() {
});
}
+ test_KEYWORD() {
+ addTestFile('''
+main() {
+ assert(true);
+ for (;;) break;
+ switch (0) {
+ case 0: break;
+ default: break;
+ }
+ try {} catch (e) {}
+ const v1 = 0;
+ for (;;) continue;
+ do {} while (true);
+ if (true) {} else {}
+ var v2 = false;
+ final v3 = 1;
+ try {} finally {}
+ for (var v4 in []) {}
+ v3 is int;
+ new A();
+ try {} catch (e) {rethrow;}
+ var v5 = true;
+ while (true) {}
+}
+class A {}
+class B extends A {
+ B() : super();
+ m() {
+ return this;
+ }
+}
+class C = Object with A;
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightType.KEYWORD, 'assert(true)');
+ assertHasRegion(HighlightType.KEYWORD, 'for (;;)');
+ assertHasRegion(HighlightType.KEYWORD, 'for (var v4 in');
+ assertHasRegion(HighlightType.KEYWORD, 'break;');
+ assertHasRegion(HighlightType.KEYWORD, 'case 0:');
+ assertHasRegion(HighlightType.KEYWORD, 'catch (e) {}');
+ assertHasRegion(HighlightType.KEYWORD, 'class A {}');
+ assertHasRegion(HighlightType.KEYWORD, 'const v1');
+ assertHasRegion(HighlightType.KEYWORD, 'continue;');
+ assertHasRegion(HighlightType.KEYWORD, 'default:');
+ assertHasRegion(HighlightType.KEYWORD, 'do {} while');
+ assertHasRegion(HighlightType.KEYWORD, 'if (true)');
+ assertHasRegion(HighlightType.KEYWORD, 'false;');
+ assertHasRegion(HighlightType.KEYWORD, 'final v3 =');
+ assertHasRegion(HighlightType.KEYWORD, 'finally {}');
+ assertHasRegion(HighlightType.KEYWORD, 'in []');
+ assertHasRegion(HighlightType.KEYWORD, 'is int');
+ assertHasRegion(HighlightType.KEYWORD, 'new A();');
+ assertHasRegion(HighlightType.KEYWORD, 'rethrow;');
+ assertHasRegion(HighlightType.KEYWORD, 'return this');
+ assertHasRegion(HighlightType.KEYWORD, 'super();');
+ assertHasRegion(HighlightType.KEYWORD, 'switch (0)');
+ assertHasRegion(HighlightType.KEYWORD, 'this;');
+ assertHasRegion(HighlightType.KEYWORD, 'true;');
+ assertHasRegion(HighlightType.KEYWORD, 'try {');
+ assertHasRegion(HighlightType.KEYWORD, 'while (true) {}');
+ assertHasRegion(HighlightType.KEYWORD, 'while (true);');
+ assertHasRegion(HighlightType.KEYWORD, 'with A;');
+ });
+ }
+
test_KEYWORD_void() {
addTestFile('''
void main() {
@@ -642,6 +735,22 @@ void main() {
});
}
+ test_LITERAL_LIST() {
+ addTestFile('var V = <int>[1, 2, 3];');
+ return prepareHighlights().then((_) {
+ assertHasStringRegion(HighlightType.LITERAL_LIST, '<int>[1, 2, 3]');
+ });
+ }
+
+ test_LITERAL_MAP() {
+ addTestFile("var V = const <int, String>{1: 'a', 2: 'b', 3: 'c'};");
+ return prepareHighlights().then((_) {
+ assertHasStringRegion(
+ HighlightType.LITERAL_MAP,
+ "const <int, String>{1: 'a', 2: 'b', 3: 'c'}");
+ });
+ }
+
test_LITERAL_STRING() {
addTestFile('var V = "abc";');
return prepareHighlights().then((_) {
@@ -728,14 +837,15 @@ main(A a) {
return prepareHighlights().then((_) {
assertHasRegion(HighlightType.SETTER_DECLARATION, 'aaa(x)');
assertHasRegion(HighlightType.SETTER_DECLARATION, 'bbb(x)');
- assertHasRegion(HighlightType.FIELD_STATIC, 'aaa = 1');
+ assertHasRegion(HighlightType.TOP_LEVEL_VARIABLE, 'aaa = 1');
assertHasRegion(HighlightType.FIELD, 'bbb = 2');
});
}
test_TOP_LEVEL_VARIABLE() {
addTestFile('''
-var VVV = 0;
+const VVV = 0;
+@VVV // annotation
main() {
print(VVV);
VVV = 1;
@@ -743,8 +853,9 @@ main() {
''');
return prepareHighlights().then((_) {
assertHasRegion(HighlightType.TOP_LEVEL_VARIABLE, 'VVV = 0');
- assertHasRegion(HighlightType.FIELD_STATIC, 'VVV);');
- assertHasRegion(HighlightType.FIELD_STATIC, 'VVV = 1');
+ assertHasRegion(HighlightType.TOP_LEVEL_VARIABLE, 'VVV // annotation');
+ assertHasRegion(HighlightType.TOP_LEVEL_VARIABLE, 'VVV);');
+ assertHasRegion(HighlightType.TOP_LEVEL_VARIABLE, 'VVV = 1');
});
}
@@ -775,6 +886,13 @@ class A<T> {
assertHasRegion(HighlightType.TYPE_PARAMETER, 'T p)');
});
}
+
+ void _addLibraryForTestPart() {
+ addFile('$testFolder/my_lib.dart', '''
+library lib;
+part 'test.dart';
+ ''');
+ }
}
« no previous file with comments | « pkg/analysis_server/test/analysis_abstract.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698