diff options
author | Dan Egnor <egnor@google.com> | 2010-02-04 19:48:52 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-02-04 19:48:52 -0800 |
commit | f6e003bc4a885c186a023bd46beaaafa3842cf51 (patch) | |
tree | a6b2e80b4e78f4d86fa61c3a7c3a12436dcd7d1b /common/tests/src | |
parent | f575403e31b5fa583a6f7c1b33c575a69b78b895 (diff) | |
parent | 2991425379efd0bc29bce6cd718e5833cc6aa59b (diff) | |
download | frameworks_base-f6e003bc4a885c186a023bd46beaaafa3842cf51.zip frameworks_base-f6e003bc4a885c186a023bd46beaaafa3842cf51.tar.gz frameworks_base-f6e003bc4a885c186a023bd46beaaafa3842cf51.tar.bz2 |
Merge "Add ability to parse HTTP-format moratorium times (since pretty much every user wants this)."
Diffstat (limited to 'common/tests/src')
-rw-r--r-- | common/tests/src/com/android/common/OperationSchedulerTest.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/common/tests/src/com/android/common/OperationSchedulerTest.java b/common/tests/src/com/android/common/OperationSchedulerTest.java index 13f710d..28178b5 100644 --- a/common/tests/src/com/android/common/OperationSchedulerTest.java +++ b/common/tests/src/com/android/common/OperationSchedulerTest.java @@ -113,4 +113,32 @@ public class OperationSchedulerTest extends AndroidTestCase { "OperationScheduler.Options[backoff=10.0+2.5 max=12345.6 min=7.0 period=3800.0]", OperationScheduler.parseOptions("", options).toString()); } + + public void testMoratoriumWithHttpDate() throws Exception { + String name = "OperationSchedulerTest.testMoratoriumWithHttpDate"; + SharedPreferences storage = getContext().getSharedPreferences(name, 0); + storage.edit().clear().commit(); + + OperationScheduler scheduler = new OperationScheduler(storage); + OperationScheduler.Options options = new OperationScheduler.Options(); + + long beforeTrigger = System.currentTimeMillis(); + scheduler.setTriggerTimeMillis(beforeTrigger + 1000000); + assertEquals(beforeTrigger + 1000000, scheduler.getNextTimeMillis(options)); + + scheduler.setMoratoriumTimeMillis(beforeTrigger + 2000000); + assertEquals(beforeTrigger + 2000000, scheduler.getNextTimeMillis(options)); + + long beforeMoratorium = System.currentTimeMillis(); + assertTrue(scheduler.setMoratoriumTimeHttp("3000")); + long afterMoratorium = System.currentTimeMillis(); + assertTrue(beforeMoratorium + 3000000 <= scheduler.getNextTimeMillis(options)); + assertTrue(afterMoratorium + 3000000 >= scheduler.getNextTimeMillis(options)); + + options.maxMoratoriumMillis = Long.MAX_VALUE / 2; + assertTrue(scheduler.setMoratoriumTimeHttp("Fri, 31 Dec 2030 23:59:59 GMT")); + assertEquals(1924991999000L, scheduler.getNextTimeMillis(options)); + + assertFalse(scheduler.setMoratoriumTimeHttp("not actually a date")); + } } |