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

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

Issue 971653003: Files.app: Extract cache part from NewMetadataProvider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix audio player. 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: 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 54cda9f8598452406bde409af42536461a7e77c6..4e75b763b562eda2cb24913528e9baac66c5a92f 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
@@ -2,14 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-function TestMetadataProvider(cache) {
- NewMetadataProvider.call(this, cache, ['property', 'propertyA', 'propertyB']);
+function TestMetadataProvider() {
+ NewMetadataProvider.call(this, ['property', 'propertyA', 'propertyB']);
this.requestCount = 0;
}
TestMetadataProvider.prototype.__proto__ = NewMetadataProvider.prototype;
-TestMetadataProvider.prototype.getImpl = function(requests) {
+TestMetadataProvider.prototype.get = function(requests) {
this.requestCount++;
return Promise.resolve(requests.map(function(request) {
var entry = request.entry;
@@ -22,27 +22,27 @@ TestMetadataProvider.prototype.getImpl = function(requests) {
}));
};
-function TestEmptyMetadataProvider(cache) {
- NewMetadataProvider.call(this, cache, ['property']);
+function TestEmptyMetadataProvider() {
+ NewMetadataProvider.call(this, ['property']);
}
TestEmptyMetadataProvider.prototype.__proto__ = NewMetadataProvider.prototype;
-TestEmptyMetadataProvider.prototype.getImpl = function(requests) {
+TestEmptyMetadataProvider.prototype.get = function(requests) {
return Promise.resolve(requests.map(function() {
return {};
}));
};
-function ManualTestMetadataProvider(cache) {
+function ManualTestMetadataProvider() {
NewMetadataProvider.call(
- this, cache, ['propertyA', 'propertyB', 'propertyC']);
+ this, ['propertyA', 'propertyB', 'propertyC']);
this.callback = [];
}
ManualTestMetadataProvider.prototype.__proto__ = NewMetadataProvider.prototype;
-ManualTestMetadataProvider.prototype.getImpl = function(requests) {
+ManualTestMetadataProvider.prototype.get = function(requests) {
return new Promise(function(fulfill) {
this.callback.push(fulfill);
}.bind(this));
@@ -57,40 +57,37 @@ var entryB = {
};
function testNewMetadataProviderBasic(callback) {
- var cache = new MetadataProviderCache();
- var provider = new TestMetadataProvider(cache);
+ var provider = new CachedMetadataProvider(new TestMetadataProvider());
reportPromise(provider.get([entryA, entryB], ['property']).then(
function(results) {
- assertEquals(1, provider.requestCount);
+ assertEquals(1, provider.getRawProvider().requestCount);
assertEquals('filesystem://A:property', results[0].property);
assertEquals('filesystem://B:property', results[1].property);
}), callback);
}
function testNewMetadataProviderRequestForCachedProperty(callback) {
- var cache = new MetadataProviderCache();
- var provider = new TestMetadataProvider(cache);
+ var provider = new CachedMetadataProvider(new TestMetadataProvider());
reportPromise(provider.get([entryA, entryB], ['property']).then(
function() {
// All the result should be cached here.
return provider.get([entryA, entryB], ['property']);
}).then(function(results) {
- assertEquals(1, provider.requestCount);
+ assertEquals(1, provider.getRawProvider().requestCount);
assertEquals('filesystem://A:property', results[0].property);
assertEquals('filesystem://B:property', results[1].property);
}), callback);
}
function testNewMetadataProviderRequestForCachedAndNonCachedProperty(callback) {
- var cache = new MetadataProviderCache();
- var provider = new TestMetadataProvider(cache);
+ var provider = new CachedMetadataProvider(new TestMetadataProvider());
reportPromise(provider.get([entryA, entryB], ['propertyA']).then(
function() {
- assertEquals(1, provider.requestCount);
+ assertEquals(1, provider.getRawProvider().requestCount);
// propertyB has not been cached here.
return provider.get([entryA, entryB], ['propertyA', 'propertyB']);
}).then(function(results) {
- assertEquals(2, provider.requestCount);
+ assertEquals(2, provider.getRawProvider().requestCount);
assertEquals('filesystem://A:propertyA', results[0].propertyA);
assertEquals('filesystem://A:propertyB', results[0].propertyB);
assertEquals('filesystem://B:propertyA', results[1].propertyA);
@@ -99,15 +96,14 @@ function testNewMetadataProviderRequestForCachedAndNonCachedProperty(callback) {
}
function testNewMetadataProviderRequestForCachedAndNonCachedEntry(callback) {
- var cache = new MetadataProviderCache();
- var provider = new TestMetadataProvider(cache);
+ var provider = new CachedMetadataProvider(new TestMetadataProvider());
reportPromise(provider.get([entryA], ['property']).then(
function() {
- assertEquals(1, provider.requestCount);
+ assertEquals(1, provider.getRawProvider().requestCount);
// entryB has not been cached here.
return provider.get([entryA, entryB], ['property']);
}).then(function(results) {
- assertEquals(2, provider.requestCount);
+ assertEquals(2, provider.getRawProvider().requestCount);
assertEquals('filesystem://A:property', results[0].property);
assertEquals('filesystem://B:property', results[1].property);
}), callback);
@@ -115,31 +111,30 @@ function testNewMetadataProviderRequestForCachedAndNonCachedEntry(callback) {
function testNewMetadataProviderRequestBeforeCompletingPreviousRequest(
callback) {
- var cache = new MetadataProviderCache();
- var provider = new TestMetadataProvider(cache);
+ var provider = new CachedMetadataProvider(new TestMetadataProvider());
provider.get([entryA], ['property']);
- assertEquals(1, provider.requestCount);
+ assertEquals(1, provider.getRawProvider().requestCount);
// The result of first call has not been fetched yet.
reportPromise(provider.get([entryA], ['property']).then(
function(results) {
- assertEquals(1, provider.requestCount);
+ assertEquals(1, provider.getRawProvider().requestCount);
assertEquals('filesystem://A:property', results[0].property);
}), callback);
}
function testNewMetadataProviderNotUpdateCachedResultAfterRequest(
callback) {
- var cache = new MetadataProviderCache();
- var provider = new ManualTestMetadataProvider(cache);
+ var provider = new CachedMetadataProvider(new ManualTestMetadataProvider());
var promise = provider.get([entryA], ['propertyA']);
- provider.callback[0]([{propertyA: 'valueA1'}]);
+ provider.getRawProvider().callback[0]([{propertyA: 'valueA1'}]);
reportPromise(promise.then(function() {
// 'propertyA' is cached here.
var promise1 = provider.get([entryA], ['propertyA', 'propertyB']);
var promise2 = provider.get([entryA], ['propertyC']);
// Returns propertyC.
- provider.callback[2]([{propertyA: 'valueA2', propertyC: 'valueC'}]);
- provider.callback[1]([{propertyB: 'valueB'}]);
+ provider.getRawProvider().callback[2](
+ [{propertyA: 'valueA2', propertyC: 'valueC'}]);
+ provider.getRawProvider().callback[1]([{propertyB: 'valueB'}]);
return Promise.all([promise1, promise2]);
}).then(function(results) {
// The result should be cached value at the time when get was called.
@@ -150,29 +145,26 @@ function testNewMetadataProviderNotUpdateCachedResultAfterRequest(
}
function testNewMetadataProviderGetCache(callback) {
- var cache = new MetadataProviderCache();
- var provider = new TestMetadataProvider(cache);
+ var provider = new CachedMetadataProvider(new TestMetadataProvider());
var promise = provider.get([entryA], ['property']);
var cache = provider.getCache([entryA], ['property']);
assertEquals(null, cache[0].property);
reportPromise(promise.then(function() {
var cache = provider.getCache([entryA], ['property']);
- assertEquals(1, provider.requestCount);
+ assertEquals(1, provider.getRawProvider().requestCount);
assertEquals('filesystem://A:property', cache[0].property);
}), callback);
}
function testNewMetadataProviderUnknownProperty() {
- var cache = new MetadataProviderCache();
- var provider = new TestMetadataProvider(cache);
+ var provider = new CachedMetadataProvider(new TestMetadataProvider());
assertThrows(function() {
provider.get([entryA], ['unknown']);
});
}
function testNewMetadataProviderEmptyResult(callback) {
- var cache = new MetadataProviderCache();
- var provider = new TestEmptyMetadataProvider(cache);
+ var provider = new CachedMetadataProvider(new TestEmptyMetadataProvider());
// getImpl returns empty result.
reportPromise(provider.get([entryA], ['property']).then(function(results) {
assertEquals(undefined, results[0].property);

Powered by Google App Engine
This is Rietveld 408576698