View Javadoc
1   /**
2    * Logback: the reliable, generic, fast and flexible logging framework.
3    * Copyright (C) 1999-2015, QOS.ch. All rights reserved.
4    *
5    * This program and the accompanying materials are dual-licensed under
6    * either the terms of the Eclipse Public License v1.0 as published by
7    * the Eclipse Foundation
8    *
9    *   or (per the licensee's choosing)
10   *
11   * under the terms of the GNU Lesser General Public License version 2.1
12   * as published by the Free Software Foundation.
13   */
14  package ch.qos.logback.classic.util;
15  
16  import org.junit.Test;
17  
18  import java.util.ArrayList;
19  import java.util.List;
20  
21  import static org.junit.Assert.assertEquals;
22  
23  public class LoggerNameUtilTest {
24  
25      @Test
26      public void smoke0() {
27          List<String> witnessList = new ArrayList<String>();
28          witnessList.add("a");
29          witnessList.add("b");
30          witnessList.add("c");
31          List<String> partList = LoggerNameUtil.computeNameParts("a.b.c");
32          assertEquals(witnessList, partList);
33      }
34  
35      @Test
36      public void smoke1() {
37          List<String> witnessList = new ArrayList<String>();
38          witnessList.add("com");
39          witnessList.add("foo");
40          witnessList.add("Bar");
41          List<String> partList = LoggerNameUtil.computeNameParts("com.foo.Bar");
42          assertEquals(witnessList, partList);
43      }
44  
45      @Test
46      public void emptyStringShouldReturnAListContainingOneEmptyString() {
47          List<String> witnessList = new ArrayList<String>();
48          witnessList.add("");
49          List<String> partList = LoggerNameUtil.computeNameParts("");
50          assertEquals(witnessList, partList);
51      }
52  
53      @Test
54      public void dotAtLastPositionShouldReturnAListWithAnEmptyStringAsLastElement() {
55          List<String> witnessList = new ArrayList<String>();
56          witnessList.add("com");
57          witnessList.add("foo");
58          witnessList.add("");
59  
60          List<String> partList = LoggerNameUtil.computeNameParts("com.foo.");
61          assertEquals(witnessList, partList);
62      }
63  
64      @Test
65      public void supportNestedClasses() {
66          List<String> witnessList = new ArrayList<String>();
67          witnessList.add("com");
68          witnessList.add("foo");
69          witnessList.add("Bar");
70          witnessList.add("Nested");
71  
72          List<String> partList = LoggerNameUtil.computeNameParts("com.foo.Bar$Nested");
73          assertEquals(witnessList, partList);
74      }
75  
76      @Test
77      public void supportNestedClassesWithNestedDot() {
78          // LOGBACK-384
79          List<String> witnessList = new ArrayList<String>();
80          witnessList.add("com");
81          witnessList.add("foo");
82          witnessList.add("Bar");
83          witnessList.add("Nested");
84          witnessList.add("dot");
85  
86          List<String> partList = LoggerNameUtil.computeNameParts("com.foo.Bar$Nested.dot");
87          assertEquals(witnessList, partList);
88      }
89  
90      @Test
91      public void supportNestedClassesAtBeginning() {
92          List<String> witnessList = new ArrayList<String>();
93          witnessList.add("foo");
94          witnessList.add("Nested");
95          witnessList.add("bar");
96  
97          List<String> partList = LoggerNameUtil.computeNameParts("foo$Nested.bar");
98          assertEquals(witnessList, partList);
99      }
100 
101 }