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