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

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

Issue 971723002: Files.app: Rename FileSystemMetadata with MetadataModel. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed. 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
deleted file mode 100644
index 4e75b763b562eda2cb24913528e9baac66c5a92f..0000000000000000000000000000000000000000
--- a/ui/file_manager/file_manager/foreground/js/metadata/new_metadata_provider_unittest.js
+++ /dev/null
@@ -1,172 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-function TestMetadataProvider() {
- NewMetadataProvider.call(this, ['property', 'propertyA', 'propertyB']);
- this.requestCount = 0;
-}
-
-TestMetadataProvider.prototype.__proto__ = NewMetadataProvider.prototype;
-
-TestMetadataProvider.prototype.get = function(requests) {
- this.requestCount++;
- return Promise.resolve(requests.map(function(request) {
- var entry = request.entry;
- var names = request.names;
- var result = {};
- for (var i = 0; i < names.length; i++) {
- result[names[i]] = entry.toURL() + ':' + names[i];
- }
- return result;
- }));
-};
-
-function TestEmptyMetadataProvider() {
- NewMetadataProvider.call(this, ['property']);
-}
-
-TestEmptyMetadataProvider.prototype.__proto__ = NewMetadataProvider.prototype;
-
-TestEmptyMetadataProvider.prototype.get = function(requests) {
- return Promise.resolve(requests.map(function() {
- return {};
- }));
-};
-
-function ManualTestMetadataProvider() {
- NewMetadataProvider.call(
- this, ['propertyA', 'propertyB', 'propertyC']);
- this.callback = [];
-}
-
-ManualTestMetadataProvider.prototype.__proto__ = NewMetadataProvider.prototype;
-
-ManualTestMetadataProvider.prototype.get = function(requests) {
- return new Promise(function(fulfill) {
- this.callback.push(fulfill);
- }.bind(this));
-};
-
-var entryA = {
- toURL: function() { return "filesystem://A"; }
-};
-
-var entryB = {
- toURL: function() { return "filesystem://B"; }
-};
-
-function testNewMetadataProviderBasic(callback) {
- var provider = new CachedMetadataProvider(new TestMetadataProvider());
- reportPromise(provider.get([entryA, entryB], ['property']).then(
- function(results) {
- assertEquals(1, provider.getRawProvider().requestCount);
- assertEquals('filesystem://A:property', results[0].property);
- assertEquals('filesystem://B:property', results[1].property);
- }), callback);
-}
-
-function testNewMetadataProviderRequestForCachedProperty(callback) {
- 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.getRawProvider().requestCount);
- assertEquals('filesystem://A:property', results[0].property);
- assertEquals('filesystem://B:property', results[1].property);
- }), callback);
-}
-
-function testNewMetadataProviderRequestForCachedAndNonCachedProperty(callback) {
- var provider = new CachedMetadataProvider(new TestMetadataProvider());
- reportPromise(provider.get([entryA, entryB], ['propertyA']).then(
- function() {
- assertEquals(1, provider.getRawProvider().requestCount);
- // propertyB has not been cached here.
- return provider.get([entryA, entryB], ['propertyA', 'propertyB']);
- }).then(function(results) {
- 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);
- assertEquals('filesystem://B:propertyB', results[1].propertyB);
- }), callback);
-}
-
-function testNewMetadataProviderRequestForCachedAndNonCachedEntry(callback) {
- var provider = new CachedMetadataProvider(new TestMetadataProvider());
- reportPromise(provider.get([entryA], ['property']).then(
- function() {
- assertEquals(1, provider.getRawProvider().requestCount);
- // entryB has not been cached here.
- return provider.get([entryA, entryB], ['property']);
- }).then(function(results) {
- assertEquals(2, provider.getRawProvider().requestCount);
- assertEquals('filesystem://A:property', results[0].property);
- assertEquals('filesystem://B:property', results[1].property);
- }), callback);
-}
-
-function testNewMetadataProviderRequestBeforeCompletingPreviousRequest(
- callback) {
- var provider = new CachedMetadataProvider(new TestMetadataProvider());
- provider.get([entryA], ['property']);
- 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.getRawProvider().requestCount);
- assertEquals('filesystem://A:property', results[0].property);
- }), callback);
-}
-
-function testNewMetadataProviderNotUpdateCachedResultAfterRequest(
- callback) {
- var provider = new CachedMetadataProvider(new ManualTestMetadataProvider());
- var promise = provider.get([entryA], ['propertyA']);
- 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.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.
- assertEquals('valueA1', results[0][0].propertyA);
- assertEquals('valueB', results[0][0].propertyB);
- assertEquals('valueC', results[1][0].propertyC);
- }), callback);
-}
-
-function testNewMetadataProviderGetCache(callback) {
- 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.getRawProvider().requestCount);
- assertEquals('filesystem://A:property', cache[0].property);
- }), callback);
-}
-
-function testNewMetadataProviderUnknownProperty() {
- var provider = new CachedMetadataProvider(new TestMetadataProvider());
- assertThrows(function() {
- provider.get([entryA], ['unknown']);
- });
-}
-
-function testNewMetadataProviderEmptyResult(callback) {
- var provider = new CachedMetadataProvider(new TestEmptyMetadataProvider());
- // getImpl returns empty result.
- reportPromise(provider.get([entryA], ['property']).then(function(results) {
- assertEquals(undefined, results[0].property);
- }), callback);
-}

Powered by Google App Engine
This is Rietveld 408576698