| Index: chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/TaskExtrasPackerTest.java
|
| diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/TaskExtrasPackerTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/TaskExtrasPackerTest.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4ab2b57c9cedabb8d976d6755b15e50bbda7552c
|
| --- /dev/null
|
| +++ b/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/TaskExtrasPackerTest.java
|
| @@ -0,0 +1,62 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +package org.chromium.chrome.browser.offlinepages;
|
| +
|
| +import static org.junit.Assert.assertEquals;
|
| +import static org.junit.Assert.assertNotSame;
|
| +import static org.junit.Assert.assertTrue;
|
| +
|
| +import android.os.Bundle;
|
| +
|
| +import org.chromium.base.test.util.Feature;
|
| +import org.chromium.chrome.browser.ChromeBackgroundService;
|
| +import org.junit.Test;
|
| +import org.junit.runner.RunWith;
|
| +import org.junit.runners.JUnit4;
|
| +
|
| +/** Unit tests for {@link TaskExtrasPacker}. */
|
| +@RunWith(JUnit4.class)
|
| +public class TaskExtrasPackerTest {
|
| + @Test
|
| + @Feature({"OfflinePages"})
|
| + public void testScheduledTimeExtra() {
|
| + Bundle taskExtras = new Bundle();
|
| + long beforeMillis = System.currentTimeMillis();
|
| + TaskExtrasPacker.packTimeInBundle(taskExtras);
|
| + long afterMillis = System.currentTimeMillis();
|
| + long scheduledTimeMillis = TaskExtrasPacker.unpackTimeFromBundle(taskExtras);
|
| + assertTrue(scheduledTimeMillis >= beforeMillis);
|
| + assertTrue(scheduledTimeMillis <= afterMillis);
|
| + assertTrue(taskExtras.getBoolean(ChromeBackgroundService.HOLD_WAKELOCK, false));
|
| + }
|
| +
|
| + @Test
|
| + @Feature({"OfflinePages"})
|
| + public void testTriggerConditionsExtra() {
|
| + Bundle taskExtras = new Bundle();
|
| + TriggerConditions conditions1 = new TriggerConditions(true, 25, false);
|
| + TaskExtrasPacker.packTriggerConditionsInBundle(taskExtras, conditions1);
|
| + TriggerConditions unpackedConditions1 =
|
| + TaskExtrasPacker.unpackTriggerConditionsFromBundle(taskExtras);
|
| + assertEquals(conditions1, unpackedConditions1);
|
| + assertNotSame(conditions1, unpackedConditions1);
|
| +
|
| + // Now verify overwriting bundle with different values.
|
| + TriggerConditions conditions2 = new TriggerConditions(false, 50, true);
|
| + TaskExtrasPacker.packTriggerConditionsInBundle(taskExtras, conditions2);
|
| + assertEquals(conditions2, TaskExtrasPacker.unpackTriggerConditionsFromBundle(taskExtras));
|
| + }
|
| +
|
| + @Test
|
| + @Feature({"OfflinePages"})
|
| + public void testTriggerConditionsExtraDefaults() {
|
| + TriggerConditions unpackedConditionsFromEmptyBundle =
|
| + TaskExtrasPacker.unpackTriggerConditionsFromBundle(new Bundle());
|
| + // Verify conservative defaults:
|
| + assertTrue(unpackedConditionsFromEmptyBundle.requirePowerConnected());
|
| + assertEquals(100, unpackedConditionsFromEmptyBundle.getMinimumBatteryPercentage());
|
| + assertTrue(unpackedConditionsFromEmptyBundle.requireUnmeteredNetwork());
|
| + }
|
| +}
|
|
|