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

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

Issue 2654303003: Ignore files that are hidden by generated files. (Closed)
Patch Set: Created 3 years, 11 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/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 30fc32eaa5e9f97416234f4f722eba339568e91d..69a1c7bd2cf7b23b4a4cf21fc15737ac73f59a67 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
@@ -28,6 +28,7 @@ import 'package:convert/convert.dart';
import 'package:crypto/crypto.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
+import 'package:typed_mock/typed_mock.dart';
import '../../context/mock_sdk.dart';
import 'base.dart';
@@ -633,6 +634,61 @@ part 'foo.dart';
expect(errors[0].errorCode, CompileTimeErrorCode.URI_DOES_NOT_EXIST);
}
+ test_generatedFile() async {
+ Uri uri = Uri.parse('package:aaa/foo.dart');
+ String templatePath = _p('/aaa/lib/foo.dart');
+ String generatedPath = _p('/generated/aaa/lib/foo.dart');
+
+ provider.newFile(
+ templatePath,
+ r'''
+a() {}
+b() {}
+''');
+
+ provider.newFile(
+ generatedPath,
+ r'''
+aaa() {}
+bbb() {}
+''');
+
+ Source generatedSource = new _SourceMock();
+ when(generatedSource.uri).thenReturn(uri);
+ when(generatedSource.fullName).thenReturn(generatedPath);
+
+ when(generatedUriResolver.resolveAbsolute(uri, uri))
+ .thenReturn(generatedSource);
+ when(generatedUriResolver.restoreAbsolute(anyObject))
+ .thenInvoke((Source source) {
+ String path = source.fullName;
+ if (path == templatePath || path == generatedPath) {
+ return uri;
+ } else {
+ return null;
+ }
+ });
+
+ driver.addFile(templatePath);
+
+ await driver.waitForIdle();
+ expect(allExceptions, isEmpty);
+ expect(allResults, isEmpty);
+
+ var result = await driver.getResult(templatePath);
+ expect(result, isNull);
+ expect(allExceptions, isEmpty);
+ expect(allResults, isEmpty);
+
+ driver.priorityFiles = [templatePath];
+ driver.changeFile(templatePath);
+ await driver.waitForIdle();
+ expect(allExceptions, isEmpty);
+ expect(allResults, isEmpty);
+
+ expect(driver.knownFiles, isNot(contains(templatePath)));
+ }
+
test_getFilesReferencingName() async {
var a = _p('/test/bin/a.dart');
var b = _p('/test/bin/b.dart');
@@ -1836,3 +1892,5 @@ var A = B;
return hex.encode(md5.convert(UTF8.encode(content)).bytes);
}
}
+
+class _SourceMock extends TypedMock implements Source {}

Powered by Google App Engine
This is Rietveld 408576698