Repository: incubator-juneau Updated Branches: refs/heads/master 0d70804d8 -> e6b71aca3
Add DateSwapComboTest tests. Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/e6b71aca Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/e6b71aca Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/e6b71aca Branch: refs/heads/master Commit: e6b71aca3bdc98c7468a975058cfba7d3a147f35 Parents: 0d70804 Author: JamesBognar <[email protected]> Authored: Mon Feb 20 18:00:10 2017 -0500 Committer: JamesBognar <[email protected]> Committed: Mon Feb 20 18:00:10 2017 -0500 ---------------------------------------------------------------------- .../juneau/transforms/CalendarSwapTest.java | 2 +- .../juneau/transforms/DateFilterTest.java | 165 ------ .../juneau/transforms/DateSwapComboTest.java | 571 +++++++++++++++++++ .../apache/juneau/transforms/DateSwapTest.java | 61 ++ 4 files changed, 633 insertions(+), 166 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e6b71aca/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java b/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java index d98e811..d173c95 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java @@ -34,7 +34,7 @@ import org.junit.*; @SuppressWarnings("javadoc") public class CalendarSwapTest { - private static Calendar testDate = new GregorianCalendar(TimeZone.getTimeZone("PST")); + static Calendar testDate = new GregorianCalendar(TimeZone.getTimeZone("PST")); static { testDate.setTimeInMillis(0); testDate.set(1901, 2, 3, 10, 11, 12); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e6b71aca/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateFilterTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateFilterTest.java b/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateFilterTest.java deleted file mode 100755 index 359e829..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateFilterTest.java +++ /dev/null @@ -1,165 +0,0 @@ -// *************************************************************************************************************************** -// * 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.juneau.transforms; - -import static org.junit.Assert.*; - -import java.util.*; - -import org.apache.juneau.*; -import org.apache.juneau.json.*; -import org.apache.juneau.parser.*; -import org.apache.juneau.serializer.*; -import org.junit.*; - -@SuppressWarnings({"deprecation","javadoc"}) -public class DateFilterTest { - - @BeforeClass - public static void beforeClass() { - TestUtils.setTimeZone("GMT-5"); - } - - @AfterClass - public static void afterClass() { - TestUtils.unsetTimeZone(); - } - - private Date testDate = new Date(1, 2, 3, 4, 5, 6); - - //==================================================================================================== - // testString - DEFAULT_STRING - //==================================================================================================== - @Test - public void testString() throws Exception { - Class<?> f = DateSwap.ToString.class; - WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); - ReaderParser p = new JsonParser().addPojoSwaps(f); - doTest(s, p, "'Sun Mar 03 04:05:06 GMT-05:00 1901'"); - } - - //==================================================================================================== - // testISO8601DTZ - DEFAULT_ISO8601DTZ - //==================================================================================================== - @Test - public void testISO8601DTZ() throws Exception { - Class<?> f = DateSwap.ISO8601DTZ.class; - WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); - ReaderParser p = new JsonParser().addPojoSwaps(f); - doTest(s, p, "'1901-03-03T09:05:06Z'"); - } - - //==================================================================================================== - // testRFC2822DT - DEFAULT_RFC2822DT - //==================================================================================================== - @Test - public void testRFC2822DT() throws Exception { - Class<?> f = DateSwap.RFC2822DT.class; - WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); - ReaderParser p = new JsonParser().addPojoSwaps(f); - doTest(s, p, "'Sun, 03 Mar 1901 04:05:06 -0500'"); - } - - //==================================================================================================== - // testLong - DEFAULT_LONG - //==================================================================================================== - @Test - public void testLong() throws Exception { - Class<?> f = DateLongSwap.class; - WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); - ReaderParser p = new JsonParser().addPojoSwaps(f); - doTest(s, p, "-2172149694000"); - } - - //==================================================================================================== - // testMap - DEFAULT_MAP - //==================================================================================================== - @Test - public void testMap() throws Exception { - Class<?> f = DateMapSwap.class; - WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); - ReaderParser p = new JsonParser().addPojoSwaps(f); - doTest(s, p, "{time:-2172149694000}"); - } - - public void doTest(WriterSerializer s, ReaderParser p, String expected) throws Exception { - Date d; - String actual; - - d = testDate; - actual = s.serialize(d); - assertEquals(expected, actual); - d = p.parse(actual, Date.class); - assertEquals(1, d.getYear()); - assertEquals(2, d.getMonth()); - assertEquals(3, d.getDate()); - assertEquals(4, d.getHours()); - assertEquals(5, d.getMinutes()); - assertEquals(6, d.getSeconds()); - - d = new java.sql.Date(testDate.getTime()); - actual = s.serialize(d); - assertEquals(expected, actual); - d = p.parse(actual, java.sql.Date.class); - assertEquals(1, d.getYear()); - assertEquals(2, d.getMonth()); - assertEquals(3, d.getDate()); - - d = new java.sql.Time(testDate.getTime()); - actual = s.serialize(d); - assertEquals(expected, actual); - d = p.parse(actual, java.sql.Time.class); - assertEquals(4, d.getHours()); - assertEquals(5, d.getMinutes()); - assertEquals(6, d.getSeconds()); - - d = new java.sql.Timestamp(testDate.getTime()); - actual = s.serialize(d); - assertEquals(expected, actual); - d = p.parse(actual, java.sql.Timestamp.class); - assertEquals(1, d.getYear()); - assertEquals(2, d.getMonth()); - assertEquals(3, d.getDate()); - assertEquals(4, d.getHours()); - assertEquals(5, d.getMinutes()); - assertEquals(6, d.getSeconds()); - } - - //==================================================================================================== - //==================================================================================================== - @Test - public void testBeanWithDate() throws Exception { - A testBeanA = new A().init(); - - final String jsonData = new JsonSerializer().addPojoSwaps( - DateSwap.ISO8601DT.class).serialize(testBeanA); - final ObjectMap data = new JsonParser().addPojoSwaps( - DateSwap.ISO8601DT.class).parse(jsonData, ObjectMap.class); - - final DateSwap.ISO8601DT dateSwap = new DateSwap.ISO8601DT(); - // this works - final String sValue = data.getString("birthday"); //$NON-NLS-1$ - dateSwap.unswap(null, sValue, data.getBeanSession().getClassMeta(Date.class)); - // this does not work - data.get(dateSwap, "birthday"); //$NON-NLS-1$ - } - - public static class A { - public Date birthday; - - public A init() { - birthday = new Date(); - return this; - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e6b71aca/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapComboTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapComboTest.java b/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapComboTest.java new file mode 100644 index 0000000..6d641bd --- /dev/null +++ b/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapComboTest.java @@ -0,0 +1,571 @@ +// *************************************************************************************************************************** +// * 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.juneau.transforms; + +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.Locale; + +import org.apache.juneau.ComboTest; +import org.apache.juneau.ObjectMap; +import org.apache.juneau.TestUtils; +import org.apache.juneau.parser.Parser; +import org.apache.juneau.serializer.Serializer; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +/** + * Exhaustive serialization tests for the DateSwap class. + */ +@RunWith(Parameterized.class) +@SuppressWarnings({"javadoc"}) +public class DateSwapComboTest extends ComboTest { + + private static Date singleDate = CalendarSwapTest.testDate.getTime(); + + private static Date[] dateArray = new Date[]{singleDate}; + + private static ObjectMap dateMap = new ObjectMap().append("foo", singleDate); + + + @Parameterized.Parameters + public static Collection<Object[]> getParameters() { + return Arrays.asList(new Object[][] { + { + "DateSwap.ToString/singleDate", + singleDate, + DateSwap.ToString.class, + /* Json */ "'Sun Mar 03 10:11:12 PST 1901'", + /* JsonT */ "'Sun Mar 03 10:11:12 PST 1901'", + /* JsonR */ "'Sun Mar 03 10:11:12 PST 1901'", + /* Xml */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* XmlT */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* XmlR */ "<string>Sun Mar 03 10:11:12 PST 1901</string>\n", + /* XmlNs */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* Html */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* HtmlT */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* HtmlR */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* Uon */ "'Sun Mar 03 10:11:12 PST 1901'", + /* UonT */ "'Sun Mar 03 10:11:12 PST 1901'", + /* UonR */ "'Sun Mar 03 10:11:12 PST 1901'", + /* UrlEnc */ "_value='Sun+Mar+03+10:11:12+PST+1901'", + /* UrlEncT */ "_value='Sun+Mar+03+10:11:12+PST+1901'", + /* UrlEncR */ "_value='Sun+Mar+03+10:11:12+PST+1901'", + /* MsgPack */ "BC53756E204D61722030332031303A31313A3132205053542031393031", + /* MsgPackT */ "BC53756E204D61722030332031303A31313A3132205053542031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun Mar 03 10:11:12 PST 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun Mar 03 10:11:12 PST 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>Sun Mar 03 10:11:12 PST 1901</j:value>\n </rdf:Description>\n</rdf:RDF>\n", + }, + { + "DateSwap.ToString/dateArray", + dateArray, + DateSwap.ToString.class, + /* Json */ "['Sun Mar 03 10:11:12 PST 1901']", + /* JsonT */ "['Sun Mar 03 10:11:12 PST 1901']", + /* JsonR */ "[\n\t'Sun Mar 03 10:11:12 PST 1901'\n]", + /* Xml */ "<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>", + /* XmlT */ "<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>", + /* XmlR */ "<array>\n\t<string>Sun Mar 03 10:11:12 PST 1901</string>\n</array>\n", + /* XmlNs */ "<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>", + /* Html */ "<ul><li>Sun Mar 03 10:11:12 PST 1901</li></ul>", + /* HtmlT */ "<ul><li>Sun Mar 03 10:11:12 PST 1901</li></ul>", + /* HtmlR */ "<ul>\n\t<li>Sun Mar 03 10:11:12 PST 1901</li>\n</ul>\n", + /* Uon */ "@('Sun Mar 03 10:11:12 PST 1901')", + /* UonT */ "@('Sun Mar 03 10:11:12 PST 1901')", + /* UonR */ "@(\n\t'Sun Mar 03 10:11:12 PST 1901'\n)", + /* UrlEnc */ "_value=@('Sun+Mar+03+10:11:12+PST+1901')", + /* UrlEncT */ "_value=@('Sun+Mar+03+10:11:12+PST+1901')", + /* UrlEncR */ "_value=@(\n\t'Sun+Mar+03+10:11:12+PST+1901'\n)", + /* MsgPack */ "91BC53756E204D61722030332031303A31313A3132205053542031393031", + /* MsgPackT */ "91BC53756E204D61722030332031303A31313A3132205053542031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun Mar 03 10:11:12 PST 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun Mar 03 10:11:12 PST 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>Sun Mar 03 10:11:12 PST 1901</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + }, + { + "DateSwap.ToString", + dateMap, + DateSwap.ToString.class, + /* Json */ "{foo:'Sun Mar 03 10:11:12 PST 1901'}", + /* JsonT */ "{foo:'Sun Mar 03 10:11:12 PST 1901'}", + /* JsonR */ "{\n\tfoo: 'Sun Mar 03 10:11:12 PST 1901'\n}", + /* Xml */ "<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>", + /* XmlT */ "<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>", + /* XmlR */ "<object>\n\t<foo>Sun Mar 03 10:11:12 PST 1901</foo>\n</object>\n", + /* XmlNs */ "<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>", + /* Html */ "<table><tr><td>foo</td><td>Sun Mar 03 10:11:12 PST 1901</td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td>Sun Mar 03 10:11:12 PST 1901</td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Sun Mar 03 10:11:12 PST 1901</td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo='Sun Mar 03 10:11:12 PST 1901')", + /* UonT */ "(foo='Sun Mar 03 10:11:12 PST 1901')", + /* UonR */ "(\n\tfoo='Sun Mar 03 10:11:12 PST 1901'\n)", + /* UrlEnc */ "foo='Sun+Mar+03+10:11:12+PST+1901'", + /* UrlEncT */ "foo='Sun+Mar+03+10:11:12+PST+1901'", + /* UrlEncR */ "foo='Sun+Mar+03+10:11:12+PST+1901'", + /* MsgPack */ "81A3666F6FBC53756E204D61722030332031303A31313A3132205053542031393031", + /* MsgPackT */ "81A3666F6FBC53756E204D61722030332031303A31313A3132205053542031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun Mar 03 10:11:12 PST 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun Mar 03 10:11:12 PST 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>Sun Mar 03 10:11:12 PST 1901</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + }, + { + "DateSwap.ISO8601DT/singleDate", + singleDate, + DateSwap.ISO8601DT.class, + /* Json */ "'1901-03-03T10:11:12-08:00'", + /* JsonT */ "'1901-03-03T10:11:12-08:00'", + /* JsonR */ "'1901-03-03T10:11:12-08:00'", + /* Xml */ "<string>1901-03-03T10:11:12-08:00</string>", + /* XmlT */ "<string>1901-03-03T10:11:12-08:00</string>", + /* XmlR */ "<string>1901-03-03T10:11:12-08:00</string>\n", + /* XmlNs */ "<string>1901-03-03T10:11:12-08:00</string>", + /* Html */ "<string>1901-03-03T10:11:12-08:00</string>", + /* HtmlT */ "<string>1901-03-03T10:11:12-08:00</string>", + /* HtmlR */ "<string>1901-03-03T10:11:12-08:00</string>", + /* Uon */ "1901-03-03T10:11:12-08:00", + /* UonT */ "1901-03-03T10:11:12-08:00", + /* UonR */ "1901-03-03T10:11:12-08:00", + /* UrlEnc */ "_value=1901-03-03T10:11:12-08:00", + /* UrlEncT */ "_value=1901-03-03T10:11:12-08:00", + /* UrlEncR */ "_value=1901-03-03T10:11:12-08:00", + /* MsgPack */ "B9313930312D30332D30335431303A31313A31322D30383A3030", + /* MsgPackT */ "B9313930312D30332D30335431303A31313A31322D30383A3030", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>1901-03-03T10:11:12-08:00</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>1901-03-03T10:11:12-08:00</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>1901-03-03T10:11:12-08:00</j:value>\n </rdf:Description>\n</rdf:RDF>\n", + }, + { + "DateSwap.ISO8601DT/dateArray", + dateArray, + DateSwap.ISO8601DT.class, + /* Json */ "['1901-03-03T10:11:12-08:00']", + /* JsonT */ "['1901-03-03T10:11:12-08:00']", + /* JsonR */ "[\n\t'1901-03-03T10:11:12-08:00'\n]", + /* Xml */ "<array><string>1901-03-03T10:11:12-08:00</string></array>", + /* XmlT */ "<array><string>1901-03-03T10:11:12-08:00</string></array>", + /* XmlR */ "<array>\n\t<string>1901-03-03T10:11:12-08:00</string>\n</array>\n", + /* XmlNs */ "<array><string>1901-03-03T10:11:12-08:00</string></array>", + /* Html */ "<ul><li>1901-03-03T10:11:12-08:00</li></ul>", + /* HtmlT */ "<ul><li>1901-03-03T10:11:12-08:00</li></ul>", + /* HtmlR */ "<ul>\n\t<li>1901-03-03T10:11:12-08:00</li>\n</ul>\n", + /* Uon */ "@(1901-03-03T10:11:12-08:00)", + /* UonT */ "@(1901-03-03T10:11:12-08:00)", + /* UonR */ "@(\n\t1901-03-03T10:11:12-08:00\n)", + /* UrlEnc */ "_value=@(1901-03-03T10:11:12-08:00)", + /* UrlEncT */ "_value=@(1901-03-03T10:11:12-08:00)", + /* UrlEncR */ "_value=@(\n\t1901-03-03T10:11:12-08:00\n)", + /* MsgPack */ "91B9313930312D30332D30335431303A31313A31322D30383A3030", + /* MsgPackT */ "91B9313930312D30332D30335431303A31313A31322D30383A3030", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + }, + { + "DateSwap.ISO8601DT/dateMap", + dateMap, + DateSwap.ISO8601DT.class, + /* Json */ "{foo:'1901-03-03T10:11:12-08:00'}", + /* JsonT */ "{foo:'1901-03-03T10:11:12-08:00'}", + /* JsonR */ "{\n\tfoo: '1901-03-03T10:11:12-08:00'\n}", + /* Xml */ "<object><foo>1901-03-03T10:11:12-08:00</foo></object>", + /* XmlT */ "<object><foo>1901-03-03T10:11:12-08:00</foo></object>", + /* XmlR */ "<object>\n\t<foo>1901-03-03T10:11:12-08:00</foo>\n</object>\n", + /* XmlNs */ "<object><foo>1901-03-03T10:11:12-08:00</foo></object>", + /* Html */ "<table><tr><td>foo</td><td>1901-03-03T10:11:12-08:00</td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td>1901-03-03T10:11:12-08:00</td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>1901-03-03T10:11:12-08:00</td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo=1901-03-03T10:11:12-08:00)", + /* UonT */ "(foo=1901-03-03T10:11:12-08:00)", + /* UonR */ "(\n\tfoo=1901-03-03T10:11:12-08:00\n)", + /* UrlEnc */ "foo=1901-03-03T10:11:12-08:00", + /* UrlEncT */ "foo=1901-03-03T10:11:12-08:00", + /* UrlEncR */ "foo=1901-03-03T10:11:12-08:00", + /* MsgPack */ "81A3666F6FB9313930312D30332D30335431303A31313A31322D30383A3030", + /* MsgPackT */ "81A3666F6FB9313930312D30332D30335431303A31313A31322D30383A3030", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + }, + { + "DateSwap.RFC2822DTZ/singleDate", + singleDate, + DateSwap.RFC2822DTZ.class, + /* Json */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* JsonT */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* JsonR */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* Xml */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* XmlT */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* XmlR */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>\n", + /* XmlNs */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* Html */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* HtmlT */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* HtmlR */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* Uon */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* UonT */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* UonR */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* UrlEnc */ "_value='Sun,+03+Mar+1901+18:11:12+GMT'", + /* UrlEncT */ "_value='Sun,+03+Mar+1901+18:11:12+GMT'", + /* UrlEncR */ "_value='Sun,+03+Mar+1901+18:11:12+GMT'", + /* MsgPack */ "BD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* MsgPackT */ "BD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value>\n </rdf:Description>\n</rdf:RDF>\n", + }, + { + "DateSwap.RFC2822DTZ/dateArray", + dateArray, + DateSwap.RFC2822DTZ.class, + /* Json */ "['Sun, 03 Mar 1901 18:11:12 GMT']", + /* JsonT */ "['Sun, 03 Mar 1901 18:11:12 GMT']", + /* JsonR */ "[\n\t'Sun, 03 Mar 1901 18:11:12 GMT'\n]", + /* Xml */ "<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>", + /* XmlT */ "<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>", + /* XmlR */ "<array>\n\t<string>Sun, 03 Mar 1901 18:11:12 GMT</string>\n</array>\n", + /* XmlNs */ "<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>", + /* Html */ "<ul><li>Sun, 03 Mar 1901 18:11:12 GMT</li></ul>", + /* HtmlT */ "<ul><li>Sun, 03 Mar 1901 18:11:12 GMT</li></ul>", + /* HtmlR */ "<ul>\n\t<li>Sun, 03 Mar 1901 18:11:12 GMT</li>\n</ul>\n", + /* Uon */ "@('Sun, 03 Mar 1901 18:11:12 GMT')", + /* UonT */ "@('Sun, 03 Mar 1901 18:11:12 GMT')", + /* UonR */ "@(\n\t'Sun, 03 Mar 1901 18:11:12 GMT'\n)", + /* UrlEnc */ "_value=@('Sun,+03+Mar+1901+18:11:12+GMT')", + /* UrlEncT */ "_value=@('Sun,+03+Mar+1901+18:11:12+GMT')", + /* UrlEncR */ "_value=@(\n\t'Sun,+03+Mar+1901+18:11:12+GMT'\n)", + /* MsgPack */ "91BD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* MsgPackT */ "91BD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun, 03 Mar 1901 18:11:12 GMT</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun, 03 Mar 1901 18:11:12 GMT</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>Sun, 03 Mar 1901 18:11:12 GMT</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + }, + { + "DateSwap.RFC2822DTZ/dateMap", + dateMap, + DateSwap.RFC2822DTZ.class, + /* Json */ "{foo:'Sun, 03 Mar 1901 18:11:12 GMT'}", + /* JsonT */ "{foo:'Sun, 03 Mar 1901 18:11:12 GMT'}", + /* JsonR */ "{\n\tfoo: 'Sun, 03 Mar 1901 18:11:12 GMT'\n}", + /* Xml */ "<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>", + /* XmlT */ "<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>", + /* XmlR */ "<object>\n\t<foo>Sun, 03 Mar 1901 18:11:12 GMT</foo>\n</object>\n", + /* XmlNs */ "<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>", + /* Html */ "<table><tr><td>foo</td><td>Sun, 03 Mar 1901 18:11:12 GMT</td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td>Sun, 03 Mar 1901 18:11:12 GMT</td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Sun, 03 Mar 1901 18:11:12 GMT</td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo='Sun, 03 Mar 1901 18:11:12 GMT')", + /* UonT */ "(foo='Sun, 03 Mar 1901 18:11:12 GMT')", + /* UonR */ "(\n\tfoo='Sun, 03 Mar 1901 18:11:12 GMT'\n)", + /* UrlEnc */ "foo='Sun,+03+Mar+1901+18:11:12+GMT'", + /* UrlEncT */ "foo='Sun,+03+Mar+1901+18:11:12+GMT'", + /* UrlEncR */ "foo='Sun,+03+Mar+1901+18:11:12+GMT'", + /* MsgPack */ "81A3666F6FBD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* MsgPackT */ "81A3666F6FBD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun, 03 Mar 1901 18:11:12 GMT</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun, 03 Mar 1901 18:11:12 GMT</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>Sun, 03 Mar 1901 18:11:12 GMT</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + }, + { + "DateLongSwap", + singleDate, + DateLongSwap.class, + /* Json */ "-2172116928000", + /* JsonT */ "-2172116928000", + /* JsonR */ "-2172116928000", + /* Xml */ "<number>-2172116928000</number>", + /* XmlT */ "<number>-2172116928000</number>", + /* XmlR */ "<number>-2172116928000</number>\n", + /* XmlNs */ "<number>-2172116928000</number>", + /* Html */ "<number>-2172116928000</number>", + /* HtmlT */ "<number>-2172116928000</number>", + /* HtmlR */ "<number>-2172116928000</number>", + /* Uon */ "-2172116928000", + /* UonT */ "-2172116928000", + /* UonR */ "-2172116928000", + /* UrlEnc */ "_value=-2172116928000", + /* UrlEncT */ "_value=-2172116928000", + /* UrlEncR */ "_value=-2172116928000", + /* MsgPack */ "D3FFFFFE0643BDFA00", + /* MsgPackT */ "D3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>-2172116928000</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>-2172116928000</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>-2172116928000</j:value>\n </rdf:Description>\n</rdf:RDF>\n", + }, + { + "DateLongSwap/dateArray", + dateArray, + DateLongSwap.class, + /* Json */ "[-2172116928000]", + /* JsonT */ "[-2172116928000]", + /* JsonR */ "[\n\t-2172116928000\n]", + /* Xml */ "<array><number>-2172116928000</number></array>", + /* XmlT */ "<array><number>-2172116928000</number></array>", + /* XmlR */ "<array>\n\t<number>-2172116928000</number>\n</array>\n", + /* XmlNs */ "<array><number>-2172116928000</number></array>", + /* Html */ "<ul><li><number>-2172116928000</number></li></ul>", + /* HtmlT */ "<ul><li><number>-2172116928000</number></li></ul>", + /* HtmlR */ "<ul>\n\t<li><number>-2172116928000</number></li>\n</ul>\n", + /* Uon */ "@(-2172116928000)", + /* UonT */ "@(-2172116928000)", + /* UonR */ "@(\n\t-2172116928000\n)", + /* UrlEnc */ "_value=@(-2172116928000)", + /* UrlEncT */ "_value=@(-2172116928000)", + /* UrlEncR */ "_value=@(\n\t-2172116928000\n)", + /* MsgPack */ "91D3FFFFFE0643BDFA00", + /* MsgPackT */ "91D3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>-2172116928000</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>-2172116928000</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>-2172116928000</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + }, + { + "DateLongSwap/dateMap", + dateMap, + DateLongSwap.class, + /* Json */ "{foo:-2172116928000}", + /* JsonT */ "{foo:-2172116928000}", + /* JsonR */ "{\n\tfoo: -2172116928000\n}", + /* Xml */ "<object><foo _type='number'>-2172116928000</foo></object>", + /* XmlT */ "<object><foo t='number'>-2172116928000</foo></object>", + /* XmlR */ "<object>\n\t<foo _type='number'>-2172116928000</foo>\n</object>\n", + /* XmlNs */ "<object><foo _type='number'>-2172116928000</foo></object>", + /* Html */ "<table><tr><td>foo</td><td><number>-2172116928000</number></td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td><number>-2172116928000</number></td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td><number>-2172116928000</number></td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo=-2172116928000)", + /* UonT */ "(foo=-2172116928000)", + /* UonR */ "(\n\tfoo=-2172116928000\n)", + /* UrlEnc */ "foo=-2172116928000", + /* UrlEncT */ "foo=-2172116928000", + /* UrlEncR */ "foo=-2172116928000", + /* MsgPack */ "81A3666F6FD3FFFFFE0643BDFA00", + /* MsgPackT */ "81A3666F6FD3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>-2172116928000</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>-2172116928000</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>-2172116928000</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + }, + { + "DateMapSwap/singleDate", + singleDate, + DateMapSwap.class, + /* Json */ "{time:-2172116928000}", + /* JsonT */ "{time:-2172116928000}", + /* JsonR */ "{\n\ttime: -2172116928000\n}", + /* Xml */ "<object><time _type='number'>-2172116928000</time></object>", + /* XmlT */ "<object><time t='number'>-2172116928000</time></object>", + /* XmlR */ "<object>\n\t<time _type='number'>-2172116928000</time>\n</object>\n", + /* XmlNs */ "<object><time _type='number'>-2172116928000</time></object>", + /* Html */ "<table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table>", + /* HtmlT */ "<table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>time</td>\n\t\t<td><number>-2172116928000</number></td>\n\t</tr>\n</table>\n", + /* Uon */ "(time=-2172116928000)", + /* UonT */ "(time=-2172116928000)", + /* UonR */ "(\n\ttime=-2172116928000\n)", + /* UrlEnc */ "time=-2172116928000", + /* UrlEncT */ "time=-2172116928000", + /* UrlEncR */ "time=-2172116928000", + /* MsgPack */ "81A474696D65D3FFFFFE0643BDFA00", + /* MsgPackT */ "81A474696D65D3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:time>-2172116928000</jp:time>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:time>-2172116928000</jp:time>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:time>-2172116928000</jp:time>\n </rdf:Description>\n</rdf:RDF>\n", + }, + { + "DateMapSwap/dateArray", + dateArray, + DateMapSwap.class, + /* Json */ "[{time:-2172116928000}]", + /* JsonT */ "[{time:-2172116928000}]", + /* JsonR */ "[\n\t{\n\t\ttime: -2172116928000\n\t}\n]", + /* Xml */ "<array><object><time _type='number'>-2172116928000</time></object></array>", + /* XmlT */ "<array><object><time t='number'>-2172116928000</time></object></array>", + /* XmlR */ "<array>\n\t<object>\n\t\t<time _type='number'>-2172116928000</time>\n\t</object>\n</array>\n", + /* XmlNs */ "<array><object><time _type='number'>-2172116928000</time></object></array>", + /* Html */ "<ul><li><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></li></ul>", + /* HtmlT */ "<ul><li><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></li></ul>", + /* HtmlR */ "<ul>\n\t<li>\n\t\t<table>\n\t\t\t<tr>\n\t\t\t\t<td>time</td>\n\t\t\t\t<td><number>-2172116928000</number></td>\n\t\t\t</tr>\n\t\t</table>\n\t</li>\n</ul>\n", + /* Uon */ "@((time=-2172116928000))", + /* UonT */ "@((time=-2172116928000))", + /* UonR */ "@(\n\t(\n\t\ttime=-2172116928000\n\t)\n)", + /* UrlEnc */ "_value=@((time=-2172116928000))", + /* UrlEncT */ "_value=@((time=-2172116928000))", + /* UrlEncR */ "_value=@(\n\t(\n\t\ttime=-2172116928000\n\t)\n)", + /* MsgPack */ "9181A474696D65D3FFFFFE0643BDFA00", + /* MsgPackT */ "9181A474696D65D3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li rdf:parseType='Resource'>\n <jp:time>-2172116928000</jp:time>\n </rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + }, + { + "DateMapSwap/dateMap", + dateMap, + DateMapSwap.class, + /* Json */ "{foo:{time:-2172116928000}}", + /* JsonT */ "{foo:{time:-2172116928000}}", + /* JsonR */ "{\n\tfoo: {\n\t\ttime: -2172116928000\n\t}\n}", + /* Xml */ "<object><foo _type='object'><time _type='number'>-2172116928000</time></foo></object>", + /* XmlT */ "<object><foo t='object'><time t='number'>-2172116928000</time></foo></object>", + /* XmlR */ "<object>\n\t<foo _type='object'>\n\t\t<time _type='number'>-2172116928000</time>\n\t</foo>\n</object>\n", + /* XmlNs */ "<object><foo _type='object'><time _type='number'>-2172116928000</time></foo></object>", + /* Html */ "<table><tr><td>foo</td><td><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>\n\t\t\t<table>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>time</td>\n\t\t\t\t\t<td><number>-2172116928000</number></td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo=(time=-2172116928000))", + /* UonT */ "(foo=(time=-2172116928000))", + /* UonR */ "(\n\tfoo=(\n\t\ttime=-2172116928000\n\t)\n)", + /* UrlEnc */ "foo=(time=-2172116928000)", + /* UrlEncT */ "foo=(time=-2172116928000)", + /* UrlEncR */ "foo=(\n\ttime=-2172116928000\n)", + /* MsgPack */ "81A3666F6F81A474696D65D3FFFFFE0643BDFA00", + /* MsgPackT */ "81A3666F6F81A474696D65D3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo rdf:parseType='Resource'>\n <jp:time>-2172116928000</jp:time>\n </jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + }, + { + "DateSwap.DateMedium/singleDate", + singleDate, + DateSwap.DateMedium.class, + /* Json */ "'Mar 3, 1901'", + /* JsonT */ "'Mar 3, 1901'", + /* JsonR */ "'Mar 3, 1901'", + /* Xml */ "<string>Mar 3, 1901</string>", + /* XmlT */ "<string>Mar 3, 1901</string>", + /* XmlR */ "<string>Mar 3, 1901</string>\n", + /* XmlNs */ "<string>Mar 3, 1901</string>", + /* Html */ "<string>Mar 3, 1901</string>", + /* HtmlT */ "<string>Mar 3, 1901</string>", + /* HtmlR */ "<string>Mar 3, 1901</string>", + /* Uon */ "'Mar 3, 1901'", + /* UonT */ "'Mar 3, 1901'", + /* UonR */ "'Mar 3, 1901'", + /* UrlEnc */ "_value='Mar+3,+1901'", + /* UrlEncT */ "_value='Mar+3,+1901'", + /* UrlEncR */ "_value='Mar+3,+1901'", + /* MsgPack */ "AB4D617220332C2031393031", + /* MsgPackT */ "AB4D617220332C2031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Mar 3, 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Mar 3, 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>Mar 3, 1901</j:value>\n </rdf:Description>\n</rdf:RDF>\n", + }, + { + "DateSwap.DateMedium/dateArray", + dateArray, + DateSwap.DateMedium.class, + /* Json */ "['Mar 3, 1901']", + /* JsonT */ "['Mar 3, 1901']", + /* JsonR */ "[\n\t'Mar 3, 1901'\n]", + /* Xml */ "<array><string>Mar 3, 1901</string></array>", + /* XmlT */ "<array><string>Mar 3, 1901</string></array>", + /* XmlR */ "<array>\n\t<string>Mar 3, 1901</string>\n</array>\n", + /* XmlNs */ "<array><string>Mar 3, 1901</string></array>", + /* Html */ "<ul><li>Mar 3, 1901</li></ul>", + /* HtmlT */ "<ul><li>Mar 3, 1901</li></ul>", + /* HtmlR */ "<ul>\n\t<li>Mar 3, 1901</li>\n</ul>\n", + /* Uon */ "@('Mar 3, 1901')", + /* UonT */ "@('Mar 3, 1901')", + /* UonR */ "@(\n\t'Mar 3, 1901'\n)", + /* UrlEnc */ "_value=@('Mar+3,+1901')", + /* UrlEncT */ "_value=@('Mar+3,+1901')", + /* UrlEncR */ "_value=@(\n\t'Mar+3,+1901'\n)", + /* MsgPack */ "91AB4D617220332C2031393031", + /* MsgPackT */ "91AB4D617220332C2031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Mar 3, 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Mar 3, 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>Mar 3, 1901</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + }, + { + "DateSwap.DateMedium/dateMap", + dateMap, + DateSwap.DateMedium.class, + /* Json */ "{foo:'Mar 3, 1901'}", + /* JsonT */ "{foo:'Mar 3, 1901'}", + /* JsonR */ "{\n\tfoo: 'Mar 3, 1901'\n}", + /* Xml */ "<object><foo>Mar 3, 1901</foo></object>", + /* XmlT */ "<object><foo>Mar 3, 1901</foo></object>", + /* XmlR */ "<object>\n\t<foo>Mar 3, 1901</foo>\n</object>\n", + /* XmlNs */ "<object><foo>Mar 3, 1901</foo></object>", + /* Html */ "<table><tr><td>foo</td><td>Mar 3, 1901</td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td>Mar 3, 1901</td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Mar 3, 1901</td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo='Mar 3, 1901')", + /* UonT */ "(foo='Mar 3, 1901')", + /* UonR */ "(\n\tfoo='Mar 3, 1901'\n)", + /* UrlEnc */ "foo='Mar+3,+1901'", + /* UrlEncT */ "foo='Mar+3,+1901'", + /* UrlEncR */ "foo='Mar+3,+1901'", + /* MsgPack */ "81A3666F6FAB4D617220332C2031393031", + /* MsgPackT */ "81A3666F6FAB4D617220332C2031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Mar 3, 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Mar 3, 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>Mar 3, 1901</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + }, + }); + } + + private Class<?> swapClass; + + public DateSwapComboTest( + String label, + Object in, + Class<?> swapClass, + String oJson, String oJsonT, String oJsonR, + String oXml, String oXmlT, String oXmlR, String oXmlNs, + String oHtml, String oHtmlT, String oHtmlR, + String oUon, String oUonT, String oUonR, + String oUrlEncoding, String oUrlEncodingT, String oUrlEncodingR, + String oMsgPack, String oMsgPackT, + String oRdfXml, String oRdfXmlT, String oRdfXmlR + ) { + super( + label, + in, + oJson, oJsonT, oJsonR, + oXml, oXmlT, oXmlR, oXmlNs, + oHtml, oHtmlT, oHtmlR, + oUon, oUonT, oUonR, + oUrlEncoding, oUrlEncodingT, oUrlEncodingR, + oMsgPack, oMsgPackT, + oRdfXml, oRdfXmlT, oRdfXmlR + ); + this.swapClass = swapClass; + } + + @BeforeClass + public static void beforeClass() { + TestUtils.setTimeZone("PST"); + TestUtils.setLocale(Locale.US); + } + + @AfterClass + public static void afterClass() { + TestUtils.unsetTimeZone(); + TestUtils.unsetLocale(); + } + + @Override + protected Serializer applySettings(Serializer s) throws Exception { + if (s.isLocked()) + s = s.clone(); + return s.addPojoSwaps(swapClass); + } + + @Override + protected Parser applySettings(Parser p) throws Exception { + if (p.isLocked()) + p = p.clone(); + return p.addPojoSwaps(swapClass); + } +} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e6b71aca/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapTest.java b/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapTest.java new file mode 100755 index 0000000..b0b57f0 --- /dev/null +++ b/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapTest.java @@ -0,0 +1,61 @@ +// *************************************************************************************************************************** +// * 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.juneau.transforms; + +import java.util.*; + +import org.apache.juneau.*; +import org.apache.juneau.json.*; +import org.junit.*; + +@SuppressWarnings({"javadoc"}) +public class DateSwapTest { + + @BeforeClass + public static void beforeClass() { + TestUtils.setTimeZone("GMT-5"); + } + + @AfterClass + public static void afterClass() { + TestUtils.unsetTimeZone(); + } + + //==================================================================================================== + //==================================================================================================== + @Test + public void testBeanWithDate() throws Exception { + A testBeanA = new A().init(); + + final String jsonData = new JsonSerializer().addPojoSwaps( + DateSwap.ISO8601DT.class).serialize(testBeanA); + final ObjectMap data = new JsonParser().addPojoSwaps( + DateSwap.ISO8601DT.class).parse(jsonData, ObjectMap.class); + + final DateSwap.ISO8601DT dateSwap = new DateSwap.ISO8601DT(); + // this works + final String sValue = data.getString("birthday"); //$NON-NLS-1$ + dateSwap.unswap(null, sValue, data.getBeanSession().getClassMeta(Date.class)); + // this does not work + data.get(dateSwap, "birthday"); //$NON-NLS-1$ + } + + public static class A { + public Date birthday; + + public A init() { + birthday = new Date(); + return this; + } + } +} \ No newline at end of file
