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

Side by Side Diff: chrome/test/data/extensions/api_test/file_manager_browsertest/test_cases.js

Issue 16092002: Added basic tests to test the audio player in Files.app. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 /** 5 /**
6 * Expected files before tests are performed. Entries for Local tests. 6 * Expected files before tests are performed. Entries for Local tests.
7 * @type {Array.<Array.<string>>} 7 * @type {Array.<Array.<string>>}
8 * @const 8 * @const
9 */ 9 */
10 var EXPECTED_FILES_BEFORE_LOCAL = [ 10 var EXPECTED_FILES_BEFORE_LOCAL = [
11 ['hello.txt', '51 bytes', 'Plain text', 'Sep 4, 1998 12:34 PM'], 11 ['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'], 12 ['world.ogv', '59 KB', 'OGG video', 'Jul 4, 2012 10:35 AM'],
13 ['My Desktop Background.png', '272 bytes', 'PNG image', 13 ['My Desktop Background.png', '272 bytes', 'PNG image',
14 'Jan 18, 2038 1:02 AM'], 14 'Jan 18, 2038 1:02 AM'],
15 ['Beautiful Song.ogg', '14 KB', 'OGG audio', 'Nov 12, 2086 12:00 AM'],
15 ['photos', '--', 'Folder', 'Jan 1, 1980 11:59 PM'] 16 ['photos', '--', 'Folder', 'Jan 1, 1980 11:59 PM']
16 // ['.warez', '--', 'Folder', 'Oct 26, 1985 1:39 PM'] # should be hidden 17 // ['.warez', '--', 'Folder', 'Oct 26, 1985 1:39 PM'] # should be hidden
17 ].sort(); 18 ].sort();
18 19
19 /** 20 /**
20 * Expected files before tests are performed. Entries for Drive tests. 21 * Expected files before tests are performed. Entries for Drive tests.
21 * @type {Array.<Array.<string>>} 22 * @type {Array.<Array.<string>>}
22 * @const 23 * @const
23 */ 24 */
24 var EXPECTED_FILES_BEFORE_DRIVE = [ 25 var EXPECTED_FILES_BEFORE_DRIVE = [
25 ['hello.txt', '51 bytes', 'Plain text', 'Sep 4, 1998 12:34 PM'], 26 ['hello.txt', '51 bytes', 'Plain text', 'Sep 4, 1998 12:34 PM'],
26 ['world.ogv', '59 KB', 'OGG video', 'Jul 4, 2012 10:35 AM'], 27 ['world.ogv', '59 KB', 'OGG video', 'Jul 4, 2012 10:35 AM'],
27 ['My Desktop Background.png', '272 bytes', 'PNG image', 28 ['My Desktop Background.png', '272 bytes', 'PNG image',
28 'Jan 18, 2038 1:02 AM'], 29 'Jan 18, 2038 1:02 AM'],
30 ['Beautiful Song.ogg', '14 KB', 'OGG audio', 'Nov 12, 2086 12:00 AM'],
29 ['photos', '--', 'Folder', 'Jan 1, 1980 11:59 PM'], 31 ['photos', '--', 'Folder', 'Jan 1, 1980 11:59 PM'],
30 ['Test Document.gdoc','--','Google document','Apr 10, 2013 4:20 PM'], 32 ['Test Document.gdoc','--','Google document','Apr 10, 2013 4:20 PM'],
31 ['Test Shared Document.gdoc','--','Google document','Mar 20, 2013 10:40 PM'] 33 ['Test Shared Document.gdoc','--','Google document','Mar 20, 2013 10:40 PM']
32 ].sort(); 34 ].sort();
33 35
34 /** 36 /**
35 * Expected files added during some tests. 37 * Expected files added during some tests.
36 * @type {Array.<Array.<string>>} 38 * @type {Array.<Array.<string>>}
37 * @const 39 * @const
38 */ 40 */
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 }, 187 },
186 function(result) { 188 function(result) {
187 chrome.test.assertTrue(result); 189 chrome.test.assertTrue(result);
188 // Wait for the image in the gallery's screen image. 190 // Wait for the image in the gallery's screen image.
189 callRemoteTestUtil('waitForElement', 191 callRemoteTestUtil('waitForElement',
190 appId, 192 appId,
191 ['.gallery .content canvas.image', 193 ['.gallery .content canvas.image',
192 'iframe.overlay-pane'], 194 'iframe.overlay-pane'],
193 steps.shift()); 195 steps.shift());
194 }, 196 },
195 function(attributes) { 197 function(element) {
196 // Verify the gallery's screen image. 198 // Verify the gallery's screen image.
197 chrome.test.assertEq('320', attributes['width']); 199 chrome.test.assertEq('320', element.attributes.width);
198 chrome.test.assertEq('240', attributes['height']); 200 chrome.test.assertEq('240', element.attributes.height);
199 // Get the full-resolution image. 201 // Get the full-resolution image.
200 callRemoteTestUtil('waitForElement', 202 callRemoteTestUtil('waitForElement',
201 appId, 203 appId,
202 ['.gallery .content canvas.fullres', 204 ['.gallery .content canvas.fullres',
203 'iframe.overlay-pane'], 205 'iframe.overlay-pane'],
204 steps.shift()); 206 steps.shift());
205 }, 207 },
206 function(attributes) { 208 function(element) {
207 // Verify the gallery's screen image. 209 // Verify the gallery's screen image.
208 chrome.test.assertEq('800', attributes['width']); 210 chrome.test.assertEq('800', element.attributes.width);
209 chrome.test.assertEq('600', attributes['height']); 211 chrome.test.assertEq('600', element.attributes.height);
210 chrome.test.succeed(); 212 chrome.test.succeed();
211 }, 213 }
212 ]; 214 ];
213 steps = steps.map(function(f) { return chrome.test.callbackPass(f); }); 215 steps = steps.map(function(f) { return chrome.test.callbackPass(f); });
214 steps.shift()(); 216 steps.shift()();
217 };
218
219 /**
220 * Tests if the audio player shows up for the selected image and that the audio
221 * is loaded successfully.
222 *
223 * @param {string} path Directory path to be tested.
224 */
225 testcase.intermediate.audioOpen = function(path) {
226 var appId;
227 var audioAppId;
228 var steps = [
229 function() {
230 setupAndWaitUntilReady(path, steps.shift());
231 },
232 function(inAppId) {
233 appId = inAppId;
234 // Select the song.
235 callRemoteTestUtil(
236 'selectFile', appId, ['Beautiful Song.ogg'], steps.shift());
237 },
238 function(result) {
239 chrome.test.assertTrue(result);
240 // Click on the label to enter the audio player.
241 callRemoteTestUtil(
242 'fakeMouseClick',
243 appId,
244 ['#file-list li.table-row[selected] .filename-label span'],
245 steps.shift());
246 },
247 function(result) {
248 chrome.test.assertTrue(result);
249 // Wait for the audio player.
250 callRemoteTestUtil('waitForWindow',
251 null,
252 ['mediaplayer.html'],
253 steps.shift());
254 },
255 function(appId) {
hirono 2013/05/27 09:15:37 The name 'appId' is also used in the outer functio
mtomasz 2013/05/27 09:18:12 Good idea. Done.
256 audioAppId = appId;
257 // Wait for the audio tag and verify the source.
258 callRemoteTestUtil('waitForElement',
259 audioAppId,
260 ['audio[src]'],
261 steps.shift());
262 },
263 function(element) {
264 chrome.test.assertEq(
265 'filesystem:chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj/' +
266 'external' + path + '/Beautiful%20Song.ogg',
267 element.attributes.src);
268 // Get the title tag.
269 callRemoteTestUtil('waitForElement',
270 audioAppId,
271 ['.data-title'],
272 steps.shift());
273 },
274 function(element) {
275 chrome.test.assertEq('Beautiful Song', element.text);
276 // Get the artist tag.
277 callRemoteTestUtil('waitForElement',
278 audioAppId,
279 ['.data-artist'],
280 steps.shift());
281 },
282 function(element) {
283 chrome.test.assertEq('Unknown Artist', element.text);
284 chrome.test.succeed();
285 }
286 ];
287 steps = steps.map(function(f) { return chrome.test.callbackPass(f); });
288 steps.shift()();
215 }; 289 };
216 290
217 /** 291 /**
218 * Tests copying a file to the same directory and waits until the file lists 292 * Tests copying a file to the same directory and waits until the file lists
219 * changes. 293 * changes.
220 * 294 *
221 * @param {string} path Directory path to be tested. 295 * @param {string} path Directory path to be tested.
222 */ 296 */
223 testcase.intermediate.keyboardCopy = function(path, callback) { 297 testcase.intermediate.keyboardCopy = function(path, callback) {
224 setupAndWaitUntilReady(path, function(appId) { 298 setupAndWaitUntilReady(path, function(appId) {
(...skipping 28 matching lines...) Expand all
253 }; 327 };
254 328
255 testcase.fileDisplayDownloads = function() { 329 testcase.fileDisplayDownloads = function() {
256 testcase.intermediate.fileDisplay('/Downloads'); 330 testcase.intermediate.fileDisplay('/Downloads');
257 }; 331 };
258 332
259 testcase.galleryOpenDownloads = function() { 333 testcase.galleryOpenDownloads = function() {
260 testcase.intermediate.galleryOpen('/Downloads'); 334 testcase.intermediate.galleryOpen('/Downloads');
261 }; 335 };
262 336
337 testcase.audioOpenDownloads = function() {
338 testcase.intermediate.audioOpen('/Downloads');
339 };
340
263 testcase.keyboardCopyDownloads = function() { 341 testcase.keyboardCopyDownloads = function() {
264 testcase.intermediate.keyboardCopy('/Downloads'); 342 testcase.intermediate.keyboardCopy('/Downloads');
265 }; 343 };
266 344
267 testcase.keyboardDeleteDownloads = function() { 345 testcase.keyboardDeleteDownloads = function() {
268 testcase.intermediate.keyboardDelete('/Downloads'); 346 testcase.intermediate.keyboardDelete('/Downloads');
269 }; 347 };
270 348
271 testcase.fileDisplayDrive = function() { 349 testcase.fileDisplayDrive = function() {
272 testcase.intermediate.fileDisplay('/drive/root'); 350 testcase.intermediate.fileDisplay('/drive/root');
273 }; 351 };
274 352
275 testcase.galleryOpenDrive = function() { 353 testcase.galleryOpenDrive = function() {
276 testcase.intermediate.galleryOpen('/drive/root'); 354 testcase.intermediate.galleryOpen('/drive/root');
277 }; 355 };
278 356
357 testcase.audioOpenDrive = function() {
358 testcase.intermediate.audioOpen('/drive/root');
359 };
360
279 testcase.keyboardCopyDrive = function() { 361 testcase.keyboardCopyDrive = function() {
280 testcase.intermediate.keyboardCopy('/drive/root'); 362 testcase.intermediate.keyboardCopy('/drive/root');
281 }; 363 };
282 364
283 testcase.keyboardDeleteDrive = function() { 365 testcase.keyboardDeleteDrive = function() {
284 testcase.intermediate.keyboardDelete('/drive/root'); 366 testcase.intermediate.keyboardDelete('/drive/root');
285 }; 367 };
286 368
287 /** 369 /**
288 * Tests opening the "Recent" on the sidebar navigation by clicking the icon, 370 * Tests opening the "Recent" on the sidebar navigation by clicking the icon,
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 /** 649 /**
568 * Tests copy from drive's offline to drive's root. 650 * Tests copy from drive's offline to drive's root.
569 */ 651 */
570 testcase.transferFromOfflineToDrive = function() { 652 testcase.transferFromOfflineToDrive = function() {
571 testcase.intermediate.copyBetweenVolumes('Test Document.gdoc', 653 testcase.intermediate.copyBetweenVolumes('Test Document.gdoc',
572 'drive_offline', 654 'drive_offline',
573 EXPECTED_FILES_IN_OFFLINE, 655 EXPECTED_FILES_IN_OFFLINE,
574 'drive', 656 'drive',
575 EXPECTED_FILES_BEFORE_DRIVE); 657 EXPECTED_FILES_BEFORE_DRIVE);
576 }; 658 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698