Chromium Code Reviews| Index: chrome/test/data/extensions/api_test/file_manager_browsertest/test_cases.js |
| diff --git a/chrome/test/data/extensions/api_test/file_manager_browsertest/test_cases.js b/chrome/test/data/extensions/api_test/file_manager_browsertest/test_cases.js |
| index 64959db9c5f14d398b9b8c04fdca32bf1671e8fc..9d34b83aaf1fa90bad9930a6c6534bbc5e4030ca 100644 |
| --- a/chrome/test/data/extensions/api_test/file_manager_browsertest/test_cases.js |
| +++ b/chrome/test/data/extensions/api_test/file_manager_browsertest/test_cases.js |
| @@ -47,9 +47,9 @@ var TestEntryInfo = function(type, |
| sizeText, |
| typeText) { |
| this.type = type; |
| - this.sourceFileName = sourceFileName; |
| + this.sourceFileName = sourceFileName || ''; |
| this.targetName = targetName; |
| - this.mimeType = mimeType; |
| + this.mimeType = mimeType || ''; |
| this.sharedOption = sharedOption; |
| this.lastModifiedTime = lastModifiedTime; |
| this.nameText = nameText; |
| @@ -66,47 +66,105 @@ TestEntryInfo.prototype.getExpectedRow = function() { |
| }; |
| /** |
| - * Expected files before tests are performed. Entries for Local tests. |
| - * @type {Array.<Array.<string>>} |
| + * Filesystem entries used by the test cases. |
| + * @type {Object.<string, TestEntryInfo>} |
| * @const |
| */ |
| -var EXPECTED_FILES_BEFORE_LOCAL = [ |
| - ['hello.txt', '51 bytes', 'Plain text', 'Sep 4, 1998 12:34 PM'], |
| - ['world.ogv', '59 KB', 'OGG video', 'Jul 4, 2012 10:35 AM'], |
| - ['My Desktop Background.png', '272 bytes', 'PNG image', |
| - 'Jan 18, 2038 1:02 AM'], |
| - ['Beautiful Song.ogg', '14 KB', 'OGG audio', 'Nov 12, 2086 12:00 PM'], |
| - ['photos', '--', 'Folder', 'Jan 1, 1980 11:59 PM'] |
| - // ['.warez', '--', 'Folder', 'Oct 26, 1985 1:39 PM'] # should be hidden |
| -].sort(); |
| +var ENTRIES = { |
| + hello: new TestEntryInfo( |
| + EntryType.FILE, 'text.txt', 'hello.txt', |
| + 'text/plain', SharedOption.NONE, 'Sep 4, 1998 12:34 PM', |
| + 'hello.txt', '51 bytes', 'Plain text'), |
| + |
| + world: new TestEntryInfo( |
| + EntryType.FILE, 'video.ogv', 'world.ogv', |
| + 'text/plain', SharedOption.NONE, 'Jul 4, 2012 10:35 AM', |
| + 'world.ogv', '59 KB', 'OGG video'), |
| + |
| + desktop: new TestEntryInfo( |
| + EntryType.FILE, 'image.png', 'My Desktop Background.png', |
| + 'text/plain', SharedOption.NONE, 'Jan 18, 2038 1:02 AM', |
| + 'My Desktop Background.png', '272 bytes', 'PNG image'), |
| + |
| + beautiful: new TestEntryInfo( |
| + EntryType.FILE, 'music.ogg', 'Beautiful Song.ogg', |
| + 'text/plain', SharedOption.NONE, 'Nov 12, 2086 12:00 PM', |
| + 'Beautiful Song.ogg', '14 KB', 'OGG audio'), |
| + |
| + photos: new TestEntryInfo( |
| + EntryType.DIRECTORY, null, 'photos', |
| + null, SharedOption.NONE, 'Jan 1, 1980 11:59 PM', |
| + 'photos', '--', 'Folder'), |
| + |
| + testDocument: new TestEntryInfo( |
| + EntryType.FILE, null, 'Test Document', |
| + 'application/vnd.google-apps.document', |
| + SharedOption.NONE, 'Apr 10, 2013 4:20 PM', |
| + 'Test Document.gdoc', '--', 'Google document'), |
| + |
| + testSharedDocument: new TestEntryInfo( |
| + EntryType.FILE, null, 'Test Shared Document', |
| + 'application/vnd.google-apps.document', |
| + SharedOption.SHARED, 'Mar 20, 2013 10:40 PM', |
| + 'Test Shared Document.gdoc', '--', 'Google document'), |
| + |
| + newlyAdded: new TestEntryInfo( |
| + EntryType.FILE, 'music.ogg', 'newly added file.ogg', |
| + 'audio/ogg', SharedOption.NONE, 'Sep 4, 1998 12:00 AM', |
| + 'newly added file.ogg', '14 KB', 'OGG audio') |
| +}; |
| /** |
| - * Expected files before tests are performed. Entries for Drive tests. |
| + * Basic entry set for the local volume. |
| + * @type {Array.<TestEntryInfo>} |
| + * @const |
| + */ |
| +var BASIC_LOCAL_ENTRY_SET = [ |
| + ENTRIES.hello, |
| + ENTRIES.world, |
| + ENTRIES.desktop, |
| + ENTRIES.beautiful, |
| + ENTRIES.photos |
| +]; |
| + |
| +/** |
| + * Basic entry set for the drive volume. |
| + * |
| + * TODO(hirono): Add a case for an entry cached by DriveCache. For testing |
|
hashimoto
2013/09/17 08:55:36
nit: "DriveCache" is meant to indicate the C++ cla
hirono
2013/09/17 09:05:26
Done.
Actually this is just copied haruki-san's To
|
| + * Drive, create more entries with Drive specific attributes. |
| + * |
| + * @type {Array.<TestEntryInfo>} |
| + * @const |
| + */ |
| +var BASIC_DRIVE_ENTRY_SET = [ |
| + ENTRIES.hello, |
| + ENTRIES.world, |
| + ENTRIES.desktop, |
| + ENTRIES.beautiful, |
| + ENTRIES.photos, |
| + ENTRIES.testDocument, |
| + ENTRIES.testSharedDocument |
| +]; |
| + |
| +/** |
| + * Expected files before tests are performed. Entries for Local tests. |
| + * TODO(hirono): Remove the constant. |
| * @type {Array.<Array.<string>>} |
| * @const |
| */ |
| -var EXPECTED_FILES_BEFORE_DRIVE = [ |
| - ['hello.txt', '51 bytes', 'Plain text', 'Sep 4, 1998 12:34 PM'], |
| - ['world.ogv', '59 KB', 'OGG video', 'Jul 4, 2012 10:35 AM'], |
| - ['My Desktop Background.png', '272 bytes', 'PNG image', |
| - 'Jan 18, 2038 1:02 AM'], |
| - ['Beautiful Song.ogg', '14 KB', 'OGG audio', 'Nov 12, 2086 12:00 PM'], |
| - ['photos', '--', 'Folder', 'Jan 1, 1980 11:59 PM'], |
| - ['Test Document.gdoc','--','Google document','Apr 10, 2013 4:20 PM'], |
| - ['Test Shared Document.gdoc','--','Google document','Mar 20, 2013 10:40 PM'] |
| -].sort(); |
| +var EXPECTED_FILES_BEFORE_LOCAL = BASIC_LOCAL_ENTRY_SET.map(function(entry) { |
| + return entry.getExpectedRow(); |
| +}).sort(); |
| /** |
| - * Filesystem entries used by the test cases. |
| - * @type {Object.<string, TestEntryInfo>} |
| + * Expected files before tests are performed. Entries for Drive tests. |
| + * TODO(hirono): Remove the constant. |
| + * @type {Array.<Array.<string>>} |
| * @const |
| */ |
| -var ENTRIES = { |
| - newlyAdded: new TestEntryInfo( |
| - EntryType.FILE, 'music.ogg', 'newly added file.ogg', |
| - 'audio/ogg', SharedOption.NONE, 'Sep 4, 1998 12:00 AM', |
| - 'newly added file.ogg', '14 KB', 'OGG audio') |
| -}; |
| +var EXPECTED_FILES_BEFORE_DRIVE = BASIC_DRIVE_ENTRY_SET.map(function(entry) { |
| + return entry.getExpectedRow(); |
| +}).sort(); |
| /** |
| * @param {boolean} isDrive True if the test is for Drive. |
| @@ -122,16 +180,35 @@ function getExpectedFilesBefore(isDrive) { |
| /** |
| * Opens a Files.app's main window and waits until it is initialized. |
| * |
| + * TODO(hirono): Add parameters to specify the entry set to be prepared. |
| + * |
| * @param {string} path Directory to be opened. |
| * @param {function(string, Array.<Array.<string>>)} Callback with the app id |
| * and with the file list. |
| */ |
| function setupAndWaitUntilReady(path, callback) { |
| - callRemoteTestUtil('openMainWindow', null, [path], function(appId) { |
| - callRemoteTestUtil('waitForFileListChange', appId, [0], function(files) { |
| - callback(appId, files); |
| - }); |
| - }); |
| + var appId; |
| + var steps = [ |
| + function() { |
| + callRemoteTestUtil('openMainWindow', null, [path], steps.shift()); |
| + }, |
| + function(inAppId) { |
| + appId = inAppId; |
| + addEntries(['local'], BASIC_LOCAL_ENTRY_SET, steps.shift()); |
| + }, |
| + function(success) { |
| + chrome.test.assertTrue(success); |
| + addEntries(['drive'], BASIC_DRIVE_ENTRY_SET, steps.shift()); |
| + }, |
| + function(success) { |
| + chrome.test.assertTrue(success); |
| + callRemoteTestUtil('waitForFileListChange', appId, [0], steps.shift()); |
| + }, |
| + function(fileList) { |
| + callback(appId, fileList); |
| + } |
| + ]; |
| + steps.shift()(); |
| } |
| /** |
| @@ -149,6 +226,8 @@ function checkIfNoErrorsOccured(callback) { |
| * Expected files shown in "Recent". Directories (e.g. 'photos') are not in this |
| * list as they are not expected in "Recent". |
| * |
| + * TODO(hirono): Remove the constant. |
| + * |
| * @type {Array.<Array.<string>>} |
| * @const |
| */ |
| @@ -166,6 +245,9 @@ var EXPECTED_FILES_IN_RECENT = [ |
| * Expected files shown in "Offline", which should have the files |
| * "available offline". Google Documents, Google Spreadsheets, and the files |
| * cached locally are "available offline". |
| + * |
| + * TODO(hirono): Remove the constant. |
| + * |
| * @type {Array.<Array.<string>>} |
| * @const |
| */ |
| @@ -177,6 +259,9 @@ var EXPECTED_FILES_IN_OFFLINE = [ |
| /** |
| * Expected files shown in "Shared with me", which should be the entries labeled |
| * with "shared-with-me". |
| + * |
| + * TODO(hirono): Remove the constant. |
| + * |
| * @type {Array.<Array.<string>>} |
| * @const |
| */ |