*
* @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);