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

Unified Diff: pkg/analyzer/test/generated/engine_test.dart

Issue 944493002: Change equality comparison for FileBasedSource to use URI. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Reformat and sort code. Created 5 years, 10 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/generated/engine_test.dart
diff --git a/pkg/analyzer/test/generated/engine_test.dart b/pkg/analyzer/test/generated/engine_test.dart
index 934334d2084d2dfb4bc962d165895dd698749a79..f0556c9aeabe17045a35beab4470080b2c5c79cd 100644
--- a/pkg/analyzer/test/generated/engine_test.dart
+++ b/pkg/analyzer/test/generated/engine_test.dart
@@ -20,6 +20,7 @@ import 'package:analyzer/src/generated/html.dart' as ht;
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/java_engine_io.dart';
+import 'package:analyzer/src/generated/java_io.dart';
import 'package:analyzer/src/generated/parser.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/scanner.dart';
@@ -97,6 +98,31 @@ class AnalysisCacheTest extends EngineTestCase {
expect(iterator.moveNext(), isFalse);
}
+ /**
+ * Verify that if multiple Source objects refer to the same file via
+ * different URIs, they are treated as separate entries in the cache.
+ */
+ void test_lookup_distinguishes_uris() {
+ CachePartition partition =
+ new UniversalCachePartition(null, 8, new DefaultRetentionPolicy());
+ AnalysisCache cache = new AnalysisCache(<CachePartition>[partition]);
+ JavaFile file = new JavaFile('baz.dart');
+ Source source1 = new FileBasedSource.con1(file);
+ Source source2 =
+ new FileBasedSource.con2(Uri.parse('package:foo/baz.dart'), file);
+ Source source3 =
+ new FileBasedSource.con2(Uri.parse('package:bar/baz.dart'), file);
+ DartEntry entry1 = new DartEntry();
+ DartEntry entry2 = new DartEntry();
+ DartEntry entry3 = new DartEntry();
+ cache.put(source1, entry1);
+ cache.put(source2, entry2);
+ cache.put(source3, entry3);
+ expect(cache.get(source1), same(entry1));
+ expect(cache.get(source2), same(entry2));
+ expect(cache.get(source3), same(entry3));
+ }
+
void test_put_noFlush() {
CachePartition partition =
new UniversalCachePartition(null, 8, new DefaultRetentionPolicy());

Powered by Google App Engine
This is Rietveld 408576698