From ed0269ef72e5467b73fc93fac56fb5a7e40cf176 Mon Sep 17 00:00:00 2001 From: Robert Burrell Donkin Date: Sun, 30 May 2004 10:32:25 +0000 Subject: [PATCH] New test case for simple log date time setting git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@139033 13f79535-47bb-0310-9956-ffa450edef68 --- build.xml | 16 ++++- .../logging/simple/CustomConfigTestCase.java | 20 ++++-- .../simple/DateTimeCustomConfigTestCase.java | 70 +++++++++++++++++++ .../logging/simple/DecoratedSimpleLog.java | 5 ++ 4 files changed, 105 insertions(+), 6 deletions(-) create mode 100644 src/test/org/apache/commons/logging/simple/DateTimeCustomConfigTestCase.java diff --git a/build.xml b/build.xml index 63e4901..b98a642 100644 --- a/build.xml +++ b/build.xml @@ -21,7 +21,7 @@ @@ -739,6 +739,20 @@ limitations under the License.-->'> + + + + + + + + + + * * @author Craig R. McClanahan - * @version $Revision: 1.5 $ $Date: 2004/05/29 10:43:35 $ + * @version $Revision: 1.6 $ $Date: 2004/05/30 10:32:25 $ */ - public class CustomConfigTestCase extends DefaultConfigTestCase { @@ -163,14 +162,25 @@ public class CustomConfigTestCase extends DefaultConfigTestCase { assertEquals(SimpleLog.LOG_LEVEL_DEBUG, ((SimpleLog) log).getLevel()); // Can we validate the extra exposed properties? - assertEquals("yyyy/MM/dd HH:mm:ss:SSS zzz", - ((DecoratedSimpleLog) log).getDateTimeFormat()); + checkDecoratedDateTime(); assertEquals("DecoratedLogger", ((DecoratedSimpleLog) log).getLogName()); - assertTrue(!((DecoratedSimpleLog) log).getShowDateTime()); + checkShowDateTime(); assertTrue(((DecoratedSimpleLog) log).getShowShortName()); } + + /** Hook for subclassses */ + protected void checkShowDateTime() { + assertTrue(!((DecoratedSimpleLog) log).getShowDateTime()); + } + + /** Hook for subclasses */ + protected void checkDecoratedDateTime() { + assertEquals("yyyy/MM/dd HH:mm:ss:SSS zzz", + ((DecoratedSimpleLog) log).getDateTimeFormat()); + } + // Check the actual log records against the expected ones diff --git a/src/test/org/apache/commons/logging/simple/DateTimeCustomConfigTestCase.java b/src/test/org/apache/commons/logging/simple/DateTimeCustomConfigTestCase.java new file mode 100644 index 0000000..6578559 --- /dev/null +++ b/src/test/org/apache/commons/logging/simple/DateTimeCustomConfigTestCase.java @@ -0,0 +1,70 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * 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 org.apache.commons.logging.simple; + +import java.util.Date; +import java.text.SimpleDateFormat; +import java.text.DateFormat; + +import junit.framework.Test; +import junit.framework.TestSuite; + + +/** + * Tests custom date time format configuration + */ +public class DateTimeCustomConfigTestCase extends CustomConfigTestCase { + + // ----------------------------------------------------------- Constructors + + /** + * Return the tests included in this test suite. + */ + public static Test suite() { + return (new TestSuite(DateTimeCustomConfigTestCase.class)); + } + + + /** + *

Construct a new instance of this test case.

+ * + * @param name Name of the test case + */ + public DateTimeCustomConfigTestCase(String name) { + super(name); + } + + // ----------------------------------------------------------- Methods + + /** Checks that the date time format has been successfully set */ + protected void checkDecoratedDateTime() { + assertEquals("Expected date format to be set", "dd.mm.yyyy", + ((DecoratedSimpleLog) log).getDateTimeFormat()); + + // try the formatter + Date now = new Date(); + DateFormat formatter = ((DecoratedSimpleLog) log).getDateTimeFormatter(); + SimpleDateFormat sampleFormatter = new SimpleDateFormat("dd.mm.yyyy"); + assertEquals("Date should be formatters to pattern dd.mm.yyyy", sampleFormatter.format(now), formatter.format(now)); + } + + /** Hook for subclassses */ + protected void checkShowDateTime() { + assertTrue(((DecoratedSimpleLog) log).getShowDateTime()); + } + +} \ No newline at end of file diff --git a/src/test/org/apache/commons/logging/simple/DecoratedSimpleLog.java b/src/test/org/apache/commons/logging/simple/DecoratedSimpleLog.java index 3e0f49a..75259dd 100644 --- a/src/test/org/apache/commons/logging/simple/DecoratedSimpleLog.java +++ b/src/test/org/apache/commons/logging/simple/DecoratedSimpleLog.java @@ -19,6 +19,7 @@ package org.apache.commons.logging.simple; import java.util.ArrayList; import java.util.List; +import java.text.DateFormat; import org.apache.commons.logging.impl.SimpleLog; @@ -40,6 +41,10 @@ public class DecoratedSimpleLog extends SimpleLog { // ------------------------------------------------------------- Properties + public DateFormat getDateTimeFormatter() { + return (dateFormatter); + } + public String getDateTimeFormat() { return (dateTimeFormat);