/apache-log4j-1.2.17/tests/src/java/org/apache/log4j/LevelTest.java
Java | 267 lines | 119 code | 34 blank | 114 comment | 2 complexity | 41080b3ab0c136ccc902776c1d33ff6b MD5 | raw file
Possible License(s): Apache-2.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.log4j;
- import junit.framework.TestCase;
- import org.apache.log4j.util.SerializationTestHelper;
- import java.util.Locale;
- /**
- * Tests of Level.
- *
- * @author Curt Arnold
- * @since 1.2.12
- */
- public class LevelTest extends TestCase {
- /**
- * Constructs new instance of test.
- * @param name test name.
- */
- public LevelTest(final String name) {
- super(name);
- }
- /**
- * Serialize Level.INFO and check against witness.
- * @throws Exception if exception during test.
- *
- */
- public void testSerializeINFO() throws Exception {
- int[] skip = new int[] { };
- SerializationTestHelper.assertSerializationEquals(
- "witness/serialization/info.bin", Level.INFO, skip, Integer.MAX_VALUE);
- }
- /**
- * Deserialize witness and see if resolved to Level.INFO.
- * @throws Exception if exception during test.
- */
- public void testDeserializeINFO() throws Exception {
- Object obj =
- SerializationTestHelper.deserializeStream(
- "witness/serialization/info.bin");
- assertTrue(obj instanceof Level);
- Level info = (Level) obj;
- assertEquals("INFO", info.toString());
- //
- // JDK 1.1 doesn't support readResolve necessary for the assertion
- if (!System.getProperty("java.version").startsWith("1.1.")) {
- assertTrue(obj == Level.INFO);
- }
- }
- /**
- * Tests that a custom level can be serialized and deserialized
- * and is not resolved to a stock level.
- *
- * @throws Exception if exception during test.
- */
- public void testCustomLevelSerialization() throws Exception {
- CustomLevel custom = new CustomLevel();
- Object obj = SerializationTestHelper.serializeClone(custom);
- assertTrue(obj instanceof CustomLevel);
- CustomLevel clone = (CustomLevel) obj;
- assertEquals(Level.INFO.level, clone.level);
- assertEquals(Level.INFO.levelStr, clone.levelStr);
- assertEquals(Level.INFO.syslogEquivalent, clone.syslogEquivalent);
- }
- /**
- * Custom level to check that custom levels are
- * serializable, but not resolved to a plain Level.
- */
- private static class CustomLevel extends Level {
- private static final long serialVersionUID = 1L;
- /**
- * Create an instance of CustomLevel.
- */
- public CustomLevel() {
- super(
- Level.INFO.level, Level.INFO.levelStr, Level.INFO.syslogEquivalent);
- }
- }
- /**
- * Tests Level.TRACE_INT.
- */
- public void testTraceInt() {
- assertEquals(5000, Level.TRACE_INT);
- }
- /**
- * Tests Level.TRACE.
- */
- public void testTrace() {
- assertEquals("TRACE", Level.TRACE.toString());
- assertEquals(5000, Level.TRACE.toInt());
- assertEquals(7, Level.TRACE.getSyslogEquivalent());
- }
- /**
- * Tests Level.toLevel(Level.TRACE_INT).
- */
- public void testIntToTrace() {
- Level trace = Level.toLevel(5000);
- assertEquals("TRACE", trace.toString());
- }
- /**
- * Tests Level.toLevel("TRACE");
- */
- public void testStringToTrace() {
- Level trace = Level.toLevel("TRACE");
- assertEquals("TRACE", trace.toString());
- }
- /**
- * Tests that Level extends Priority.
- */
- public void testLevelExtendsPriority() {
- assertTrue(Priority.class.isAssignableFrom(Level.class));
- }
- /**
- * Tests Level.OFF.
- */
- public void testOFF() {
- assertTrue(Level.OFF instanceof Level);
- }
- /**
- * Tests Level.FATAL.
- */
- public void testFATAL() {
- assertTrue(Level.FATAL instanceof Level);
- }
- /**
- * Tests Level.ERROR.
- */
- public void testERROR() {
- assertTrue(Level.ERROR instanceof Level);
- }
- /**
- * Tests Level.WARN.
- */
- public void testWARN() {
- assertTrue(Level.WARN instanceof Level);
- }
- /**
- * Tests Level.INFO.
- */
- public void testINFO() {
- assertTrue(Level.INFO instanceof Level);
- }
- /**
- * Tests Level.DEBUG.
- */
- public void testDEBUG() {
- assertTrue(Level.DEBUG instanceof Level);
- }
- /**
- * Tests Level.TRACE.
- */
- public void testTRACE() {
- assertTrue(Level.TRACE instanceof Level);
- }
- /**
- * Tests Level.ALL.
- */
- public void testALL() {
- assertTrue(Level.ALL instanceof Level);
- }
- /**
- * Tests Level.serialVersionUID.
- */
- public void testSerialVersionUID() {
- assertEquals(3491141966387921974L, Level.serialVersionUID);
- }
- /**
- * Tests Level.toLevel(Level.All_INT).
- */
- public void testIntToAll() {
- Level level = Level.toLevel(Level.ALL_INT);
- assertEquals("ALL", level.toString());
- }
- /**
- * Tests Level.toLevel(Level.FATAL_INT).
- */
- public void testIntToFatal() {
- Level level = Level.toLevel(Level.FATAL_INT);
- assertEquals("FATAL", level.toString());
- }
- /**
- * Tests Level.toLevel(Level.OFF_INT).
- */
- public void testIntToOff() {
- Level level = Level.toLevel(Level.OFF_INT);
- assertEquals("OFF", level.toString());
- }
- /**
- * Tests Level.toLevel(17, Level.FATAL).
- */
- public void testToLevelUnrecognizedInt() {
- Level level = Level.toLevel(17, Level.FATAL);
- assertEquals("FATAL", level.toString());
- }
- /**
- * Tests Level.toLevel(null, Level.FATAL).
- */
- public void testToLevelNull() {
- Level level = Level.toLevel(null, Level.FATAL);
- assertEquals("FATAL", level.toString());
- }
- /**
- * Test that dotless lower I + "nfo" is recognized as INFO.
- */
- public void testDotlessLowerI() {
- Level level = Level.toLevel("\u0131nfo");
- assertEquals("INFO", level.toString());
- }
- /**
- * Test that dotted lower I + "nfo" is recognized as INFO
- * even in Turkish locale.
- */
- public void testDottedLowerI() {
- Locale defaultLocale = Locale.getDefault();
- Locale turkey = new Locale("tr", "TR");
- Locale.setDefault(turkey);
- Level level = Level.toLevel("info");
- Locale.setDefault(defaultLocale);
- assertEquals("INFO", level.toString());
- }
- }