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); |
- } |
- } |
-} |