Index: ui/android/junit/src/org/chromium/ui/picker/DateDialogNormalizerTest.java |
diff --git a/ui/android/junit/src/org/chromium/ui/picker/DateDialogNormalizerTest.java b/ui/android/junit/src/org/chromium/ui/picker/DateDialogNormalizerTest.java |
deleted file mode 100644 |
index 672dea87e7a469be5efbb1cac8425ed676fd2714..0000000000000000000000000000000000000000 |
--- a/ui/android/junit/src/org/chromium/ui/picker/DateDialogNormalizerTest.java |
+++ /dev/null |
@@ -1,160 +0,0 @@ |
-// 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.ui.picker; |
- |
-import static org.junit.Assert.assertEquals; |
- |
-import android.app.Activity; |
-import android.widget.DatePicker; |
- |
-import org.chromium.testing.local.LocalRobolectricTestRunner; |
-import org.junit.Before; |
-import org.junit.Test; |
-import org.junit.runner.RunWith; |
-import org.robolectric.Robolectric; |
-import org.robolectric.annotation.Config; |
- |
-import java.util.TimeZone; |
- |
-/** |
- * Tests for DateDialogNormalizer. |
- */ |
-@RunWith(LocalRobolectricTestRunner.class) |
-// sdk 18 is used due to a bug in Robolectric, crbug.com/635199 |
-@Config(manifest = Config.NONE, sdk = 18) |
-public class DateDialogNormalizerTest { |
- |
- private static final long MILLIS_PER_MINUTE = 60 * 1000; |
- private static final long MILLIS_PER_HOUR = 60 * 60 * 1000; |
- private static final long PST_OFFSET_MILLIS = 8 * MILLIS_PER_HOUR; |
- private static final long JAPAN_OFFSET_MILLIS = -9 * MILLIS_PER_HOUR; |
- |
- private static final TimeZone GMT_TIME_ZONE = TimeZone.getTimeZone("GMT"); |
- private static final TimeZone PST_TIME_ZONE = TimeZone.getTimeZone("GMT-08"); |
- private static final TimeZone JAPAN_TIME_ZONE = TimeZone.getTimeZone("Japan"); // GMT+09 |
- |
- // Times are milliseconds since the epoch. The time zone is GMT, unless marked as PST or Japan. |
- // The time of day is midnight unless marked otherwise. The calendar is Gregorian, unless |
- // marked with _JULIAN, which indicates a hybrid Julian/Gregorian calendar. |
- private static final long JULY_31_2012 = 1343692800000L; |
- private static final long JULY_31_2012_PST = JULY_31_2012 + PST_OFFSET_MILLIS; |
- private static final long JULY_31_2012_JAPAN = JULY_31_2012 + JAPAN_OFFSET_MILLIS; |
- private static final long JULY_31_2014 = 1406764800000L; |
- private static final long JULY_31_2014_1201AM = JULY_31_2014 + 1 * MILLIS_PER_MINUTE; |
- private static final long JULY_31_2014_9PM = JULY_31_2014 + 21 * MILLIS_PER_HOUR; |
- private static final long JULY_31_2014_PST = JULY_31_2014 + PST_OFFSET_MILLIS; |
- private static final long JULY_31_2014_JAPAN = JULY_31_2014 + JAPAN_OFFSET_MILLIS; |
- private static final long JULY_31_2017 = 1501459200000L; |
- private static final long JULY_31_2017_PST = JULY_31_2017 + PST_OFFSET_MILLIS; |
- private static final long JULY_31_2017_JAPAN = JULY_31_2017 + JAPAN_OFFSET_MILLIS; |
- private static final long JULY_31_2017_5AM = JULY_31_2017 + 5 * MILLIS_PER_HOUR; |
- private static final long JULY_31_2017_1159PM = JULY_31_2017 + 23 * MILLIS_PER_HOUR |
- + 59 * MILLIS_PER_MINUTE; |
- private static final long JULY_31_2018 = 1532995200000L; |
- private static final long JULY_31_2018_PST = JULY_31_2018 + PST_OFFSET_MILLIS; |
- |
- private static final long JANUARY_1_0476 = -47146060800000L; |
- private static final long JANUARY_1_0476_JULIAN = -47145974400000L; |
- private static final long AUGUST_2_1580 = -12288758400000L; |
- private static final long AUGUST_2_1580_JULIAN = -12287894400000L; |
- private static final long MARCH_15_3456 = 46899993600000L; |
- private static final long DECEMBER_31_5000 = 95649033600000L; |
- |
- private Activity mActivity; |
- |
- @Before |
- public void setUp() { |
- mActivity = Robolectric.buildActivity(Activity.class).setup().get(); |
- } |
- |
- /** |
- * Asserts that after the input* params are passed to DateDialogNormalize.normalize(), that |
- * the DatePicker's state matches the output* params. |
- */ |
- private void run(TimeZone defaultTimeZone, |
- int inputYear, int inputMonth, int inputDay, long inputMinMillis, long inputMaxMillis, |
- int outputYear, int outputMonth, int outputDay, long outputMinMillis, |
- long outputMaxMillis) { |
- TimeZone.setDefault(defaultTimeZone); |
- DatePicker picker = new DatePicker(mActivity); |
- DateDialogNormalizer.normalize(picker, null, inputYear, inputMonth, inputDay, |
- inputMinMillis, inputMaxMillis); |
- |
- String pickerDate = String.format("%04d-%02d-%02d", picker.getYear(), picker.getMonth() + 1, |
- picker.getDayOfMonth()); |
- String expectedDate = String.format("%04d-%02d-%02d", outputYear, outputMonth + 1, |
- outputDay); |
- assertEquals(expectedDate, pickerDate); |
- assertEquals(outputMinMillis, picker.getMinDate()); |
- assertEquals(outputMaxMillis, picker.getMaxDate()); |
- } |
- |
- @Test |
- public void testNormalize() { |
- TimeZone originalDefaultTimeZone = TimeZone.getDefault(); |
- |
- // Typical case: value is between min and max. |
- run(GMT_TIME_ZONE, |
- 2015, 5, 25, JULY_31_2012, JULY_31_2017, |
- 2015, 5, 25, JULY_31_2012, JULY_31_2017); |
- run(PST_TIME_ZONE, |
- 2015, 5, 25, JULY_31_2012, JULY_31_2017, |
- 2015, 5, 25, JULY_31_2012_PST, JULY_31_2017_PST); |
- |
- // Hours/minutes/seconds on min and max dates should be truncated. |
- run(PST_TIME_ZONE, |
- 2015, 5, 25, JULY_31_2014_1201AM, JULY_31_2017_1159PM, |
- 2015, 5, 25, JULY_31_2014_PST, JULY_31_2017_PST); |
- run(JAPAN_TIME_ZONE, |
- 2015, 5, 25, JULY_31_2014_9PM, JULY_31_2017_5AM, |
- 2015, 5, 25, JULY_31_2014_JAPAN, JULY_31_2017_JAPAN); |
- |
- // If max < min, then max should be changed to min. |
- run(PST_TIME_ZONE, |
- 2015, 5, 25, JULY_31_2017, JULY_31_2012, |
- 2017, 6, 31, JULY_31_2017_PST, JULY_31_2017_PST); |
- |
- // If the picker date is before min, it should be changed to min. |
- run(PST_TIME_ZONE, |
- 2015, 5, 25, JULY_31_2017, JULY_31_2018, |
- 2017, 6, 31, JULY_31_2017_PST, JULY_31_2018_PST); |
- |
- // If the picker date is after max, it should be changed to max. |
- run(PST_TIME_ZONE, |
- 2025, 5, 25, JULY_31_2017, JULY_31_2018, |
- 2018, 6, 31, JULY_31_2017_PST, JULY_31_2018_PST); |
- run(JAPAN_TIME_ZONE, |
- 2025, 5, 25, JULY_31_2012, JULY_31_2014, |
- 2014, 6, 31, JULY_31_2012_JAPAN, JULY_31_2014_JAPAN); |
- |
- // Ensure that dates before the Julian/Gregorian changeover in 1582 are treated correctly, |
- // as proleptic Gregorian dates, not as Julian dates. |
- run(GMT_TIME_ZONE, |
- 1581, 3, 4, AUGUST_2_1580, MARCH_15_3456, |
- 1581, 3, 4, AUGUST_2_1580_JULIAN, MARCH_15_3456); |
- |
- // Ensure time ranges in the distant past and future work correctly. |
- run(GMT_TIME_ZONE, |
- 1215, 5, 15, JANUARY_1_0476, AUGUST_2_1580, |
- 1215, 5, 15, JANUARY_1_0476_JULIAN, AUGUST_2_1580_JULIAN); |
- run(GMT_TIME_ZONE, |
- 1608, 3, 10, JANUARY_1_0476, AUGUST_2_1580, |
- 1580, 7, 2, JANUARY_1_0476_JULIAN, AUGUST_2_1580_JULIAN); |
- run(GMT_TIME_ZONE, |
- 14, 7, 19, JANUARY_1_0476, AUGUST_2_1580, |
- 476, 0, 1, JANUARY_1_0476_JULIAN, AUGUST_2_1580_JULIAN); |
- run(GMT_TIME_ZONE, |
- 4444, 3, 4, MARCH_15_3456, DECEMBER_31_5000, |
- 4444, 3, 4, MARCH_15_3456, DECEMBER_31_5000); |
- run(GMT_TIME_ZONE, |
- 2001, 3, 4, MARCH_15_3456, DECEMBER_31_5000, |
- 3456, 2, 15, MARCH_15_3456, DECEMBER_31_5000); |
- run(GMT_TIME_ZONE, |
- 10001, 3, 4, MARCH_15_3456, DECEMBER_31_5000, |
- 5000, 11, 31, MARCH_15_3456, DECEMBER_31_5000); |
- |
- TimeZone.setDefault(originalDefaultTimeZone); |
- } |
-} |