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

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

Issue 563373003: Churn only: move analysis notification tests. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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/analysis_notification_occurrences_test.dart
diff --git a/pkg/analysis_server/test/analysis_notification_occurrences_test.dart b/pkg/analysis_server/test/analysis_notification_occurrences_test.dart
deleted file mode 100644
index 007ab3841cfeea6c739ac6f80ff7d49b4ae2759d..0000000000000000000000000000000000000000
--- a/pkg/analysis_server/test/analysis_notification_occurrences_test.dart
+++ /dev/null
@@ -1,257 +0,0 @@
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-library test.domain.analysis.notification.occurrences;
-
-import 'dart:async';
-
-import 'package:analysis_server/src/constants.dart';
-import 'package:analysis_server/src/protocol.dart';
-import 'reflective_tests.dart';
-import 'package:unittest/unittest.dart';
-
-import 'analysis_abstract.dart';
-
-
-main() {
- groupSep = ' | ';
- runReflectiveTests(AnalysisNotificationOccurrencesTest);
-}
-
-
-@ReflectiveTestCase()
-class AnalysisNotificationOccurrencesTest extends AbstractAnalysisTest {
- List<Occurrences> occurrencesList;
- Occurrences testOccurences;
-
- /**
- * Asserts that there is an offset of [search] in [testOccurences].
- */
- void assertHasOffset(String search) {
- int offset = findOffset(search);
- expect(testOccurences.offsets, contains(offset));
- }
-
- /**
- * Validates that there is a region at the offset of [search] in [testFile].
- * If [length] is not specified explicitly, then length of an identifier
- * from [search] is used.
- */
- void assertHasRegion(String search, [int length = -1]) {
- int offset = findOffset(search);
- if (length == -1) {
- length = findIdentifierLength(search);
- }
- findRegion(offset, length, true);
- }
-
- /**
- * Finds an [Occurrences] with the given [offset] and [length].
- *
- * If [exists] is `true`, then fails if such [Occurrences] does not exist.
- * Otherwise remembers this it into [testOccurences].
- *
- * If [exists] is `false`, then fails if such [Occurrences] exists.
- */
- void findRegion(int offset, int length, [bool exists]) {
- for (Occurrences occurrences in occurrencesList) {
- if (occurrences.length != length) {
- continue;
- }
- for (int occurrenceOffset in occurrences.offsets) {
- if (occurrenceOffset == offset) {
- if (exists == false) {
- fail(
- 'Not expected to find (offset=$offset; length=$length) in\n'
- '${occurrencesList.join('\n')}');
- }
- testOccurences = occurrences;
- return;
- }
- }
- }
- if (exists == true) {
- fail(
- 'Expected to find (offset=$offset; length=$length) in\n'
- '${occurrencesList.join('\n')}');
- }
- }
-
- Future prepareOccurrences() {
- addAnalysisSubscription(AnalysisService.OCCURRENCES, testFile);
- return waitForTasksFinished();
- }
-
- void processNotification(Notification notification) {
- if (notification.event == ANALYSIS_OCCURRENCES) {
- var params = new AnalysisOccurrencesParams.fromNotification(notification);
- if (params.file == testFile) {
- occurrencesList = params.occurrences;
- }
- }
- }
-
- @override
- void setUp() {
- super.setUp();
- createProject();
- }
-
- test_afterAnalysis() {
- addTestFile('''
-main() {
- var vvv = 42;
- print(vvv);
-}
-''');
- return waitForTasksFinished().then((_) {
- return prepareOccurrences().then((_) {
- assertHasRegion('vvv =');
- expect(testOccurences.element.kind, ElementKind.LOCAL_VARIABLE);
- expect(testOccurences.element.name, 'vvv');
- assertHasOffset('vvv = 42');
- assertHasOffset('vvv);');
- });
- });
- }
-
- test_field() {
- addTestFile('''
-class A {
- int fff;
- A(this.fff); // constructor
- main() {
- fff = 42;
- print(fff); // print
- }
-}
-''');
- return prepareOccurrences().then((_) {
- assertHasRegion('fff;');
- expect(testOccurences.element.kind, ElementKind.FIELD);
- assertHasOffset('fff); // constructor');
- assertHasOffset('fff = 42;');
- assertHasOffset('fff); // print');
- });
- }
-
- test_localVariable() {
- addTestFile('''
-main() {
- var vvv = 42;
- vvv += 5;
- print(vvv);
-}
-''');
- return prepareOccurrences().then((_) {
- assertHasRegion('vvv =');
- expect(testOccurences.element.kind, ElementKind.LOCAL_VARIABLE);
- expect(testOccurences.element.name, 'vvv');
- assertHasOffset('vvv = 42');
- assertHasOffset('vvv += 5');
- assertHasOffset('vvv);');
- });
- }
-
- test_memberField() {
- addTestFile('''
-class A<T> {
- T fff;
-}
-main() {
- var a = new A<int>();
- var b = new A<String>();
- a.fff = 1;
- b.fff = 2;
-}
-''');
- return prepareOccurrences().then((_) {
- assertHasRegion('fff;');
- expect(testOccurences.element.kind, ElementKind.FIELD);
- assertHasOffset('fff = 1;');
- assertHasOffset('fff = 2;');
- });
- }
-
- test_memberMethod() {
- addTestFile('''
-class A<T> {
- T mmm() {}
-}
-main() {
- var a = new A<int>();
- var b = new A<String>();
- a.mmm(); // a
- b.mmm(); // b
-}
-''');
- return prepareOccurrences().then((_) {
- assertHasRegion('mmm() {}');
- expect(testOccurences.element.kind, ElementKind.METHOD);
- assertHasOffset('mmm(); // a');
- assertHasOffset('mmm(); // b');
- });
- }
-
- test_topLevelVariable() {
- addTestFile('''
-var VVV = 1;
-main() {
- VVV = 2;
- print(VVV);
-}
-''');
- return prepareOccurrences().then((_) {
- assertHasRegion('VVV = 1;');
- expect(testOccurences.element.kind, ElementKind.TOP_LEVEL_VARIABLE);
- assertHasOffset('VVV = 2;');
- assertHasOffset('VVV);');
- });
- }
-
- test_type_class() {
- addTestFile('''
-main() {
- int a = 1;
- int b = 2;
- int c = 3;
-}
-int VVV = 4;
-''');
- return prepareOccurrences().then((_) {
- assertHasRegion('int a');
- expect(testOccurences.element.kind, ElementKind.CLASS);
- expect(testOccurences.element.name, 'int');
- assertHasOffset('int a');
- assertHasOffset('int b');
- assertHasOffset('int c');
- assertHasOffset('int VVV');
- });
- }
-
- test_type_dynamic() {
- addTestFile('''
-main() {
- dynamic a = 1;
- dynamic b = 2;
-}
-dynamic V = 3;
-''');
- return prepareOccurrences().then((_) {
- int offset = findOffset('dynamic a');
- findRegion(offset, 'dynamic'.length, false);
- });
- }
-
- test_type_void() {
- addTestFile('''
-void main() {
-}
-''');
- return prepareOccurrences().then((_) {
- int offset = findOffset('void main()');
- findRegion(offset, 'void'.length, false);
- });
- }
-}

Powered by Google App Engine
This is Rietveld 408576698