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

Unified Diff: ui/file_manager/file_manager/foreground/js/metadata/file_system_metadata_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/file_system_metadata_unittest.js
diff --git a/ui/file_manager/file_manager/foreground/js/metadata/file_system_metadata_unittest.js b/ui/file_manager/file_manager/foreground/js/metadata/file_system_metadata_unittest.js
index 1650b7c237def550feab2ee472e39a56614508a4..5cb43db5d98775aa1b7e230d07d48e047dbba63e 100644
--- a/ui/file_manager/file_manager/foreground/js/metadata/file_system_metadata_unittest.js
+++ b/ui/file_manager/file_manager/foreground/js/metadata/file_system_metadata_unittest.js
@@ -34,36 +34,37 @@ var volumeManager = {
};
function testFileSystemMetadataBasic(callback) {
- var cache = new MetadataProviderCache();
- var model = new FileSystemMetadata(
- cache,
+ var model = new MultiMetadataProvider(
// Mocking FileSystemMetadataProvider.
{
- get: function(entries, names) {
- assertEquals(1, entries.length);
- assertEquals('filesystem://A', entries[0].toURL());
- assertArrayEquals(['size', 'modificationTime'], names);
+ get: function(requests) {
+ assertEquals(1, requests.length);
+ assertEquals('filesystem://A', requests[0].entry.toURL());
+ assertArrayEquals(['size', 'modificationTime'], requests[0].names);
return Promise.resolve(
[{modificationTime: new Date(2015, 0, 1), size: 1024}]);
}
},
// Mocking ExternalMetadataProvider.
{
- get: function(entries, names) {
- assertEquals(1, entries.length);
- assertEquals('filesystem://B', entries[0].toURL());
- assertArrayEquals(['size', 'modificationTime'], names);
+ get: function(requests) {
+ assertEquals(1, requests.length);
+ assertEquals('filesystem://B', requests[0].entry.toURL());
+ assertArrayEquals(['size', 'modificationTime'], requests[0].names);
return Promise.resolve(
[{modificationTime: new Date(2015, 1, 2), size: 2048}]);
}
},
// Mocking ContentMetadataProvider.
{
- get: function(entries, names) {
- assertEquals(2, entries.length);
- assertEquals('filesystem://A', entries[0].toURL());
- assertEquals('filesystem://B', entries[1].toURL());
- assertArrayEquals(['contentThumbnailUrl'], names);
+ get: function(requests) {
+ if (requests.length === 0)
+ return Promise.resolve([]);
+ assertEquals(2, requests.length);
+ assertEquals('filesystem://A', requests[0].entry.toURL());
+ assertEquals('filesystem://B', requests[1].entry.toURL());
+ assertArrayEquals(['contentThumbnailUrl'], requests[0].names);
+ assertArrayEquals(['contentThumbnailUrl'], requests[1].names);
return Promise.resolve([
{contentThumbnailUrl: 'THUMBNAIL_URL_A'},
{contentThumbnailUrl: 'THUMBNAIL_URL_B'}
@@ -72,42 +73,43 @@ function testFileSystemMetadataBasic(callback) {
},
// Mocking VolumeManagerWrapper.
volumeManager);
- reportPromise(
- model.get(
- [entryA, entryB],
- ['size', 'modificationTime', 'contentThumbnailUrl']).then(
- function(results) {
- assertEquals(2, results.length);
- assertEquals(
- new Date(2015, 0, 1).toString(),
- results[0].modificationTime.toString());
- assertEquals(1024, results[0].size);
- assertEquals('THUMBNAIL_URL_A', results[0].contentThumbnailUrl);
- assertEquals(
- new Date(2015, 1, 2).toString(),
- results[1].modificationTime.toString());
- assertEquals(2048, results[1].size);
- assertEquals('THUMBNAIL_URL_B', results[1].contentThumbnailUrl);
- }), callback);
+ reportPromise(model.get([
+ new MetadataRequest(
+ entryA, ['size', 'modificationTime', 'contentThumbnailUrl']),
+ new MetadataRequest(
+ entryB, ['size', 'modificationTime', 'contentThumbnailUrl'])
+ ]).then(function(results) {
+ assertEquals(2, results.length);
+ assertEquals(
+ new Date(2015, 0, 1).toString(),
+ results[0].modificationTime.toString());
+ assertEquals(1024, results[0].size);
+ assertEquals('THUMBNAIL_URL_A', results[0].contentThumbnailUrl);
+ assertEquals(
+ new Date(2015, 1, 2).toString(),
+ results[1].modificationTime.toString());
+ assertEquals(2048, results[1].size);
+ assertEquals('THUMBNAIL_URL_B', results[1].contentThumbnailUrl);
+ }), callback);
}
function testFileSystemMetadataExternalAndContentProperty(callback) {
- var cache = new MetadataProviderCache();
- var model = new FileSystemMetadata(
- cache,
+ var model = new MultiMetadataProvider(
// Mocking FileSystemMetadataProvider.
{
- get: function(entries, names) {
- assertEquals(0, names.length);
- return Promise.resolve([{}]);
+ get: function(requests) {
+ assertEquals(0, requests.length);
+ return Promise.resolve([]);
}
},
// Mocking ExternalMetadataProvider.
{
- get: function(entries, names) {
- assertEquals(2, entries.length);
- assertEquals('filesystem://B', entries[0].toURL());
- assertEquals('filesystem://C', entries[1].toURL());
+ get: function(requests) {
+ assertEquals(2, requests.length);
+ assertEquals('filesystem://B', requests[0].entry.toURL());
+ assertEquals('filesystem://C', requests[1].entry.toURL());
+ assertArrayEquals(['imageWidth', 'dirty'], requests[0].names);
+ assertArrayEquals(['imageWidth', 'dirty'], requests[1].names);
return Promise.resolve([
{dirty: false, imageWidth: 200},
{dirty: true, imageWidth: 400}
@@ -116,26 +118,28 @@ function testFileSystemMetadataExternalAndContentProperty(callback) {
},
// Mocking ContentMetadataProvider.
{
- get: function(entries, names) {
- if (names.length == 0)
- return Promise.resolve(entries.map(function() { return {}; }));
- assertEquals(2, entries.length);
- assertEquals('filesystem://A', entries[0].toURL());
- assertEquals('filesystem://C', entries[1].toURL());
- assertArrayEquals(['imageWidth'], names);
+ get: function(requests) {
+ assertEquals(1, requests.length);
+ assertTrue(requests[0].entry.toURL() in this.results_);
return Promise.resolve([
- {imageWidth: 100},
- {imageWidth: 300}
+ this.results_[requests[0].entry.toURL()]
]);
+ },
+ results_: {
+ 'filesystem://A': {imageWidth: 100},
+ 'filesystem://C': {imageWidth: 300}
}
},
// Mocking VolumeManagerWrapper.
volumeManager);
- reportPromise(model.get([entryA, entryB, entryC], ['imageWidth']).then(
- function(results) {
- assertEquals(3, results.length);
- assertEquals(100, results[0].imageWidth);
- assertEquals(200, results[1].imageWidth);
- assertEquals(300, results[2].imageWidth);
- }), callback);
+ reportPromise(model.get([
+ new MetadataRequest(entryA, ['imageWidth']),
+ new MetadataRequest(entryB, ['imageWidth']),
+ new MetadataRequest(entryC, ['imageWidth'])
+ ]).then(function(results) {
+ assertEquals(3, results.length);
+ assertEquals(100, results[0].imageWidth);
+ assertEquals(200, results[1].imageWidth);
+ assertEquals(300, results[2].imageWidth);
+ }), callback);
}

Powered by Google App Engine
This is Rietveld 408576698