| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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.offlinepages; | 5 package org.chromium.chrome.browser.offlinepages; |
| 6 | 6 |
| 7 import static org.junit.Assert.assertEquals; | 7 import static org.junit.Assert.assertEquals; |
| 8 import static org.junit.Assert.assertNotNull; | 8 import static org.junit.Assert.assertNotNull; |
| 9 import static org.junit.Assert.assertNull; | 9 import static org.junit.Assert.assertNull; |
| 10 import static org.junit.Assert.assertTrue; | 10 import static org.junit.Assert.assertTrue; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 | 24 |
| 25 /** | 25 /** |
| 26 * Unit tests for BackgroundScheduler. | 26 * Unit tests for BackgroundScheduler. |
| 27 */ | 27 */ |
| 28 @RunWith(LocalRobolectricTestRunner.class) | 28 @RunWith(LocalRobolectricTestRunner.class) |
| 29 @Config(manifest = Config.NONE, | 29 @Config(manifest = Config.NONE, |
| 30 application = BaseChromiumApplication.class, | 30 application = BaseChromiumApplication.class, |
| 31 shadows = {ShadowGcmNetworkManager.class}) | 31 shadows = {ShadowGcmNetworkManager.class}) |
| 32 public class BackgroundSchedulerTest { | 32 public class BackgroundSchedulerTest { |
| 33 private Context mContext; | 33 private Context mContext; |
| 34 private TriggerConditions mConditions1 = new TriggerConditions( |
| 35 true /* power */, 10 /* battery percentage */, false /* unmetered */
); |
| 34 | 36 |
| 35 @Before | 37 @Before |
| 36 public void setUp() throws Exception { | 38 public void setUp() throws Exception { |
| 37 mContext = Robolectric.application; | 39 mContext = Robolectric.application; |
| 38 ShadowGcmNetworkManager.clear(); | 40 ShadowGcmNetworkManager.clear(); |
| 39 } | 41 } |
| 40 | 42 |
| 41 @Test | 43 @Test |
| 42 @Feature({"OfflinePages"}) | 44 @Feature({"OfflinePages"}) |
| 43 public void testSchedule() { | 45 public void testSchedule() { |
| 44 BackgroundScheduler scheduler = new BackgroundScheduler(); | 46 BackgroundScheduler scheduler = new BackgroundScheduler(); |
| 45 assertNull(ShadowGcmNetworkManager.getScheduledTask()); | 47 assertNull(ShadowGcmNetworkManager.getScheduledTask()); |
| 46 scheduler.schedule(mContext); | 48 scheduler.schedule(mContext, mConditions1); |
| 47 // Check with gcmNetworkManagerShadow that schedule got called. | 49 // Check with gcmNetworkManagerShadow that schedule got called. |
| 48 assertNotNull(ShadowGcmNetworkManager.getScheduledTask()); | 50 assertNotNull(ShadowGcmNetworkManager.getScheduledTask()); |
| 49 | 51 |
| 50 // Verify details of the scheduled task. | 52 // Verify details of the scheduled task. |
| 51 Task task = ShadowGcmNetworkManager.getScheduledTask(); | 53 Task task = ShadowGcmNetworkManager.getScheduledTask(); |
| 52 assertEquals(OfflinePageUtils.TASK_TAG, task.getTag()); | 54 assertEquals(OfflinePageUtils.TASK_TAG, task.getTag()); |
| 53 long scheduledTimeMillis = TaskExtrasPacker.unpackTimeFromBundle(task.ge
tExtras()); | 55 long scheduledTimeMillis = TaskExtrasPacker.unpackTimeFromBundle(task.ge
tExtras()); |
| 54 assertTrue(scheduledTimeMillis > 0L); | 56 assertTrue(scheduledTimeMillis > 0L); |
| 55 } | 57 } |
| 56 | 58 |
| 57 @Test | 59 @Test |
| 58 @Feature({"OfflinePages"}) | 60 @Feature({"OfflinePages"}) |
| 59 public void testUnschedule() { | 61 public void testUnschedule() { |
| 60 BackgroundScheduler scheduler = new BackgroundScheduler(); | 62 BackgroundScheduler scheduler = new BackgroundScheduler(); |
| 61 assertNull(ShadowGcmNetworkManager.getScheduledTask()); | 63 assertNull(ShadowGcmNetworkManager.getScheduledTask()); |
| 62 scheduler.schedule(mContext); | 64 scheduler.schedule(mContext, mConditions1); |
| 63 assertNotNull(ShadowGcmNetworkManager.getScheduledTask()); | 65 assertNotNull(ShadowGcmNetworkManager.getScheduledTask()); |
| 64 | 66 |
| 65 assertNull(ShadowGcmNetworkManager.getCanceledTask()); | 67 assertNull(ShadowGcmNetworkManager.getCanceledTask()); |
| 66 scheduler.unschedule(mContext); | 68 scheduler.unschedule(mContext); |
| 67 assertNotNull(ShadowGcmNetworkManager.getCanceledTask()); | 69 assertNotNull(ShadowGcmNetworkManager.getCanceledTask()); |
| 68 } | 70 } |
| 69 } | 71 } |
| OLD | NEW |