| Index: components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerPrefsTest.java
|
| diff --git a/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerPrefsTest.java b/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerPrefsTest.java
|
| index 947b51cf0996f55ca9e982784b0a1a01e7162878..229223cbcfd69d5da3faac90bf5e51dc8aef3aac 100644
|
| --- a/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerPrefsTest.java
|
| +++ b/components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerPrefsTest.java
|
| @@ -8,16 +8,20 @@ import static org.junit.Assert.assertEquals;
|
| import static org.junit.Assert.assertFalse;
|
| import static org.junit.Assert.assertTrue;
|
|
|
| +import android.os.Build;
|
| +
|
| import org.junit.Before;
|
| import org.junit.Test;
|
| import org.junit.runner.RunWith;
|
| import org.robolectric.RuntimeEnvironment;
|
| import org.robolectric.annotation.Config;
|
| +import org.robolectric.util.ReflectionHelpers;
|
|
|
| import org.chromium.base.ContextUtils;
|
| import org.chromium.base.test.util.Feature;
|
| import org.chromium.testing.local.LocalRobolectricTestRunner;
|
|
|
| +import java.util.HashSet;
|
| import java.util.Set;
|
| import java.util.concurrent.TimeUnit;
|
|
|
| @@ -75,6 +79,11 @@ public class BackgroundTaskSchedulerPrefsTest {
|
| scheduledTasks.contains(TASK_2.getBackgroundTaskClass().getName()));
|
| assertTrue("task3 class name in scheduled tasks.",
|
| scheduledTasks.contains(task3.getBackgroundTaskClass().getName()));
|
| +
|
| + Set<Integer> taskIds = BackgroundTaskSchedulerPrefs.getScheduledTaskIds();
|
| + assertTrue(taskIds.contains(TASK_1.getTaskId()));
|
| + assertTrue(taskIds.contains(TASK_2.getTaskId()));
|
| + assertTrue(taskIds.contains(task3.getTaskId()));
|
| }
|
|
|
| @Test
|
| @@ -91,10 +100,33 @@ public class BackgroundTaskSchedulerPrefsTest {
|
| BackgroundTaskSchedulerPrefs.getScheduledTasks().size());
|
|
|
| Set<String> scheduledTasks = BackgroundTaskSchedulerPrefs.getScheduledTasks();
|
| - assertFalse("TASK_1 class name in scheduled tasks.",
|
| + assertFalse("TASK_1 class name is not in scheduled tasks.",
|
| scheduledTasks.contains(TASK_1.getBackgroundTaskClass().getName()));
|
| assertTrue("TASK_2 class name in scheduled tasks.",
|
| scheduledTasks.contains(TASK_2.getBackgroundTaskClass().getName()));
|
| +
|
| + Set<Integer> taskIds = BackgroundTaskSchedulerPrefs.getScheduledTaskIds();
|
| + assertFalse(taskIds.contains(TASK_1.getTaskId()));
|
| + assertTrue(taskIds.contains(TASK_2.getTaskId()));
|
| + }
|
| +
|
| + @Test
|
| + @Feature("BackgroundTaskScheduler")
|
| + public void testUnparseableEntries() {
|
| + HashSet<String> badEntries = new HashSet<>();
|
| + badEntries.add(":123");
|
| + badEntries.add("Class:");
|
| + badEntries.add("Class:NotAnInt");
|
| + badEntries.add("Int field missing");
|
| + badEntries.add("Class:123:Too many fields");
|
| + badEntries.add("");
|
| + badEntries.add(null);
|
| + ContextUtils.getAppSharedPreferences()
|
| + .edit()
|
| + .putStringSet("bts_scheduled_tasks", badEntries)
|
| + .apply();
|
| + assertTrue(BackgroundTaskSchedulerPrefs.getScheduledTaskIds().isEmpty());
|
| + assertTrue(BackgroundTaskSchedulerPrefs.getScheduledTasks().isEmpty());
|
| }
|
|
|
| @Test
|
| @@ -105,5 +137,19 @@ public class BackgroundTaskSchedulerPrefsTest {
|
| BackgroundTaskSchedulerPrefs.removeAllTasks();
|
| assertTrue("We are expecting a all tasks to be gone.",
|
| BackgroundTaskSchedulerPrefs.getScheduledTasks().isEmpty());
|
| + assertTrue("We are expecting a all tasks to be gone.",
|
| + BackgroundTaskSchedulerPrefs.getScheduledTaskIds().isEmpty());
|
| + }
|
| +
|
| + @Test
|
| + @Feature("BackgroundTaskScheduler")
|
| + public void testLastSdkVersion() {
|
| + ReflectionHelpers.setStaticField(
|
| + Build.VERSION.class, "SDK_INT", Build.VERSION_CODES.KITKAT);
|
| + assertEquals("Current SDK version should be default.", Build.VERSION_CODES.KITKAT,
|
| + BackgroundTaskSchedulerPrefs.getLastSdkVersion());
|
| + BackgroundTaskSchedulerPrefs.setLastSdkVersion(Build.VERSION_CODES.LOLLIPOP);
|
| + assertEquals(
|
| + Build.VERSION_CODES.LOLLIPOP, BackgroundTaskSchedulerPrefs.getLastSdkVersion());
|
| }
|
| }
|
|
|