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

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

Issue 899603002: Files.app: Handles corner cases in NewMetadataProvider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update test + add assertion. 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/new_metadata_provider_unittest.html ('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/new_metadata_provider_unittest.js
diff --git a/ui/file_manager/file_manager/foreground/js/metadata/new_metadata_provider_unittest.js b/ui/file_manager/file_manager/foreground/js/metadata/new_metadata_provider_unittest.js
index 533be6097550109a147604fe79546c6afdaa135c..be81c33d6775d005927e687de8ffcdae45846b23 100644
--- a/ui/file_manager/file_manager/foreground/js/metadata/new_metadata_provider_unittest.js
+++ b/ui/file_manager/file_manager/foreground/js/metadata/new_metadata_provider_unittest.js
@@ -3,7 +3,7 @@
// found in the LICENSE file.
function TestMetadataProvider(cache) {
- NewMetadataProvider.call(this, cache);
+ NewMetadataProvider.call(this, cache, ['property', 'propertyA', 'propertyB']);
this.requestCount = 0;
}
@@ -22,6 +22,18 @@ TestMetadataProvider.prototype.getImpl = function(requests) {
}));
};
+function TestEmptyMetadataProvider(cache) {
+ NewMetadataProvider.call(this, cache, ['property']);
+}
+
+TestEmptyMetadataProvider.prototype.__proto__ = NewMetadataProvider.prototype;
+
+TestEmptyMetadataProvider.prototype.getImpl = function(requests) {
+ return Promise.resolve(requests.map(function() {
+ return {};
+ }));
+};
+
var entryA = {
toURL: function() { return "filesystem://A"; }
};
@@ -113,3 +125,20 @@ function testNewMetadataProviderGetCache(callback) {
assertEquals('filesystem://A:property', cache[0].property);
}), callback);
}
+
+function testNewMetadataProviderUnknownProperty() {
+ var cache = new MetadataProviderCache();
+ var provider = new TestMetadataProvider(cache);
+ assertThrows(function() {
+ provider.get([entryA], ['unknown']);
+ });
+}
+
+function testNewMetadataProviderEmptyResult(callback) {
+ var cache = new MetadataProviderCache();
+ var provider = new TestEmptyMetadataProvider(cache);
+ // getImpl returns empty result.
+ reportPromise(provider.get([entryA], ['property']).then(function(results) {
+ assertEquals(undefined, results[0].property);
+ }), callback);
+}
« no previous file with comments | « ui/file_manager/file_manager/foreground/js/metadata/new_metadata_provider_unittest.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698