| Index: ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_unittest.js
|
| diff --git a/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_unittest.js b/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_unittest.js
|
| index 6dd31f99e612e67f5547d6515a07b2cc82ae6374..857d354aefef88ea4865c2fa9613a38241b0a96e 100644
|
| --- a/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_unittest.js
|
| +++ b/ui/file_manager/file_manager/foreground/js/metadata/metadata_cache_unittest.js
|
| @@ -2,6 +2,13 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +/** @type {!MockFileSystem} */
|
| +var fileSystem;
|
| +
|
| +function setUp() {
|
| + fileSystem = new MockFileSystem('volumeId');
|
| +}
|
| +
|
| /**
|
| * Mock of MetadataProvider.
|
| *
|
| @@ -60,22 +67,6 @@ function getLatest(metadataCache, entries, type) {
|
| }
|
|
|
| /**
|
| - * Invokes a callback function depending on the result of promise.
|
| - *
|
| - * @param {Promise} promise Promise.
|
| - * @param {function(boolean)} calllback Callback function. True is passed if the
|
| - * test failed.
|
| - */
|
| -function reportPromise(promise, callback) {
|
| - promise.then(function() {
|
| - callback(/* error */ false);
|
| - }, function(error) {
|
| - console.error(error.stack || error);
|
| - callback(/* error */ true);
|
| - });
|
| -}
|
| -
|
| -/**
|
| * Confirms metadata is cached for the same entry.
|
| *
|
| * @param {function(boolean=)} callback Callback to be called when test
|
| @@ -84,7 +75,7 @@ function reportPromise(promise, callback) {
|
| function testCache(callback) {
|
| var provider = new MockProvider('instrument');
|
| var metadataCache = new MetadataCache([provider]);
|
| - var entry = new MockFileEntry('volumeId', '/music.txt');
|
| + var entry = new MockFileEntry(fileSystem, '/music.txt');
|
|
|
| var metadataFromProviderPromise =
|
| getMetadata(metadataCache, [entry], 'instrument');
|
| @@ -119,8 +110,8 @@ function testNoCacheForDifferentEntries(callback) {
|
| var provider = new MockProvider('instrument');
|
| var metadataCache = new MetadataCache([provider]);
|
|
|
| - var entry1 = new MockFileEntry('volumeId', '/music1.txt');
|
| - var entry2 = new MockFileEntry('volumeId', '/music2.txt');
|
| + var entry1 = new MockFileEntry(fileSystem, '/music1.txt');
|
| + var entry2 = new MockFileEntry(fileSystem, '/music2.txt');
|
|
|
| var entry1MetadataPromise =
|
| getMetadata(metadataCache, [entry1], 'instrument');
|
| @@ -155,7 +146,7 @@ function testNoCacheForDifferentTypes(callback) {
|
| ];
|
| var metadataCache = new MetadataCache(providers);
|
|
|
| - var entry = new MockFileEntry('volumeId', '/music.txt');
|
| + var entry = new MockFileEntry(fileSystem, '/music.txt');
|
| var instrumentMedatataPromise =
|
| getMetadata(metadataCache, [entry], 'instrument');
|
| var beatMetadataPromise = getMetadata(metadataCache, [entry], 'beat');
|
| @@ -192,7 +183,7 @@ function testGetDiffrentTypesInVeriousOrders(callback) {
|
| });
|
| };
|
|
|
| - var entry1 = new MockFileEntry('volumeId', '/music1.txt');
|
| + var entry1 = new MockFileEntry(fileSystem, '/music1.txt');
|
| var promise1 = Promise.all([
|
| getAndCheckMetadata(entry1, 'instrument', {name: 'banjo'}),
|
| getAndCheckMetadata(entry1, 'beat', {number: 2}),
|
| @@ -204,7 +195,7 @@ function testGetDiffrentTypesInVeriousOrders(callback) {
|
| assertEquals(1, providers[0].callbackPool.length);
|
| assertEquals(1, providers[1].callbackPool.length);
|
|
|
| - var entry2 = new MockFileEntry('volumeId', '/music2.txt');
|
| + var entry2 = new MockFileEntry(fileSystem, '/music2.txt');
|
| var promise2 = Promise.all([
|
| getAndCheckMetadata(entry2, 'instrument', {name: 'banjo'}),
|
| getAndCheckMetadata(
|
| @@ -216,7 +207,7 @@ function testGetDiffrentTypesInVeriousOrders(callback) {
|
| assertEquals(2, providers[0].callbackPool.length);
|
| assertEquals(2, providers[1].callbackPool.length);
|
|
|
| - var entry3 = new MockFileEntry('volumeId', '/music3.txt');
|
| + var entry3 = new MockFileEntry(fileSystem, '/music3.txt');
|
| var promise3 = Promise.all([
|
| getAndCheckMetadata(
|
| entry3,
|
| @@ -250,7 +241,7 @@ function testGetCached(callback) {
|
| var provider = new MockProvider('instrument');
|
| var metadataCache = new MetadataCache([provider]);
|
|
|
| - var entry = new MockFileEntry('volumeId', '/music.txt');
|
| + var entry = new MockFileEntry(fileSystem, '/music.txt');
|
|
|
| // Check the cache does exist before calling getMetadata.
|
| assertEquals(null, metadataCache.getCached(entry, 'instrument'));
|
| @@ -278,7 +269,7 @@ function testGetCached(callback) {
|
| function testGetLatest(callback) {
|
| var provider = new MockProvider('instrument');
|
| var metadataCache = new MetadataCache([provider]);
|
| - var entry = new MockFileEntry('volumeId', '/music.txt');
|
| + var entry = new MockFileEntry(fileSystem, '/music.txt');
|
|
|
| var promise = getLatest(metadataCache, [entry], 'instrument');
|
| assertEquals(1, provider.callbackPool.length);
|
| @@ -298,7 +289,7 @@ function testGetLatest(callback) {
|
| function testGetLatestToIgnoreCache(callback) {
|
| var provider = new MockProvider('instrument');
|
| var metadataCache = new MetadataCache([provider]);
|
| - var entry = new MockFileEntry('volumeId', '/music.txt');
|
| + var entry = new MockFileEntry(fileSystem, '/music.txt');
|
|
|
| var promise1 = getMetadata(metadataCache, [entry], 'instrument');
|
| assertEquals(1, provider.callbackPool.length);
|
| @@ -329,7 +320,7 @@ function testGetLatestToIgnoreCache(callback) {
|
| function testGetLatestAndPreviousCall(callback) {
|
| var provider = new MockProvider('instrument');
|
| var metadataCache = new MetadataCache([provider]);
|
| - var entry = new MockFileEntry('volumeId', '/music.txt');
|
| + var entry = new MockFileEntry(fileSystem, '/music.txt');
|
|
|
| var promise1 = getMetadata(metadataCache, [entry], 'instrument');
|
| assertEquals(1, provider.callbackPool.length);
|
| @@ -359,7 +350,7 @@ function testClear(callback) {
|
| new MockProvider('beat')
|
| ];
|
| var metadataCache = new MetadataCache(providers);
|
| - var entry = new MockFileEntry('volumeId', '/music.txt');
|
| + var entry = new MockFileEntry(fileSystem, '/music.txt');
|
|
|
| var promise1 = getMetadata(metadataCache, [entry], 'instrument');
|
| var promise2 = getMetadata(metadataCache, [entry], 'beat');
|
| @@ -401,7 +392,7 @@ function testAddObserver() {
|
| var metadataCache = new MetadataCache(providers);
|
|
|
| var directoryEntry = new MockFileEntry(
|
| - 'volumeId',
|
| + fileSystem,
|
| '/mu\\^$.*.+?|&{}[si]()<>cs');
|
| var observerCalls = [];
|
| var observerCallback = function(entries, properties) {
|
| @@ -411,7 +402,7 @@ function testAddObserver() {
|
| metadataCache.addObserver(directoryEntry, MetadataCache.CHILDREN,
|
| 'filesystem', observerCallback);
|
|
|
| - var fileEntry1 = new MockFileEntry('volumeId',
|
| + var fileEntry1 = new MockFileEntry(fileSystem,
|
| '/mu\\^$.*.+?|&{}[si]()<>cs/foo.mp3');
|
| var fileEntry1URL = fileEntry1.toURL();
|
| metadataCache.set(fileEntry1, 'filesystem', 'test1');
|
| @@ -419,7 +410,7 @@ function testAddObserver() {
|
| assertArrayEquals([fileEntry1], observerCalls[0].entries);
|
| assertEquals('test1', observerCalls[0].properties[fileEntry1URL]);
|
|
|
| - var fileEntry2 = new MockFileEntry('volumeId',
|
| + var fileEntry2 = new MockFileEntry(fileSystem,
|
| '/mu\\^$.*.+?|&{}[si]()<>cs/f.[o]o.mp3');
|
| var fileEntry2URL = fileEntry2.toURL();
|
| metadataCache.set(fileEntry2, 'filesystem', 'test2');
|
| @@ -428,14 +419,14 @@ function testAddObserver() {
|
| assertEquals('test2', observerCalls[1].properties[fileEntry2URL]);
|
|
|
| // Descendant case does not invoke the observer.
|
| - var fileEntry3 = new MockFileEntry('volumeId',
|
| + var fileEntry3 = new MockFileEntry(fileSystem,
|
| '/mu\\^$.*.+?|&{}[si]()<>cs/foo/bar.mp3');
|
| metadataCache.set(fileEntry3, 'filesystem', 'test3');
|
| assertEquals(2, observerCalls.length);
|
|
|
| // This case does not invoke the observer.
|
| // (This is a case which matches when regexp special chars are not escaped).
|
| - var fileEntry4 = new MockFileEntry('volumeId', '/&{}i<>cs/foo.mp3');
|
| + var fileEntry4 = new MockFileEntry(fileSystem, '/&{}i<>cs/foo.mp3');
|
| metadataCache.set(fileEntry4);
|
| assertEquals(2, observerCalls.length);
|
| }
|
| @@ -444,7 +435,6 @@ function testAddObserver() {
|
| * Tests content provider.
|
| */
|
| function testContentProvider(callback) {
|
| - var fileSystem = new MockFileSystem('volumeId');
|
| var entry = new MockFileEntry(fileSystem, '/sample.txt');
|
| var metadataCache = new MetadataCache([new ContentProvider({
|
| start: function() {},
|
|
|