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

Unified Diff: components/background_task_scheduler/android/junit/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerPrefsTest.java

Issue 2819703002: [Android] Implements OS upgrade check and rescheduling (Closed)
Patch Set: Addressing final CR feedback 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 side-by-side diff with in-line comments
Download patch
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());
}
}

Powered by Google App Engine
This is Rietveld 408576698