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

Unified Diff: pkg/analyzer/test/src/dart/analysis/driver_test.dart

Issue 2517263002: Extract BaseAnalysisDriverTest. (Closed)
Patch Set: Created 4 years, 1 month 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/analyzer/test/src/dart/analysis/base.dart ('k') | pkg/analyzer/test/src/dart/analysis/index_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/test/src/dart/analysis/driver_test.dart
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
index ec693f4982847b042be58429e4ad8f3a1e56bc5c..e5777f5450526c0673eaa3c8530d87d57af72d11 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
@@ -12,7 +12,6 @@ import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/error/error.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
-import 'package:analyzer/source/package_map_resolver.dart';
import 'package:analyzer/src/dart/analysis/byte_store.dart';
import 'package:analyzer/src/dart/analysis/driver.dart';
import 'package:analyzer/src/dart/analysis/file_state.dart';
@@ -26,6 +25,7 @@ import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../context/mock_sdk.dart';
+import 'base.dart';
main() {
defineReflectiveSuite(() {
@@ -216,55 +216,7 @@ class AnalysisDriverSchedulerTest {
}
@reflectiveTest
-class AnalysisDriverTest {
- static final MockSdk sdk = new MockSdk();
-
- final MemoryResourceProvider provider = new MemoryResourceProvider();
- final ByteStore byteStore = new MemoryByteStore();
- final FileContentOverlay contentOverlay = new FileContentOverlay();
-
- final StringBuffer logBuffer = new StringBuffer();
- PerformanceLog logger;
-
- AnalysisDriverScheduler scheduler;
- AnalysisDriver driver;
- final _Monitor idleStatusMonitor = new _Monitor();
- final List<AnalysisStatus> allStatuses = <AnalysisStatus>[];
- final List<AnalysisResult> allResults = <AnalysisResult>[];
-
- String testProject;
- String testFile;
-
- void setUp() {
- new MockSdk();
- testProject = _p('/test/lib');
- testFile = _p('/test/lib/test.dart');
- logger = new PerformanceLog(logBuffer);
- scheduler = new AnalysisDriverScheduler(logger);
- driver = new AnalysisDriver(
- scheduler,
- logger,
- provider,
- byteStore,
- contentOverlay,
- new SourceFactory([
- new DartUriResolver(sdk),
- new PackageMapUriResolver(provider, <String, List<Folder>>{
- 'test': [provider.getFolder(testProject)]
- }),
- new ResourceUriResolver(provider)
- ], null, provider),
- new AnalysisOptionsImpl()..strongMode = true);
- scheduler.start();
- driver.status.lastWhere((status) {
- allStatuses.add(status);
- if (status.isIdle) {
- idleStatusMonitor.notify();
- }
- });
- driver.results.listen(allResults.add);
- }
-
+class AnalysisDriverTest extends BaseAnalysisDriverTest {
test_addedFiles() async {
var a = _p('/test/lib/a.dart');
var b = _p('/test/lib/b.dart');
@@ -394,7 +346,7 @@ var A2 = B1;
}
test_changeFile_single() async {
- _addTestFile('var V = 1;', priority: true);
+ addTestFile('var V = 1;', priority: true);
// Initial analysis.
{
@@ -428,7 +380,7 @@ var A2 = B1;
test_getResult() async {
String content = 'int f() => 42;';
- _addTestFile(content, priority: true);
+ addTestFile(content, priority: true);
AnalysisResult result = await driver.getResult(testFile);
expect(result.path, testFile);
@@ -470,7 +422,7 @@ main() {
test_getResult_errors() async {
String content = 'main() { int vv; }';
- _addTestFile(content, priority: true);
+ addTestFile(content, priority: true);
AnalysisResult result = await driver.getResult(testFile);
expect(result.path, testFile);
@@ -486,7 +438,7 @@ main() {
}
test_getResult_inferTypes_finalField() async {
- _addTestFile(
+ addTestFile(
r'''
class C {
final f = 42;
@@ -500,7 +452,7 @@ class C {
}
test_getResult_inferTypes_instanceMethod() async {
- _addTestFile(
+ addTestFile(
r'''
class A {
int m(double p) => 1;
@@ -523,7 +475,7 @@ export 'dart:async';
export 'dart:noSuchLib';
export 'dart:math';
''';
- _addTestFile(content, priority: true);
+ addTestFile(content, priority: true);
AnalysisResult result = await driver.getResult(testFile);
expect(result.path, testFile);
@@ -540,7 +492,7 @@ import 'dart:async';
import 'dart:noSuchLib';
import 'dart:math';
''';
- _addTestFile(content, priority: true);
+ addTestFile(content, priority: true);
AnalysisResult result = await driver.getResult(testFile);
expect(result.path, testFile);
@@ -699,7 +651,7 @@ var A2 = B1;
}
test_getResult_thenRemove() async {
- _addTestFile('main() {}', priority: true);
+ addTestFile('main() {}', priority: true);
Future<AnalysisResult> resultFuture = driver.getResult(testFile);
driver.removeFile(testFile);
@@ -712,7 +664,7 @@ var A2 = B1;
test_getResult_twoPendingFutures() async {
String content = 'main() {}';
- _addTestFile(content, priority: true);
+ addTestFile(content, priority: true);
Future<AnalysisResult> future1 = driver.getResult(testFile);
Future<AnalysisResult> future2 = driver.getResult(testFile);
@@ -1044,7 +996,7 @@ var A = B;
}
test_removeFile_changeFile_notAnalyzed() async {
- _addTestFile('main() {}');
+ addTestFile('main() {}');
// We have a result.
await _waitForIdle();
@@ -1064,7 +1016,7 @@ var A = B;
test_results_priority() async {
String content = 'int f() => 42;';
- _addTestFile(content, priority: true);
+ addTestFile(content, priority: true);
await _waitForIdle();
@@ -1105,7 +1057,7 @@ var A = B;
test_results_regular() async {
String content = 'int f() => 42;';
- _addTestFile(content);
+ addTestFile(content);
await _waitForIdle();
expect(allResults, hasLength(1));
@@ -1119,7 +1071,7 @@ var A = B;
}
test_results_status() async {
- _addTestFile('int f() => 42;');
+ addTestFile('int f() => 42;');
await _waitForIdle();
expect(allStatuses, hasLength(2));
@@ -1129,14 +1081,6 @@ var A = B;
expect(allStatuses[1].isIdle, isTrue);
}
- void _addTestFile(String content, {bool priority: false}) {
- provider.newFile(testFile, content);
- driver.addFile(testFile);
- if (priority) {
- driver.priorityFiles = [testFile];
- }
- }
-
ClassDeclaration _getClass(CompilationUnit unit, String name) {
for (CompilationUnitMember declaration in unit.declarations) {
if (declaration is ClassDeclaration) {
@@ -1233,18 +1177,3 @@ var A = B;
return hex.encode(md5.convert(UTF8.encode(content)).bytes);
}
}
-
-class _Monitor {
- Completer<Null> _completer = new Completer<Null>();
-
- Future<Null> get signal async {
- await _completer.future;
- _completer = new Completer<Null>();
- }
-
- void notify() {
- if (!_completer.isCompleted) {
- _completer.complete(null);
- }
- }
-}
« no previous file with comments | « pkg/analyzer/test/src/dart/analysis/base.dart ('k') | pkg/analyzer/test/src/dart/analysis/index_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698