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