You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2019/11/14 13:18:20 UTC
svn commit: r1869793 - in /jackrabbit/trunk/jackrabbit-jcr-commons: pom.xml
src/test/java/org/apache/jackrabbit/util/ISO8601Test.java
Author: reschke
Date: Thu Nov 14 13:18:19 2019
New Revision: 1869793
URL: http://svn.apache.org/viewvc?rev=1869793&view=rev
Log:
JCR-4501: jcr-commons: add test coverage for ISO8601 util
Added:
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/util/ISO8601Test.java (with props)
Modified:
jackrabbit/trunk/jackrabbit-jcr-commons/pom.xml
Modified: jackrabbit/trunk/jackrabbit-jcr-commons/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-commons/pom.xml?rev=1869793&r1=1869792&r2=1869793&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-commons/pom.xml (original)
+++ jackrabbit/trunk/jackrabbit-jcr-commons/pom.xml Thu Nov 14 13:18:19 2019
@@ -36,8 +36,8 @@
<properties>
<skip.coverage>false</skip.coverage>
- <minimum.line.coverage>0.23</minimum.line.coverage>
- <minimum.branch.coverage>0.15</minimum.branch.coverage>
+ <minimum.line.coverage>0.24</minimum.line.coverage>
+ <minimum.branch.coverage>0.16</minimum.branch.coverage>
</properties>
<build>
Added: jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/util/ISO8601Test.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/util/ISO8601Test.java?rev=1869793&view=auto
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/util/ISO8601Test.java (added)
+++ jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/util/ISO8601Test.java Thu Nov 14 13:18:19 2019
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.jackrabbit.util;
+
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.SimpleTimeZone;
+import java.util.TimeZone;
+
+import junit.framework.TestCase;
+
+public class ISO8601Test extends TestCase {
+
+ private TimeZone customPlus = new SimpleTimeZone(83 * 60 * 1000, "test");
+ private TimeZone customMinus = new SimpleTimeZone(-1202 * 60 * 1000, "test");
+
+ public void testFormatThrowsIllegalArgumentException() {
+ try {
+ ISO8601.format(null);
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ public void testParseThrowsIllegalArgumentException() {
+ try {
+ ISO8601.parse(null);
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ public void testFormatUTC() {
+ Calendar c = Calendar.getInstance();
+ c.setTimeZone(TimeZone.getTimeZone("UTC"));
+
+ c.setTimeInMillis(0);
+ assertEquals("1970-01-01T00:00:00.000Z", ISO8601.format(c));
+
+ c.setTimeInMillis(123456789012L);
+ assertEquals("1973-11-29T21:33:09.012Z", ISO8601.format(c));
+ }
+
+ public void testFormatCustomTz() {
+ Calendar c = Calendar.getInstance();
+ c.setTimeZone(customPlus);
+
+ c.setTimeInMillis(0);
+ assertEquals("1970-01-01T01:23:00.000+01:23", ISO8601.format(c));
+
+ c.setTimeInMillis(123456789012L);
+ assertEquals("1973-11-29T22:56:09.012+01:23", ISO8601.format(c));
+
+ c.setTimeZone(customMinus);
+
+ c.setTimeInMillis(0);
+ assertEquals("1969-12-31T03:58:00.000-20:02", ISO8601.format(c));
+
+ c.setTimeInMillis(123456789012L);
+ assertEquals("1973-11-29T01:31:09.012-20:02", ISO8601.format(c));
+ }
+
+ public void testParseUTC() {
+ Calendar c = ISO8601.parse("1970-01-01T00:00:00.000Z");
+ assertEquals(0, c.getTimeInMillis());
+ assertEquals(0, c.getTimeZone().getRawOffset());
+
+ c = ISO8601.parse("1973-11-29T21:33:09.012Z");
+ assertEquals(123456789012L, c.getTimeInMillis());
+ assertEquals(0, c.getTimeZone().getRawOffset());
+ }
+
+ public void testParseCustomTZ() {
+ Calendar c = ISO8601.parse("1970-01-01T01:23:00.000+01:23");
+ assertEquals(0, c.getTimeInMillis());
+ assertEquals(customPlus.getRawOffset(), c.getTimeZone().getRawOffset());
+
+ c = ISO8601.parse("1973-11-29T22:56:09.012+01:23");
+ assertEquals(123456789012L, c.getTimeInMillis());
+ assertEquals(customPlus.getRawOffset(), c.getTimeZone().getRawOffset());
+
+ c = ISO8601.parse("1969-12-31T03:58:00.000-20:02");
+ assertEquals(0, c.getTimeInMillis());
+ assertEquals(customMinus.getRawOffset(), c.getTimeZone().getRawOffset());
+
+ c = ISO8601.parse("1973-11-29T01:31:09.012-20:02");
+ assertEquals(123456789012L, c.getTimeInMillis());
+ assertEquals(customMinus.getRawOffset(), c.getTimeZone().getRawOffset());
+ }
+
+ public void testBC() {
+ Calendar c = ISO8601.parse("-0001-01-01T00:00:00.000Z");
+ assertEquals(2, c.get(Calendar.YEAR));
+ assertEquals(GregorianCalendar.BC, c.get(Calendar.ERA));
+ }
+
+ public void testAD() {
+ Calendar c = ISO8601.parse("+1970-01-01T00:00:00.000Z");
+ assertEquals(1970, c.get(Calendar.YEAR));
+ assertEquals(GregorianCalendar.AD, c.get(Calendar.ERA));
+ }
+
+ public void testParseErrors() {
+ assertNull(ISO8601.parse(""));
+ assertNull(ISO8601.parse("x"));
+ assertNull(ISO8601.parse("19701211100908Z"));
+ assertNull(ISO8601.parse("1970-1211100908Z"));
+ assertNull(ISO8601.parse("1970-12-11100908Z"));
+ assertNull(ISO8601.parse("1970-12-11T100908Z"));
+ assertNull(ISO8601.parse("1970-12-11T10:0908Z"));
+ assertNull(ISO8601.parse("1970-12-11T10:09:08Z"));
+ }
+}
Propchange: jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/util/ISO8601Test.java
------------------------------------------------------------------------------
svn:eol-style = native