Supervised user whitelists: Cleanup
[chromium-blink-merge.git] / ui / file_manager / integration_tests / gallery / slide_mode.js
blob372b928ce89194909dfe5f94b115d586f74b0c0a
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 'use strict';
7 /**
8  * Runs a test to traverse images in the slide mode.
9  *
10  * @param {string} testVolumeName Test volume name passed to the addEntries
11  *     function. Either 'drive' or 'local'.
12  * @param {VolumeManagerCommon.VolumeType} volumeType Volume type.
13  * @return {Promise} Promise to be fulfilled with on success.
14  */
15 function traverseSlideImages(testVolumeName, volumeType) {
16   var testEntries = [ENTRIES.desktop, ENTRIES.image2, ENTRIES.image3];
17   var launchedPromise = launch(
18       testVolumeName, volumeType, testEntries, testEntries.slice(0, 1));
19   var appId;
20   return launchedPromise.then(function(args) {
21     appId = args.appId;
22     return gallery.waitForElement(appId, '.gallery[mode="slide"]');
23   }).then(function() {
24     return gallery.waitForSlideImage(appId, 800, 600, 'My Desktop Background');
25   }).then(function() {
26     return gallery.waitAndClickElement(appId, '.arrow.right');
27   }).then(function() {
28     return gallery.waitForSlideImage(appId, 1024, 768, 'image2');
29   }).then(function() {
30     return gallery.waitAndClickElement(appId, '.arrow.right');
31   }).then(function() {
32     return gallery.waitForSlideImage(appId, 640, 480, 'image3');
33   }).then(function() {
34     return gallery.waitAndClickElement(appId, '.arrow.right');
35   }).then(function() {
36     return gallery.waitForSlideImage(appId, 800, 600, 'My Desktop Background');
37   });
40 /**
41  * Runs a test to rename an image.
42  *
43  * @param {string} testVolumeName Test volume name passed to the addEntries
44  *     function. Either 'drive' or 'local'.
45  * @param {VolumeManagerCommon.VolumeType} volumeType Volume type.
46  * @return {Promise} Promise to be fulfilled with on success.
47  */
48 function renameImage(testVolumeName, volumeType) {
49   var launchedPromise = launch(
50       testVolumeName, volumeType, [ENTRIES.desktop]);
51   var appId;
52   return launchedPromise.then(function(args) {
53     appId = args.appId;
54     return gallery.waitForSlideImage(appId, 800, 600, 'My Desktop Background');
55   }).then(function() {
56      return gallery.changeNameAndWait(appId, 'New Image Name');
57   }).then(function() {
58      return repeatUntil(function() {
59       return gallery.getFilesUnderVolume(volumeType, ['New Image Name.png'])
60       .then(function(urls) {
61         if (urls.length == 1)
62           return true;
63         return pending('"New Image Name.png" is not found.');
64       });
65     });
66   });
69 /**
70  * Runs a test to delete an image.
71  *
72  * @param {string} testVolumeName Test volume name passed to the addEntries
73  *     function. Either 'drive' or 'local'.
74  * @param {VolumeManagerCommon.VolumeType} volumeType Volume type.
75  * @return {Promise} Promise to be fulfilled with on success.
76  */
77 function deleteImage(testVolumeName, volumeType) {
78   var launchedPromise = launch(
79       testVolumeName, volumeType, [ENTRIES.desktop]);
80   var appId;
81   return launchedPromise.then(function(args) {
82     appId = args.appId;
83     return gallery.waitForSlideImage(appId, 800, 600, 'My Desktop Background');
84   }).then(function() {
85     return gallery.waitAndClickElement(appId, 'button.delete');
86   }).then(function() {
87     return gallery.waitAndClickElement(appId, '.cr-dialog-ok');
88   }).then(function() {
89     return repeatUntil(function() {
90       return gallery.getFilesUnderVolume(volumeType, ['New Image Name.png'])
91       .then(function(urls) {
92         if (urls.length == 0)
93           return true;
94         return pending('"New Image Name.png" is still there.');
95       });
96     });
97   });
101  * The traverseSlideImages test for Downloads.
102  * @return {Promise} Promise to be fulfilled with on success.
103  */
104 testcase.traverseSlideImagesOnDownloads = function() {
105   return traverseSlideImages('local', 'downloads');
109  * The traverseSlideImages test for Google Drive.
110  * @return {Promise} Promise to be fulfilled with on success.
111  */
112 testcase.traverseSlideImagesOnDrive = function() {
113   return traverseSlideImages('drive', 'drive');
117  * The renameImage test for Downloads.
118  * @return {Promise} Promise to be fulfilled with on success.
119  */
120 testcase.renameImageOnDownloads = function() {
121   return renameImage('local', 'downloads');
125  * The renameImage test for Google Drive.
126  * @return {Promise} Promise to be fulfilled with on success.
127  */
128 testcase.renameImageOnDrive = function() {
129   return renameImage('drive', 'drive');
133  * The deleteImage test for Downloads.
134  * @return {Promise} Promise to be fulfilled with on success.
135  */
136 testcase.deleteImageOnDownloads = function() {
137   return deleteImage('local', 'downloads');
141  * The deleteImage test for Google Drive.
142  * @return {Promise} Promise to be fulfilled with on success.
143  */
144 testcase.deleteImageOnDrive = function() {
145   return deleteImage('drive', 'drive');