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

Side by Side Diff: ui/file_manager/integration_tests/file_manager/directory_tree_context_menu.js

Issue 2046143002: Send 'key' from fake keyboard events generated by file_manager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix additional tests I missed Created 4 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 * Sets up for directory tree context menu test. In addition to normal setup, we 6 * Sets up for directory tree context menu test. In addition to normal setup, we
7 * add destination directory. 7 * add destination directory.
8 */ 8 */
9 function setupForDirectoryTreeContextMenuTest() { 9 function setupForDirectoryTreeContextMenuTest() {
10 var windowId; 10 var windowId;
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 */ 138 */
139 function navigateToDestinationDirectoryAndTestPaste(windowId) { 139 function navigateToDestinationDirectoryAndTestPaste(windowId) {
140 // Navigates to destination directory. 140 // Navigates to destination directory.
141 return navigateWithDirectoryTree(windowId, '/destination').then(function() { 141 return navigateWithDirectoryTree(windowId, '/destination').then(function() {
142 // Confirm files before paste. 142 // Confirm files before paste.
143 return remoteCall.waitForFiles(windowId, ITEMS_IN_DEST_DIR_BEFORE_PASTE, 143 return remoteCall.waitForFiles(windowId, ITEMS_IN_DEST_DIR_BEFORE_PASTE,
144 {ignoreLastModifiedTime: true}); 144 {ignoreLastModifiedTime: true});
145 }).then(function() { 145 }).then(function() {
146 // Paste 146 // Paste
147 return remoteCall.callRemoteTestUtil('fakeKeyDown', windowId, 147 return remoteCall.callRemoteTestUtil('fakeKeyDown', windowId,
148 ['body', 'U+0056' /* v */, true /* ctrl */, false, false]); 148 ['body', 'v', 'U+0056' /* v */, true /* ctrl */, false, false]);
149 }).then(function() { 149 }).then(function() {
150 // Confirm the photos directory is pasted correctly. 150 // Confirm the photos directory is pasted correctly.
151 return remoteCall.waitForFiles(windowId, ITEMS_IN_DEST_DIR_AFTER_PASTE, 151 return remoteCall.waitForFiles(windowId, ITEMS_IN_DEST_DIR_AFTER_PASTE,
152 {ignoreLastModifiedTime: true}); 152 {ignoreLastModifiedTime: true});
153 }); 153 });
154 } 154 }
155 155
156 /** 156 /**
157 * Rename photos directory to specified name by using directory tree. 157 * Rename photos directory to specified name by using directory tree.
158 */ 158 */
159 function renamePhotosDirectoryTo(windowId, newName, useKeyboardShortcut) { 159 function renamePhotosDirectoryTo(windowId, newName, useKeyboardShortcut) {
160 return (useKeyboardShortcut ? 160 return (useKeyboardShortcut ?
161 remoteCall.callRemoteTestUtil( 161 remoteCall.callRemoteTestUtil(
162 'fakeKeyDown', windowId, 162 'fakeKeyDown', windowId,
163 ['body', 'Enter', true /* ctrl */, false, false]) : 163 ['body', 'Enter', 'Enter', true /* ctrl */, false, false]) :
164 clickDirectoryTreeContextMenuItem(windowId, '/photos', 'rename') 164 clickDirectoryTreeContextMenuItem(windowId, '/photos', 'rename')
165 ).then(function() { 165 ).then(function() {
166 return remoteCall.waitForElement(windowId, '.tree-row > input'); 166 return remoteCall.waitForElement(windowId, '.tree-row > input');
167 }).then(function() { 167 }).then(function() {
168 return remoteCall.callRemoteTestUtil( 168 return remoteCall.callRemoteTestUtil(
169 'inputText', windowId, ['.tree-row > input', newName]); 169 'inputText', windowId, ['.tree-row > input', newName]);
170 }).then(function() { 170 }).then(function() {
171 return remoteCall.callRemoteTestUtil( 171 return remoteCall.callRemoteTestUtil(
172 'fakeKeyDown', windowId, 172 'fakeKeyDown', windowId,
173 ['.tree-row > input', 'Enter', false, false, false]); 173 ['.tree-row > input', 'Enter', 'Enter', false, false, false]);
174 }); 174 });
175 } 175 }
176 176
177 /** 177 /**
178 * Renames directory and confirm current directory is moved to the renamed 178 * Renames directory and confirm current directory is moved to the renamed
179 * directory. 179 * directory.
180 */ 180 */
181 function renameDirectoryFromDirectoryTreeSuccessCase(useKeyboardShortcut) { 181 function renameDirectoryFromDirectoryTreeSuccessCase(useKeyboardShortcut) {
182 var windowId; 182 var windowId;
183 return setupForDirectoryTreeContextMenuTest().then(function(id) { 183 return setupForDirectoryTreeContextMenuTest().then(function(id) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 return setupForDirectoryTreeContextMenuTest().then(function(id) { 217 return setupForDirectoryTreeContextMenuTest().then(function(id) {
218 windowId = id; 218 windowId = id;
219 219
220 if (changeCurrentDirectory) 220 if (changeCurrentDirectory)
221 return navigateWithDirectoryTree(windowId, '/photos'); 221 return navigateWithDirectoryTree(windowId, '/photos');
222 else 222 else
223 return expandDownloadVolumeInDirectoryTree(windowId); 223 return expandDownloadVolumeInDirectoryTree(windowId);
224 }).then(function() { 224 }).then(function() {
225 if (useKeyboardShortcut) { 225 if (useKeyboardShortcut) {
226 return remoteCall.callRemoteTestUtil('fakeKeyDown', windowId, 226 return remoteCall.callRemoteTestUtil('fakeKeyDown', windowId,
227 ['body', 'U+0045' /* e */, true /* ctrl */, false, false]); 227 ['body', 'e', 'U+0045' /* e */, true /* ctrl */, false, false]);
228 } else { 228 } else {
229 return clickDirectoryTreeContextMenuItem( 229 return clickDirectoryTreeContextMenuItem(
230 windowId, '/photos', 'new-folder'); 230 windowId, '/photos', 'new-folder');
231 } 231 }
232 }).then(function() { 232 }).then(function() {
233 return remoteCall.waitForElement(windowId, '.tree-row > input'); 233 return remoteCall.waitForElement(windowId, '.tree-row > input');
234 }).then(function() { 234 }).then(function() {
235 return remoteCall.callRemoteTestUtil( 235 return remoteCall.callRemoteTestUtil(
236 'inputText', windowId, ['.tree-row > input', 'test']); 236 'inputText', windowId, ['.tree-row > input', 'test']);
237 }).then(function() { 237 }).then(function() {
238 return remoteCall.callRemoteTestUtil( 238 return remoteCall.callRemoteTestUtil(
239 'fakeKeyDown', windowId, 239 'fakeKeyDown', windowId,
240 ['.tree-row > input', 'Enter', false, false, false]); 240 ['.tree-row > input', 'Enter', 'Enter', false, false, false]);
241 }).then(function() { 241 }).then(function() {
242 // Confirm that new directory is added to the directory tree. 242 // Confirm that new directory is added to the directory tree.
243 return remoteCall.waitForElement( 243 return remoteCall.waitForElement(
244 windowId, '[full-path-for-testing="/photos/test"]'); 244 windowId, '[full-path-for-testing="/photos/test"]');
245 }).then(function() { 245 }).then(function() {
246 // Confirm that current directory is not changed at this timing. 246 // Confirm that current directory is not changed at this timing.
247 return remoteCall.waitUntilCurrentDirectoryIsChanged( 247 return remoteCall.waitUntilCurrentDirectoryIsChanged(
248 windowId, changeCurrentDirectory ? '/Downloads/photos' : '/Downloads'); 248 windowId, changeCurrentDirectory ? '/Downloads/photos' : '/Downloads');
249 }).then(function() { 249 }).then(function() {
250 // Confirm that new directory is actually created by navigating to it. 250 // Confirm that new directory is actually created by navigating to it.
(...skipping 21 matching lines...) Expand all
272 * shortcut. 272 * shortcut.
273 */ 273 */
274 testcase.copyFromDirectoryTreeWithKeyboardShortcut = function() { 274 testcase.copyFromDirectoryTreeWithKeyboardShortcut = function() {
275 var windowId; 275 var windowId;
276 testPromise(setupForDirectoryTreeContextMenuTest().then(function(id) { 276 testPromise(setupForDirectoryTreeContextMenuTest().then(function(id) {
277 windowId = id; 277 windowId = id;
278 return navigateWithDirectoryTree(windowId, '/photos'); 278 return navigateWithDirectoryTree(windowId, '/photos');
279 }).then(function() { 279 }).then(function() {
280 // Press Ctrl+C. 280 // Press Ctrl+C.
281 return remoteCall.callRemoteTestUtil('fakeKeyDown', windowId, 281 return remoteCall.callRemoteTestUtil('fakeKeyDown', windowId,
282 ['body', 'U+0043' /* c */, true /* ctrl */, false, false]); 282 ['body', 'c', 'U+0043' /* c */, true /* ctrl */, false, false]);
283 }).then(function() { 283 }).then(function() {
284 return navigateToDestinationDirectoryAndTestPaste(windowId); 284 return navigateToDestinationDirectoryAndTestPaste(windowId);
285 })); 285 }));
286 }; 286 };
287 287
288 /** 288 /**
289 * Test case for copying a directory from directory tree without changing 289 * Test case for copying a directory from directory tree without changing
290 * current directory. 290 * current directory.
291 */ 291 */
292 testcase.copyFromDirectoryTreeWithoutChaningCurrentDirectory = function() { 292 testcase.copyFromDirectoryTreeWithoutChaningCurrentDirectory = function() {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 * shortcut. 325 * shortcut.
326 */ 326 */
327 testcase.cutFromDirectoryTreeWithKeyboardShortcut = function() { 327 testcase.cutFromDirectoryTreeWithKeyboardShortcut = function() {
328 var windowId; 328 var windowId;
329 testPromise(setupForDirectoryTreeContextMenuTest().then(function(id) { 329 testPromise(setupForDirectoryTreeContextMenuTest().then(function(id) {
330 windowId = id; 330 windowId = id;
331 return navigateWithDirectoryTree(windowId, '/photos'); 331 return navigateWithDirectoryTree(windowId, '/photos');
332 }).then(function() { 332 }).then(function() {
333 // Press Ctrl+X. 333 // Press Ctrl+X.
334 return remoteCall.callRemoteTestUtil('fakeKeyDown', windowId, 334 return remoteCall.callRemoteTestUtil('fakeKeyDown', windowId,
335 ['body', 'U+0058' /* x */, true /* ctrl */, false, false]); 335 ['body', 'x', 'U+0058' /* x */, true /* ctrl */, false, false]);
336 }).then(function() { 336 }).then(function() {
337 return navigateToDestinationDirectoryAndTestPaste(windowId); 337 return navigateToDestinationDirectoryAndTestPaste(windowId);
338 }).then(function() { 338 }).then(function() {
339 // Confirm that directory tree is updated. 339 // Confirm that directory tree is updated.
340 return remoteCall.waitForElementLost( 340 return remoteCall.waitForElementLost(
341 windowId, '[full-path-for-testing="/photos"]'); 341 windowId, '[full-path-for-testing="/photos"]');
342 })); 342 }));
343 }; 343 };
344 344
345 /** 345 /**
(...skipping 19 matching lines...) Expand all
365 * Test case for pasting into folder from directory tree by using context menu. 365 * Test case for pasting into folder from directory tree by using context menu.
366 */ 366 */
367 testcase.pasteIntoFolderFromDirectoryTreeWithContextMenu = function() { 367 testcase.pasteIntoFolderFromDirectoryTreeWithContextMenu = function() {
368 var windowId; 368 var windowId;
369 testPromise(setupForDirectoryTreeContextMenuTest().then(function(id) { 369 testPromise(setupForDirectoryTreeContextMenuTest().then(function(id) {
370 // Copy photos directory as a test data. 370 // Copy photos directory as a test data.
371 windowId = id; 371 windowId = id;
372 return navigateWithDirectoryTree(windowId, '/photos'); 372 return navigateWithDirectoryTree(windowId, '/photos');
373 }).then(function() { 373 }).then(function() {
374 return remoteCall.callRemoteTestUtil('fakeKeyDown', windowId, 374 return remoteCall.callRemoteTestUtil('fakeKeyDown', windowId,
375 ['body', 'U+0043' /* c */, true /* ctrl */, false, false]); 375 ['body', 'c', 'U+0043' /* c */, true /* ctrl */, false, false]);
376 }).then(function() { 376 }).then(function() {
377 return navigateWithDirectoryTree(windowId, '/destination'); 377 return navigateWithDirectoryTree(windowId, '/destination');
378 }).then(function() { 378 }).then(function() {
379 // Confirm files before paste. 379 // Confirm files before paste.
380 return remoteCall.waitForFiles(windowId, ITEMS_IN_DEST_DIR_BEFORE_PASTE, 380 return remoteCall.waitForFiles(windowId, ITEMS_IN_DEST_DIR_BEFORE_PASTE,
381 {ignoreLastModifiedTime: true}); 381 {ignoreLastModifiedTime: true});
382 }).then(function() { 382 }).then(function() {
383 return clickDirectoryTreeContextMenuItem( 383 return clickDirectoryTreeContextMenuItem(
384 windowId, '/destination', 'paste-into-folder'); 384 windowId, '/destination', 'paste-into-folder');
385 }).then(function() { 385 }).then(function() {
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 /** 507 /**
508 * Test case for creating directory from directory tree without changing current 508 * Test case for creating directory from directory tree without changing current
509 * directory. 509 * directory.
510 */ 510 */
511 testcase.createDirectoryFromDirectoryTreeWithoutChangingCurrentDirectory = 511 testcase.createDirectoryFromDirectoryTreeWithoutChangingCurrentDirectory =
512 function() { 512 function() {
513 testPromise(createDirectoryFromDirectoryTree( 513 testPromise(createDirectoryFromDirectoryTree(
514 false /* Do not use keyboard shortcut */, 514 false /* Do not use keyboard shortcut */,
515 false /* Do not change current directory */)) 515 false /* Do not change current directory */))
516 }; 516 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698