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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java

Issue 2861863002: offline_items_collection : Added helper class to determine progress (Closed)
Patch Set: comments Created 3 years, 7 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 package org.chromium.chrome.browser.download; 5 package org.chromium.chrome.browser.download;
6 6
7 import android.app.DownloadManager; 7 import android.app.DownloadManager;
8 import android.content.Context; 8 import android.content.Context;
9 import android.os.Handler; 9 import android.os.Handler;
10 import android.os.HandlerThread; 10 import android.os.HandlerThread;
(...skipping 14 matching lines...) Expand all
25 import org.chromium.base.ThreadUtils; 25 import org.chromium.base.ThreadUtils;
26 import org.chromium.base.metrics.RecordHistogram; 26 import org.chromium.base.metrics.RecordHistogram;
27 import org.chromium.base.test.BaseJUnit4ClassRunner; 27 import org.chromium.base.test.BaseJUnit4ClassRunner;
28 import org.chromium.base.test.util.AdvancedMockContext; 28 import org.chromium.base.test.util.AdvancedMockContext;
29 import org.chromium.base.test.util.Feature; 29 import org.chromium.base.test.util.Feature;
30 import org.chromium.base.test.util.RetryOnFailure; 30 import org.chromium.base.test.util.RetryOnFailure;
31 import org.chromium.base.test.util.UrlUtils; 31 import org.chromium.base.test.util.UrlUtils;
32 import org.chromium.chrome.browser.download.DownloadInfo.Builder; 32 import org.chromium.chrome.browser.download.DownloadInfo.Builder;
33 import org.chromium.chrome.browser.download.DownloadManagerServiceTest.MockDownl oadNotifier.MethodID; 33 import org.chromium.chrome.browser.download.DownloadManagerServiceTest.MockDownl oadNotifier.MethodID;
34 import org.chromium.components.offline_items_collection.ContentId; 34 import org.chromium.components.offline_items_collection.ContentId;
35 import org.chromium.components.offline_items_collection.OfflineItem.Progress;
36 import org.chromium.components.offline_items_collection.OfflineItemProgressUnit;
35 import org.chromium.content.browser.test.NativeLibraryTestRule; 37 import org.chromium.content.browser.test.NativeLibraryTestRule;
36 import org.chromium.content.browser.test.util.Criteria; 38 import org.chromium.content.browser.test.util.Criteria;
37 import org.chromium.content.browser.test.util.CriteriaHelper; 39 import org.chromium.content.browser.test.util.CriteriaHelper;
38 import org.chromium.net.ConnectionType; 40 import org.chromium.net.ConnectionType;
39 import org.chromium.net.test.EmbeddedTestServer; 41 import org.chromium.net.test.EmbeddedTestServer;
40 42
41 import java.util.Collections; 43 import java.util.Collections;
42 import java.util.HashSet; 44 import java.util.HashSet;
43 import java.util.Queue; 45 import java.util.Queue;
44 import java.util.Random; 46 import java.util.Random;
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext( )); 370 MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext( ));
369 DownloadManagerServiceForTest dService = new DownloadManagerServiceForTe st( 371 DownloadManagerServiceForTest dService = new DownloadManagerServiceForTe st(
370 getTestContext(), notifier, UPDATE_DELAY_FOR_TEST); 372 getTestContext(), notifier, UPDATE_DELAY_FOR_TEST);
371 DownloadInfo downloadInfo = getDownloadInfo(); 373 DownloadInfo downloadInfo = getDownloadInfo();
372 374
373 notifier.expect(MethodID.DOWNLOAD_PROGRESS, downloadInfo); 375 notifier.expect(MethodID.DOWNLOAD_PROGRESS, downloadInfo);
374 dService.onDownloadUpdated(downloadInfo); 376 dService.onDownloadUpdated(downloadInfo);
375 notifier.waitTillExpectedCallsComplete(); 377 notifier.waitTillExpectedCallsComplete();
376 378
377 // Now post multiple download updated calls and make sure all are receiv ed. 379 // Now post multiple download updated calls and make sure all are receiv ed.
378 DownloadInfo update1 = Builder.fromDownloadInfo(downloadInfo) 380 DownloadInfo update1 =
379 .setPercentCompleted(10).build(); 381 Builder.fromDownloadInfo(downloadInfo)
380 DownloadInfo update2 = Builder.fromDownloadInfo(downloadInfo) 382 .setProgress(new Progress(10, 100L, OfflineItemProgressU nit.PERCENTAGE))
381 .setPercentCompleted(30).build(); 383 .build();
382 DownloadInfo update3 = Builder.fromDownloadInfo(downloadInfo) 384 DownloadInfo update2 =
383 .setPercentCompleted(30).build(); 385 Builder.fromDownloadInfo(downloadInfo)
386 .setProgress(new Progress(30, 100L, OfflineItemProgressU nit.PERCENTAGE))
387 .build();
388 DownloadInfo update3 =
389 Builder.fromDownloadInfo(downloadInfo)
390 .setProgress(new Progress(30, 100L, OfflineItemProgressU nit.PERCENTAGE))
391 .build();
384 notifier.expect(MethodID.DOWNLOAD_PROGRESS, update1) 392 notifier.expect(MethodID.DOWNLOAD_PROGRESS, update1)
385 .andThen(MethodID.DOWNLOAD_PROGRESS, update2) 393 .andThen(MethodID.DOWNLOAD_PROGRESS, update2)
386 .andThen(MethodID.DOWNLOAD_PROGRESS, update3); 394 .andThen(MethodID.DOWNLOAD_PROGRESS, update3);
387 395
388 dService.onDownloadUpdated(update1); 396 dService.onDownloadUpdated(update1);
389 Thread.sleep(DELAY_BETWEEN_CALLS); 397 Thread.sleep(DELAY_BETWEEN_CALLS);
390 dService.onDownloadUpdated(update2); 398 dService.onDownloadUpdated(update2);
391 Thread.sleep(DELAY_BETWEEN_CALLS); 399 Thread.sleep(DELAY_BETWEEN_CALLS);
392 dService.onDownloadUpdated(update3); 400 dService.onDownloadUpdated(update3);
393 notifier.waitTillExpectedCallsComplete(); 401 notifier.waitTillExpectedCallsComplete();
394 } 402 }
395 403
396 @Test 404 @Test
397 @MediumTest 405 @MediumTest
398 @Feature({"Download"}) 406 @Feature({"Download"})
399 public void testOnlyTwoProgressForFastUpdates() throws InterruptedException { 407 public void testOnlyTwoProgressForFastUpdates() throws InterruptedException {
400 MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext( )); 408 MockDownloadNotifier notifier = new MockDownloadNotifier(getTestContext( ));
401 DownloadManagerServiceForTest dService = new DownloadManagerServiceForTe st( 409 DownloadManagerServiceForTest dService = new DownloadManagerServiceForTe st(
402 getTestContext(), notifier, LONG_UPDATE_DELAY_FOR_TEST); 410 getTestContext(), notifier, LONG_UPDATE_DELAY_FOR_TEST);
403 DownloadInfo downloadInfo = getDownloadInfo(); 411 DownloadInfo downloadInfo = getDownloadInfo();
404 DownloadInfo update1 = Builder.fromDownloadInfo(downloadInfo) 412 DownloadInfo update1 =
405 .setPercentCompleted(10).build(); 413 Builder.fromDownloadInfo(downloadInfo)
406 DownloadInfo update2 = Builder.fromDownloadInfo(downloadInfo) 414 .setProgress(new Progress(10, 100L, OfflineItemProgressU nit.PERCENTAGE))
407 .setPercentCompleted(20).build(); 415 .build();
408 DownloadInfo update3 = Builder.fromDownloadInfo(downloadInfo) 416 DownloadInfo update2 =
409 .setPercentCompleted(30).build(); 417 Builder.fromDownloadInfo(downloadInfo)
418 .setProgress(new Progress(10, 100L, OfflineItemProgressU nit.PERCENTAGE))
419 .build();
420 DownloadInfo update3 =
421 Builder.fromDownloadInfo(downloadInfo)
422 .setProgress(new Progress(10, 100L, OfflineItemProgressU nit.PERCENTAGE))
423 .build();
410 424
411 // Should get 2 update calls, the first and the last. The 2nd update wil l be merged into 425 // Should get 2 update calls, the first and the last. The 2nd update wil l be merged into
412 // the last one. 426 // the last one.
413 notifier.expect(MethodID.DOWNLOAD_PROGRESS, update1) 427 notifier.expect(MethodID.DOWNLOAD_PROGRESS, update1)
414 .andThen(MethodID.DOWNLOAD_PROGRESS, update3); 428 .andThen(MethodID.DOWNLOAD_PROGRESS, update3);
415 dService.onDownloadUpdated(update1); 429 dService.onDownloadUpdated(update1);
416 Thread.sleep(DELAY_BETWEEN_CALLS); 430 Thread.sleep(DELAY_BETWEEN_CALLS);
417 dService.onDownloadUpdated(update2); 431 dService.onDownloadUpdated(update2);
418 Thread.sleep(DELAY_BETWEEN_CALLS); 432 Thread.sleep(DELAY_BETWEEN_CALLS);
419 dService.onDownloadUpdated(update3); 433 dService.onDownloadUpdated(update3);
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 .setHasUserGesture(false) 702 .setHasUserGesture(false)
689 .build())); 703 .build()));
690 Assert.assertFalse(DownloadManagerService.shouldOpenAfterDownload( 704 Assert.assertFalse(DownloadManagerService.shouldOpenAfterDownload(
691 new DownloadInfo.Builder() 705 new DownloadInfo.Builder()
692 .setContentDisposition("filename=test.pdf") 706 .setContentDisposition("filename=test.pdf")
693 .setMimeType("application/pdf") 707 .setMimeType("application/pdf")
694 .setHasUserGesture(false) 708 .setHasUserGesture(false)
695 .build())); 709 .build()));
696 } 710 }
697 } 711 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698