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

Unified Diff: ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set_unittest.js

Issue 898533003: Files.app: Add createSnapshot, clone, hasFreashCache methods to metadata models. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
« no previous file with comments | « ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set_unittest.js
diff --git a/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set_unittest.js b/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set_unittest.js
index 6d3b8a43f559c0de4125a4a806aa385abc4faf25..c429e6586fa03b99d075802d69b70a0e54000a16 100644
--- a/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set_unittest.js
+++ b/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set_unittest.js
@@ -82,3 +82,43 @@ function testMetadataCacheSetInvalidatePartial() {
assertEquals(1, loadRequested[0].names.length);
assertEquals('property', loadRequested[0].names[0]);
}
+
+function testMetadataCacheSetCreateSnapshot() {
+ var setA = new MetadataCacheSet(new MetadataCacheSetStorageForObject({}));
+ setA.startRequests(1, setA.createRequests([entryA, entryB], ['property']));
+ var setB = setA.createSnapshot([entryA]);
+ setA.storeProperties(
+ 1, [entryA, entryB], [{property: 'valueA'}, {property: 'valueB'}]);
+ var results = setB.get([entryA, entryB], ['property']);
+ assertEquals(2, results.length);
+ assertEquals(null, results[0].property);
+ assertEquals(undefined, results[1].property);
+
+ setB.storeProperties(
+ 1, [entryA, entryB], [{property: 'valueA'}, {property: 'valueB'}]);
+ var results = setB.get([entryA, entryB], ['property']);
+ assertEquals(2, results.length);
+ assertEquals('valueA', results[0].property);
+ assertEquals(undefined, results[1].property);
+
+ setA.invalidate(2, [entryA, entryB]);
+ var results = setB.get([entryA, entryB], ['property']);
+ assertEquals(2, results.length);
+ assertEquals('valueA', results[0].property);
+ assertEquals(undefined, results[1].property);
+}
+
+function testMetadataCacheSetHasFreshCache() {
+ var set = new MetadataCacheSet(new MetadataCacheSetStorageForObject({}));
+ assertFalse(set.hasFreshCache([entryA, entryB], ['property']));
+
+ set.startRequests(1, set.createRequests([entryA, entryB], ['property']));
+ set.storeProperties(
+ 1, [entryA, entryB], [{property: 'valueA'}, {property: 'valueB'}]);
+ assertTrue(set.hasFreshCache([entryA, entryB], ['property']));
+
+ set.invalidate(2, [entryB]);
+ assertFalse(set.hasFreshCache([entryA, entryB], ['property']));
+
+ assertTrue(set.hasFreshCache([entryA], ['property']));
+}
« no previous file with comments | « ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_set.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698