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

Side by Side Diff: chrome/test/data/file_manager/unit_tests/file_operation_manager_unittest.js

Issue 463783002: Combine consecutive entry-changed events into one. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Simplify how to make the promises. Created 6 years, 4 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
« no previous file with comments | « no previous file | ui/file_manager/file_manager/background/js/file_operation_manager.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 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 'use strict'; 4 'use strict';
5 5
6 /** 6 /**
7 * Mock of chrome.runtime. 7 * Mock of chrome.runtime.
8 * @type {Object} 8 * @type {Object}
9 * @const 9 * @const
10 */ 10 */
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 * @return {Promise} Promise to be fulfilled with an event list. 113 * @return {Promise} Promise to be fulfilled with an event list.
114 */ 114 */
115 function waitForEvents(fileOperationManager) { 115 function waitForEvents(fileOperationManager) {
116 return new Promise(function(fulfill) { 116 return new Promise(function(fulfill) {
117 var events = []; 117 var events = [];
118 fileOperationManager.addEventListener('copy-progress', function(event) { 118 fileOperationManager.addEventListener('copy-progress', function(event) {
119 events.push(event); 119 events.push(event);
120 if (event.reason === 'SUCCESS') 120 if (event.reason === 'SUCCESS')
121 fulfill(events); 121 fulfill(events);
122 }); 122 });
123 fileOperationManager.addEventListener('entry-changed', function(event) { 123 fileOperationManager.addEventListener('entries-changed', function(event) {
124 events.push(event); 124 events.push(event);
125 }); 125 });
126 fileOperationManager.addEventListener('delete', function(event) { 126 fileOperationManager.addEventListener('delete', function(event) {
127 events.push(event); 127 events.push(event);
128 if (event.reason === 'SUCCESS') 128 if (event.reason === 'SUCCESS')
129 fulfill(events); 129 fulfill(events);
130 }); 130 });
131 }); 131 });
132 } 132 }
133 133
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 assertEquals(0, firstEvent.status.processedBytes); 270 assertEquals(0, firstEvent.status.processedBytes);
271 assertEquals(1, firstEvent.status.totalBytes); 271 assertEquals(1, firstEvent.status.totalBytes);
272 272
273 var lastEvent = events[events.length - 1]; 273 var lastEvent = events[events.length - 1];
274 assertEquals('SUCCESS', lastEvent.reason); 274 assertEquals('SUCCESS', lastEvent.reason);
275 assertEquals(0, lastEvent.status.numRemainingItems); 275 assertEquals(0, lastEvent.status.numRemainingItems);
276 assertEquals(10, lastEvent.status.processedBytes); 276 assertEquals(10, lastEvent.status.processedBytes);
277 assertEquals(10, lastEvent.status.totalBytes); 277 assertEquals(10, lastEvent.status.totalBytes);
278 278
279 assertTrue(events.some(function(event) { 279 assertTrue(events.some(function(event) {
280 return event.type === 'entry-changed' && 280 return event.type === 'entries-changed' &&
281 event.kind === util.EntryChangedKind.CREATED && 281 event.kind === util.EntryChangedKind.CREATED &&
282 event.entry.fullPath === '/test (1).txt'; 282 event.entries[0].fullPath === '/test (1).txt';
283 })); 283 }));
284 284
285 assertFalse(events.some(function(event) { 285 assertFalse(events.some(function(event) {
286 return event.type === 'delete'; 286 return event.type === 'delete';
287 })); 287 }));
288 }), callback); 288 }), callback);
289 289
290 fileOperationManager.paste( 290 fileOperationManager.paste(
291 [fileSystem.entries['/test.txt']], 291 [fileSystem.entries['/test.txt']],
292 fileSystem.entries['/'], 292 fileSystem.entries['/'],
(...skipping 26 matching lines...) Expand all
319 assertEquals(0, firstEvent.status.processedBytes); 319 assertEquals(0, firstEvent.status.processedBytes);
320 assertEquals(1, firstEvent.status.totalBytes); 320 assertEquals(1, firstEvent.status.totalBytes);
321 321
322 var lastEvent = events[events.length - 1]; 322 var lastEvent = events[events.length - 1];
323 assertEquals('SUCCESS', lastEvent.reason); 323 assertEquals('SUCCESS', lastEvent.reason);
324 assertEquals(0, lastEvent.status.numRemainingItems); 324 assertEquals(0, lastEvent.status.numRemainingItems);
325 assertEquals(1, lastEvent.status.processedBytes); 325 assertEquals(1, lastEvent.status.processedBytes);
326 assertEquals(1, lastEvent.status.totalBytes); 326 assertEquals(1, lastEvent.status.totalBytes);
327 327
328 assertTrue(events.some(function(event) { 328 assertTrue(events.some(function(event) {
329 return event.type === 'entry-changed' && 329 return event.type === 'entries-changed' &&
330 event.kind === util.EntryChangedKind.DELETED && 330 event.kind === util.EntryChangedKind.DELETED &&
331 event.entry.fullPath === '/test.txt'; 331 event.entries[0].fullPath === '/test.txt';
332 })); 332 }));
333 333
334 assertTrue(events.some(function(event) { 334 assertTrue(events.some(function(event) {
335 return event.type === 'entry-changed' && 335 return event.type === 'entries-changed' &&
336 event.kind === util.EntryChangedKind.CREATED && 336 event.kind === util.EntryChangedKind.CREATED &&
337 event.entry.fullPath === '/directory/test.txt'; 337 event.entries[0].fullPath === '/directory/test.txt';
338 })); 338 }));
339 339
340 assertFalse(events.some(function(event) { 340 assertFalse(events.some(function(event) {
341 return event.type === 'delete'; 341 return event.type === 'delete';
342 })); 342 }));
343 }), callback); 343 }), callback);
344 344
345 fileOperationManager.paste( 345 fileOperationManager.paste(
346 [fileSystem.entries['/test.txt']], 346 [fileSystem.entries['/test.txt']],
347 fileSystem.entries['/directory'], 347 fileSystem.entries['/directory'],
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 assertEquals('copy-progress', lastEvent.type); 415 assertEquals('copy-progress', lastEvent.type);
416 assertEquals('SUCCESS', lastEvent.reason); 416 assertEquals('SUCCESS', lastEvent.reason);
417 assertEquals(10, lastEvent.status.totalBytes); 417 assertEquals(10, lastEvent.status.totalBytes);
418 assertEquals(10, lastEvent.status.processedBytes); 418 assertEquals(10, lastEvent.status.processedBytes);
419 419
420 assertFalse(events.some(function(event) { 420 assertFalse(events.some(function(event) {
421 return event.type === 'delete'; 421 return event.type === 'delete';
422 })); 422 }));
423 423
424 assertTrue(events.some(function(event) { 424 assertTrue(events.some(function(event) {
425 return event.type === 'entry-changed' && 425 return event.type === 'entries-changed' &&
426 event.entry.fullPath === '/test.zip'; 426 event.entries[0].fullPath === '/test.zip';
427 })); 427 }));
428 }), callback); 428 }), callback);
429 429
430 fileOperationManager.zipSelection( 430 fileOperationManager.zipSelection(
431 fileSystem.entries['/'], 431 fileSystem.entries['/'],
432 [fileSystem.entries['/test.txt']]); 432 [fileSystem.entries['/test.txt']]);
433 } 433 }
OLDNEW
« no previous file with comments | « no previous file | ui/file_manager/file_manager/background/js/file_operation_manager.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698