aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/com/android/calendarcommon/Duration.java150
-rw-r--r--tests/src/com/android/calendarcommon/DurationTest.java77
2 files changed, 0 insertions, 227 deletions
diff --git a/src/com/android/calendarcommon/Duration.java b/src/com/android/calendarcommon/Duration.java
deleted file mode 100644
index 70fe89d..0000000
--- a/src/com/android/calendarcommon/Duration.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
-** Copyright 2006, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
-
-package com.android.calendarcommon;
-
-import java.util.Calendar;
-
-/**
- * According to RFC2445, durations are like this:
- * WEEKS
- * | DAYS [ HOURS [ MINUTES [ SECONDS ] ] ]
- * | HOURS [ MINUTES [ SECONDS ] ]
- * it doesn't specifically, say, but this sort of implies that you can't have
- * 70 seconds.
- */
-public class Duration
-{
- public int sign; // 1 or -1
- public int weeks;
- public int days;
- public int hours;
- public int minutes;
- public int seconds;
-
- public Duration()
- {
- sign = 1;
- }
-
- /**
- * Parse according to RFC2445 ss4.3.6. (It's actually a little loose with
- * its parsing, for better or for worse)
- */
- public void parse(String str) throws DateException
- {
- sign = 1;
- weeks = 0;
- days = 0;
- hours = 0;
- minutes = 0;
- seconds = 0;
-
- int len = str.length();
- int index = 0;
- char c;
-
- if (len < 1) {
- return ;
- }
-
- c = str.charAt(0);
- if (c == '-') {
- sign = -1;
- index++;
- }
- else if (c == '+') {
- index++;
- }
-
- if (len < index) {
- return ;
- }
-
- c = str.charAt(index);
- if (c != 'P') {
- throw new DateException (
- "Duration.parse(str='" + str + "') expected 'P' at index="
- + index);
- }
- index++;
- c = str.charAt(index);
- if (c == 'T') {
- index++;
- }
-
- int n = 0;
- for (; index < len; index++) {
- c = str.charAt(index);
- if (c >= '0' && c <= '9') {
- n *= 10;
- n += ((int)(c-'0'));
- }
- else if (c == 'W') {
- weeks = n;
- n = 0;
- }
- else if (c == 'H') {
- hours = n;
- n = 0;
- }
- else if (c == 'M') {
- minutes = n;
- n = 0;
- }
- else if (c == 'S') {
- seconds = n;
- n = 0;
- }
- else if (c == 'D') {
- days = n;
- n = 0;
- }
- else if (c == 'T') {
- }
- else {
- throw new DateException (
- "Duration.parse(str='" + str + "') unexpected char '"
- + c + "' at index=" + index);
- }
- }
- }
-
- /**
- * Add this to the calendar provided, in place, in the calendar.
- */
- public void addTo(Calendar cal)
- {
- cal.add(Calendar.DAY_OF_MONTH, sign*weeks*7);
- cal.add(Calendar.DAY_OF_MONTH, sign*days);
- cal.add(Calendar.HOUR, sign*hours);
- cal.add(Calendar.MINUTE, sign*minutes);
- cal.add(Calendar.SECOND, sign*seconds);
- }
-
- public long addTo(long dt) {
- return dt + getMillis();
- }
-
- public long getMillis() {
- long factor = 1000 * sign;
- return factor * ((7*24*60*60*weeks)
- + (24*60*60*days)
- + (60*60*hours)
- + (60*minutes)
- + seconds);
- }
-}
diff --git a/tests/src/com/android/calendarcommon/DurationTest.java b/tests/src/com/android/calendarcommon/DurationTest.java
deleted file mode 100644
index b264713..0000000
--- a/tests/src/com/android/calendarcommon/DurationTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/* //device/content/providers/pim/DurationTest.java
-**
-** Copyright 2006, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
-
-package com.android.calendarcommon;
-
-import junit.framework.TestCase;
-
-import android.test.suitebuilder.annotation.SmallTest;
-
-public class DurationTest extends TestCase {
-
- private void verifyDuration(String str,
- int sign, int weeks, int days, int hours,
- int minutes, int seconds) throws DateException {
-
- Duration duration = new Duration();
- duration.parse(str);
-
- assertEquals("Duration sign is not equal for " + str, sign, duration.sign);
- assertEquals("Duration weeks is not equal for " + str, weeks, duration.weeks);
- assertEquals("Duration days is not equal for " + str, days, duration.days);
- assertEquals("Duration hours is not equal for " + str, hours, duration.hours);
- assertEquals("Duration minutes is not equal for " + str, minutes, duration.minutes);
- assertEquals("Duration seconds is not equal for " + str, seconds, duration.seconds);
- }
-
- @SmallTest
- public void testParse() throws Exception {
- verifyDuration("P7W", 1, 7, 0, 0, 0, 0);
- verifyDuration("PT7W", 1, 7, 0, 0, 0, 0);
- verifyDuration("-PT7W", -1, 7, 0, 0, 0, 0);
- verifyDuration("P15DT5H0M20S", 1, 0, 15, 5, 0, 20);
- verifyDuration("-P15DT5H0M20S", -1, 0, 15, 5, 0, 20);
- verifyDuration("PT1H2M3S", 1, 0, 0, 1, 2, 3);
-
- verifyDuration("", 1, 0, 0, 0, 0, 0);
- verifyDuration("P", 1, 0, 0, 0, 0, 0);
- verifyDuration("P0W", 1, 0, 0, 0, 0, 0);
- verifyDuration("P0D", 1, 0, 0, 0, 0, 0);
- verifyDuration("PT0H0M0S", 1, 0, 0, 0, 0, 0);
- verifyDuration("P0DT0H0M0S", 1, 0, 0, 0, 0, 0);
- }
-
- @SmallTest
- public void testParseInvalidStrings() throws Exception {
- try {
- verifyDuration(" -P15DT5H0M20S", 0, 0, 0, 0, 0, 0);
- fail("test didn't throw an exception but we expected it to");
- } catch (DateException e) {
- // expected
- }
-
- try {
- verifyDuration(" not even close", 0, 0, 0, 0, 0, 0);
- fail("test didn't throw an exception but we expected it to");
- } catch (DateException e) {
- // expected
- }
- }
-}
-
-
-