| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 'use strict'; |
| 6 |
| 7 /** |
| 8 * @enum {string} |
| 9 * @const |
| 10 */ |
| 11 var EntryType = Object.freeze({ |
| 12 FILE: 'file', |
| 13 DIRECTORY: 'directory' |
| 14 }); |
| 15 |
| 16 /** |
| 17 * @enum {string} |
| 18 * @const |
| 19 */ |
| 20 var SharedOption = Object.freeze({ |
| 21 NONE: 'none', |
| 22 SHARED: 'shared' |
| 23 }); |
| 24 |
| 25 /** |
| 26 * File system entry information for tests. |
| 27 * |
| 28 * @param {EntryType} entryType Entry type. |
| 29 * @param {string} sourceFileName Source file name that provides file contents. |
| 30 * @param {string} targetName Name of entry on the test file system. |
| 31 * @param {string} mimeType Mime type. |
| 32 * @param {string} typeText Type name to be shown in the type column. |
| 33 * @param {string} sizeText Size text to be shown in the size column. |
| 34 * @param {SharedOption} sharedOption Shared option. |
| 35 * @param {string} lastModifiedTime Last modified time as a text to be shown in |
| 36 * the last modified column. |
| 37 * @constructor |
| 38 */ |
| 39 var TestEntryInfo = function(entryType, |
| 40 sourceFileName, |
| 41 targetName, |
| 42 mimeType, |
| 43 typeText, |
| 44 sizeText, |
| 45 sharedOption, |
| 46 lastModifiedTime) { |
| 47 this.entryType = entryType; |
| 48 this.sourceFileName = sourceFileName; |
| 49 this.targetName = targetName; |
| 50 this.mimeType = mimeType; |
| 51 this.typeText = typeText; |
| 52 this.sizeText = sizeText; |
| 53 this.sharedOption = sharedOption; |
| 54 this.lastModifiedTime = lastModifiedTime; |
| 55 Object.freeze(this); |
| 56 }; |
| 57 |
| 58 /** |
| 59 * Obtains a expected row contents of the file in the file list. |
| 60 */ |
| 61 TestEntryInfo.prototype.getExpectedRow = function() { |
| 62 return [this.targetName, this.sizeText, this.typeText, this.lastModifiedTime]; |
| 63 }; |
| 64 |
| 5 /** | 65 /** |
| 6 * Expected files before tests are performed. Entries for Local tests. | 66 * Expected files before tests are performed. Entries for Local tests. |
| 7 * @type {Array.<Array.<string>>} | 67 * @type {Array.<Array.<string>>} |
| 8 * @const | 68 * @const |
| 9 */ | 69 */ |
| 10 var EXPECTED_FILES_BEFORE_LOCAL = [ | 70 var EXPECTED_FILES_BEFORE_LOCAL = [ |
| 11 ['hello.txt', '51 bytes', 'Plain text', 'Sep 4, 1998 12:34 PM'], | 71 ['hello.txt', '51 bytes', 'Plain text', 'Sep 4, 1998 12:34 PM'], |
| 12 ['world.ogv', '59 KB', 'OGG video', 'Jul 4, 2012 10:35 AM'], | 72 ['world.ogv', '59 KB', 'OGG video', 'Jul 4, 2012 10:35 AM'], |
| 13 ['My Desktop Background.png', '272 bytes', 'PNG image', | 73 ['My Desktop Background.png', '272 bytes', 'PNG image', |
| 14 'Jan 18, 2038 1:02 AM'], | 74 'Jan 18, 2038 1:02 AM'], |
| (...skipping 12 matching lines...) Expand all Loading... |
| 27 ['world.ogv', '59 KB', 'OGG video', 'Jul 4, 2012 10:35 AM'], | 87 ['world.ogv', '59 KB', 'OGG video', 'Jul 4, 2012 10:35 AM'], |
| 28 ['My Desktop Background.png', '272 bytes', 'PNG image', | 88 ['My Desktop Background.png', '272 bytes', 'PNG image', |
| 29 'Jan 18, 2038 1:02 AM'], | 89 'Jan 18, 2038 1:02 AM'], |
| 30 ['Beautiful Song.ogg', '14 KB', 'OGG audio', 'Nov 12, 2086 12:00 PM'], | 90 ['Beautiful Song.ogg', '14 KB', 'OGG audio', 'Nov 12, 2086 12:00 PM'], |
| 31 ['photos', '--', 'Folder', 'Jan 1, 1980 11:59 PM'], | 91 ['photos', '--', 'Folder', 'Jan 1, 1980 11:59 PM'], |
| 32 ['Test Document.gdoc','--','Google document','Apr 10, 2013 4:20 PM'], | 92 ['Test Document.gdoc','--','Google document','Apr 10, 2013 4:20 PM'], |
| 33 ['Test Shared Document.gdoc','--','Google document','Mar 20, 2013 10:40 PM'] | 93 ['Test Shared Document.gdoc','--','Google document','Mar 20, 2013 10:40 PM'] |
| 34 ].sort(); | 94 ].sort(); |
| 35 | 95 |
| 36 /** | 96 /** |
| 37 * Expected files added during some tests. | 97 * Filesystem entries used by the test cases. |
| 38 * @type {Array.<Array.<string>>} | 98 * @type {Object.<string, TestEntryInfo>} |
| 39 * @const | 99 * @const |
| 40 */ | 100 */ |
| 41 var EXPECTED_NEWLY_ADDED_FILE = [ | 101 var ENTRIES = { |
| 42 ['newly added file.ogg', '14 KB', 'OGG audio', 'Sep 4, 1998 12:00 AM'] | 102 newlyAdded: new TestEntryInfo( |
| 43 ]; | 103 EntryType.FILE, 'music.ogg', 'newly added file.ogg', |
| 104 'audio/ogg', 'OGG audio', '14 KB', SharedOption.NONE, |
| 105 'Sep 4, 1998 12:00 AM') |
| 106 }; |
| 44 | 107 |
| 45 /** | 108 /** |
| 46 * @param {boolean} isDrive True if the test is for Drive. | 109 * @param {boolean} isDrive True if the test is for Drive. |
| 47 * @return {Array.<Array.<string>>} A sorted list of expected entries at the | 110 * @return {Array.<Array.<string>>} A sorted list of expected entries at the |
| 48 * initial state. | 111 * initial state. |
| 49 */ | 112 */ |
| 50 function getExpectedFilesBefore(isDrive) { | 113 function getExpectedFilesBefore(isDrive) { |
| 51 return isDrive ? | 114 return isDrive ? |
| 52 EXPECTED_FILES_BEFORE_DRIVE : | 115 EXPECTED_FILES_BEFORE_DRIVE : |
| 53 EXPECTED_FILES_BEFORE_LOCAL; | 116 EXPECTED_FILES_BEFORE_LOCAL; |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 * Tests if the files initially added by the C++ side are displayed, and | 222 * Tests if the files initially added by the C++ side are displayed, and |
| 160 * that a subsequently added file shows up. | 223 * that a subsequently added file shows up. |
| 161 * | 224 * |
| 162 * @param {string} path Directory path to be tested. | 225 * @param {string} path Directory path to be tested. |
| 163 */ | 226 */ |
| 164 testcase.intermediate.fileDisplay = function(path) { | 227 testcase.intermediate.fileDisplay = function(path) { |
| 165 var appId; | 228 var appId; |
| 166 | 229 |
| 167 var expectedFilesBefore = getExpectedFilesBefore(path == '/drive/root'); | 230 var expectedFilesBefore = getExpectedFilesBefore(path == '/drive/root'); |
| 168 var expectedFilesAfter = | 231 var expectedFilesAfter = |
| 169 expectedFilesBefore.concat(EXPECTED_NEWLY_ADDED_FILE).sort(); | 232 expectedFilesBefore.concat([ENTRIES.newlyAdded.getExpectedRow()]).sort(); |
| 170 | 233 |
| 171 StepsRunner.run([ | 234 StepsRunner.run([ |
| 172 function() { | 235 function() { |
| 173 setupAndWaitUntilReady(path, this.next); | 236 setupAndWaitUntilReady(path, this.next); |
| 174 }, | 237 }, |
| 175 // Notify that the list has been verified and a new file can be added | 238 // Notify that the list has been verified and a new file can be added |
| 176 // in file_manager_browsertest.cc. | 239 // in file_manager_browsertest.cc. |
| 177 function(inAppId, actualFilesBefore) { | 240 function(inAppId, actualFilesBefore) { |
| 178 appId = inAppId; | 241 appId = inAppId; |
| 179 chrome.test.assertEq(expectedFilesBefore, actualFilesBefore); | 242 chrome.test.assertEq(expectedFilesBefore, actualFilesBefore); |
| 180 addEntries(['local', 'drive'], [{ | 243 addEntries(['local', 'drive'], [ENTRIES.newlyAdded], this.next); |
| 181 type: 'file', | |
| 182 source_file_name: 'music.ogg', | |
| 183 target_name: 'newly added file.ogg', | |
| 184 mime_type: 'audio/ogg', | |
| 185 shared_option: 'none', | |
| 186 last_modified_time: '4 Sep 1998 00:00:00' | |
| 187 }], this.next); | |
| 188 }, | 244 }, |
| 189 function(result) { | 245 function(result) { |
| 190 chrome.test.assertTrue(result); | 246 chrome.test.assertTrue(result); |
| 191 callRemoteTestUtil( | 247 callRemoteTestUtil( |
| 192 'waitForFileListChange', | 248 'waitForFileListChange', |
| 193 appId, | 249 appId, |
| 194 [expectedFilesBefore.length], | 250 [expectedFilesBefore.length], |
| 195 this.next); | 251 this.next); |
| 196 }, | 252 }, |
| 197 // Confirm the file list. | 253 // Confirm the file list. |
| (...skipping 1016 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1214 appId2, | 1270 appId2, |
| 1215 [650, 490], | 1271 [650, 490], |
| 1216 this.next); | 1272 this.next); |
| 1217 }, | 1273 }, |
| 1218 // Check for errors. | 1274 // Check for errors. |
| 1219 function() { | 1275 function() { |
| 1220 checkIfNoErrorsOccured(this.next); | 1276 checkIfNoErrorsOccured(this.next); |
| 1221 } | 1277 } |
| 1222 ]); | 1278 ]); |
| 1223 }; | 1279 }; |
| OLD | NEW |