aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVarun Shah <varunshah@google.com>2019-11-21 13:41:05 -0800
committerVarun Shah <varunshah@google.com>2019-11-21 13:41:05 -0800
commit6e29ad1dfe9b353af1c41a30101673bf01d7a144 (patch)
tree22fabdf2db0179ed308c4e72ce902bebd5fda3c0
parent1aea8315ebe9cca6e9462ab02e9f4caf20c8cd58 (diff)
downloadcalendar-6e29ad1dfe9b353af1c41a30101673bf01d7a144.tar.gz
Fix day of year value in RecurrenceProcessor.r_aml_301500702android-mainline-12.0.0_r55android-mainline-11.0.0_r9android-mainline-11.0.0_r8android-mainline-11.0.0_r7android-mainline-11.0.0_r6android-mainline-11.0.0_r5android-mainline-11.0.0_r45android-mainline-11.0.0_r44android-mainline-11.0.0_r43android-mainline-11.0.0_r42android-mainline-11.0.0_r41android-mainline-11.0.0_r40android-mainline-11.0.0_r4android-mainline-11.0.0_r39android-mainline-11.0.0_r38android-mainline-11.0.0_r37android-mainline-11.0.0_r36android-mainline-11.0.0_r35android-mainline-11.0.0_r34android-mainline-11.0.0_r33android-mainline-11.0.0_r32android-mainline-11.0.0_r31android-mainline-11.0.0_r30android-mainline-11.0.0_r3android-mainline-11.0.0_r29android-mainline-11.0.0_r28android-mainline-11.0.0_r27android-mainline-11.0.0_r26android-mainline-11.0.0_r25android-mainline-11.0.0_r24android-mainline-11.0.0_r23android-mainline-11.0.0_r22android-mainline-11.0.0_r21android-mainline-11.0.0_r20android-mainline-11.0.0_r2android-mainline-11.0.0_r19android-mainline-11.0.0_r18android-mainline-11.0.0_r17android-mainline-11.0.0_r16android-mainline-11.0.0_r15android-mainline-11.0.0_r14android-mainline-11.0.0_r13android-mainline-11.0.0_r12android-mainline-11.0.0_r10android-mainline-11.0.0_r1android-11.0.0_r9android-11.0.0_r8android-11.0.0_r7android-11.0.0_r48android-11.0.0_r47android-11.0.0_r46android-11.0.0_r45android-11.0.0_r44android-11.0.0_r43android-11.0.0_r42android-11.0.0_r41android-11.0.0_r40android-11.0.0_r39android-11.0.0_r38android-11.0.0_r37android-11.0.0_r36android-11.0.0_r35android-11.0.0_r34android-11.0.0_r33android-11.0.0_r32android-11.0.0_r31android-11.0.0_r30android-11.0.0_r29android-11.0.0_r28android-11.0.0_r27android-11.0.0_r26android-11.0.0_r24android-11.0.0_r23android-11.0.0_r22android-11.0.0_r21android-11.0.0_r20android-11.0.0_r19android-11.0.0_r18android-11.0.0_r16android-11.0.0_r15android-11.0.0_r14android-11.0.0_r13android-11.0.0_r12android-11.0.0_r11android-11.0.0_r10android11-qpr3-s1-releaseandroid11-qpr3-releaseandroid11-qpr2-releaseandroid11-qpr1-s2-releaseandroid11-qpr1-s1-releaseandroid11-qpr1-releaseandroid11-qpr1-d-s1-releaseandroid11-qpr1-d-releaseandroid11-qpr1-c-releaseandroid11-mainline-tethering-releaseandroid11-mainline-sparse-2021-jan-releaseandroid11-mainline-sparse-2020-dec-releaseandroid11-mainline-releaseandroid11-mainline-permission-releaseandroid11-mainline-os-statsd-releaseandroid11-mainline-networkstack-releaseandroid11-mainline-media-swcodec-releaseandroid11-mainline-media-releaseandroid11-mainline-extservices-releaseandroid11-mainline-documentsui-releaseandroid11-mainline-conscrypt-releaseandroid11-mainline-cellbroadcast-releaseandroid11-mainline-captiveportallogin-releaseandroid11-devandroid11-d2-releaseandroid11-d1-s7-releaseandroid11-d1-s6-releaseandroid11-d1-s5-releaseandroid11-d1-s1-releaseandroid11-d1-releaseandroid11-d1-b-release
RecurrenceProcessor#yearDay was returning incorrectly for July 1st due to a wrong hard-coded value. Updating it to the correct value and adding some unit tests for the function. Bug: 111972497 Test: atest com.android.calendarcommon2.RecurrenceProcessorTest#testYearDay Change-Id: If468db15d0f66ca059460fbf09d360360cfe8cdd
-rw-r--r--src/com/android/calendarcommon2/RecurrenceProcessor.java2
-rw-r--r--tests/src/com/android/calendarcommon2/RecurrenceProcessorTest.java26
2 files changed, 27 insertions, 1 deletions
diff --git a/src/com/android/calendarcommon2/RecurrenceProcessor.java b/src/com/android/calendarcommon2/RecurrenceProcessor.java
index fd225db..d0a647a 100644
--- a/src/com/android/calendarcommon2/RecurrenceProcessor.java
+++ b/src/com/android/calendarcommon2/RecurrenceProcessor.java
@@ -1235,7 +1235,7 @@ bysetpos:
private static final int[] DAYS_PER_MONTH = { 31, 28, 31, 30, 31, 30, 31,
31, 30, 31, 30, 31 };
private static final int[] DAYS_IN_YEAR_PRECEDING_MONTH = { 0, 31, 59, 90,
- 120, 151, 180, 212, 243, 273, 304, 334 };
+ 120, 151, 181, 212, 243, 273, 304, 334 };
/**
* Returns the number of days in the given month of the given year.
diff --git a/tests/src/com/android/calendarcommon2/RecurrenceProcessorTest.java b/tests/src/com/android/calendarcommon2/RecurrenceProcessorTest.java
index af850f8..3503aae 100644
--- a/tests/src/com/android/calendarcommon2/RecurrenceProcessorTest.java
+++ b/tests/src/com/android/calendarcommon2/RecurrenceProcessorTest.java
@@ -2534,4 +2534,30 @@ public class RecurrenceProcessorTest extends TestCase {
Log.i(TAG, "date: " + date.format2445());
Log.i(TAG, "testPerformanceNormalize() unsafeNormalize() elapsed millis: " + elapsed);
}
+
+ @SmallTest
+ public void testYearDay() {
+ assertEquals(181, RecurrenceProcessor.yearDay(2019, 6, 1));
+
+ /* compare day of year in non leap year (2019) to leap year (2020). */
+
+ // january 1
+ assertEquals(0, RecurrenceProcessor.yearDay(2019, 0, 1));
+ assertEquals(0, RecurrenceProcessor.yearDay(2020, 0, 1));
+
+ // february 28
+ assertEquals(58, RecurrenceProcessor.yearDay(2019, 1, 28));
+ assertEquals(58, RecurrenceProcessor.yearDay(2020, 1, 28));
+
+ // february 29
+ assertEquals(59, RecurrenceProcessor.yearDay(2020, 1, 29));
+
+ // march 1
+ assertEquals(59, RecurrenceProcessor.yearDay(2019, 2, 1));
+ assertEquals(60, RecurrenceProcessor.yearDay(2020, 2, 1));
+
+ // december 31
+ assertEquals(364, RecurrenceProcessor.yearDay(2019, 11, 31));
+ assertEquals(365, RecurrenceProcessor.yearDay(2020, 11, 31));
+ }
}