| /* |
| * 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.pattern; |
| |
| import junit.framework.TestCase; |
| |
| |
| /** |
| * Tests for NameAbbrevator. |
| * |
| */ |
| public class NameAbbreviatorTest extends TestCase { |
| /** |
| * Create a new instance. |
| * |
| * @param name test name |
| */ |
| public NameAbbreviatorTest(final String name) { |
| super(name); |
| } |
| |
| /** |
| * Check that getDefaultAbbreviator does not return null. |
| * |
| */ |
| public void testGetDefault() { |
| NameAbbreviator abbrev = NameAbbreviator.getDefaultAbbreviator(); |
| assertNotNull(abbrev); |
| } |
| |
| /** |
| * Check that "0" drops all name content. |
| * |
| */ |
| public void testZero() { |
| NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("0"); |
| StringBuffer buf = new StringBuffer("DEBUG - "); |
| int fieldStart = buf.length(); |
| buf.append("org.example.foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - ", buf.toString()); |
| } |
| |
| /** |
| * Check that getAbbreviator(" ") returns default abbreviator. |
| * |
| */ |
| public void testBlank() { |
| NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(" "); |
| NameAbbreviator defaultAbbrev = NameAbbreviator.getDefaultAbbreviator(); |
| assertTrue(abbrev == defaultAbbrev); |
| } |
| |
| /** |
| * Check that getAbbreviator("1").abbreviate() drops all but the final name element. |
| * |
| */ |
| public void testOne() { |
| NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("1"); |
| StringBuffer buf = new StringBuffer("DEBUG - "); |
| int fieldStart = buf.length(); |
| buf.append("org.example.foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - ", buf.toString()); |
| } |
| |
| /** |
| * Check that blanks are trimmed in evaluating abbreviation pattern. |
| */ |
| public void testBlankOne() { |
| NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(" 1 "); |
| StringBuffer buf = new StringBuffer("DEBUG - "); |
| int fieldStart = buf.length(); |
| buf.append("org.example.foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - ", buf.toString()); |
| } |
| |
| /** |
| * Check that getAbbreviator("2").abbreviate drops all but the last two elements. |
| * |
| */ |
| public void testTwo() { |
| NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("2"); |
| StringBuffer buf = new StringBuffer("DEBUG - "); |
| int fieldStart = buf.length(); |
| buf.append("org.example.foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - foo.bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - foo.bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - bar", buf.toString()); |
| } |
| |
| /** |
| * Check that getAbbreviator("1.").abbreviate abbreviates non-final elements |
| * to one character. |
| * |
| */ |
| public void testOneDot() { |
| NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("1."); |
| StringBuffer buf = new StringBuffer("DEBUG - "); |
| int fieldStart = buf.length(); |
| buf.append("org.example.foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - o.e.f.bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("org.example.foo."); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - o.e.f.", buf.toString()); |
| |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - f.bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - ", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("."); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - .", buf.toString()); |
| } |
| |
| /** |
| * Check that getAbbreviator("1~.").abbreviate abbreviates non-final elements |
| * to one character and a tilde. |
| * |
| */ |
| public void testOneTildeDot() { |
| NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("1~."); |
| StringBuffer buf = new StringBuffer("DEBUG - "); |
| int fieldStart = buf.length(); |
| buf.append("org.example.foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - o~.e~.f~.bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("org.example.foo."); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - o~.e~.f~.", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - f~.bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - ", buf.toString()); |
| |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("."); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - .", buf.toString()); |
| |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("o.e.f.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - o.e.f.bar", buf.toString()); |
| } |
| |
| /** |
| * Check that getAbbreviator("1.*.2").abbreviate drops all but the first |
| * character from the first element, uses all of the second element and |
| * drops all but the first two characters of the rest of the non-final elements. |
| * |
| */ |
| public void testMulti() { |
| NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("1.*.2"); |
| StringBuffer buf = new StringBuffer("DEBUG - "); |
| int fieldStart = buf.length(); |
| buf.append("org.example.foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - o.example.fo.bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("org.example.foo."); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - o.example.fo.", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - f.bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - ", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("."); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - .", buf.toString()); |
| } |
| |
| /** |
| * Check that getAbbreviator("-1").abbreviate() drops first name element. |
| * |
| */ |
| public void testMinusOne() { |
| NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("-1"); |
| StringBuffer buf = new StringBuffer("DEBUG - "); |
| int fieldStart = buf.length(); |
| buf.append("org.example.foo.bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - example.foo.bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("bar"); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - bar", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - ", buf.toString()); |
| |
| buf.setLength(0); |
| buf.append("DEBUG - "); |
| fieldStart = buf.length(); |
| buf.append("."); |
| abbrev.abbreviate(fieldStart, buf); |
| assertEquals("DEBUG - ", buf.toString()); |
| |
| } |
| |
| } |