1   package org.slf4j.migrator.line;
2   
3   import org.slf4j.migrator.line.JCLRuleSet;
4   import org.slf4j.migrator.line.LineConverter;
5   import org.slf4j.migrator.line.Log4jRuleSet;
6   
7   import junit.framework.TestCase;
8   
9   public class NoConversionTest extends TestCase {
10  
11    /**
12     * This test shows that performing JCL to SLF4J conversion has no impact on
13     * Log4j implementation
14     */
15    public void testJclOverLog4jConversion() {
16      // running jcl to slf4j conversion
17      //JCLMatcher jclMatcher = 
18      LineConverter jclLineConverter = new LineConverter(new JCLRuleSet());
19      // no changes on log4j.LogManager import
20      assertEquals("import org.apache.log4j.LogManager;", jclLineConverter
21          .getOneLineReplacement("import org.apache.log4j.LogManager;"));
22      // no changes on log4j.Logger import
23      assertEquals("import org.apache.log4j.Logger;", jclLineConverter
24          .getOneLineReplacement("import org.apache.log4j.Logger;"));
25      // no changes on Logger instanciation using LogManager
26      assertEquals(
27          "Logger log = LogManager.getLogger(MyClass.class);",
28          jclLineConverter
29              .getOneLineReplacement("Logger log = LogManager.getLogger(MyClass.class);"));
30      // no changes on Logger instanciation using Logger.getLogger
31      assertEquals(
32          "public static Logger mylog1 = Logger.getLogger(MyClass.class);",
33          jclLineConverter
34              .getOneLineReplacement("public static Logger mylog1 = Logger.getLogger(MyClass.class);"));
35    }
36  
37    /**
38     * This test shows that performing Log4j to SLF4J conversion has no impact on
39     * JCL implementation
40     */
41    public void testLog4jOverJclConversion() {
42      // running log4j to slf4j conversion
43      LineConverter log4jConverter = new LineConverter(new Log4jRuleSet());
44      
45      // no changes on LogFactory import
46      assertEquals("import org.apache.commons.logging.LogFactory;", log4jConverter
47          .getOneLineReplacement("import org.apache.commons.logging.LogFactory;"));
48      // no changes on Log import
49      assertEquals("import org.apache.commons.logging.Log;", log4jConverter
50          .getOneLineReplacement("import org.apache.commons.logging.Log;"));
51      // no changes on Log instanciation using Logfactory.getLog
52      assertEquals(
53          "public static Log mylog1 = LogFactory.getLog(MyClass.class);",
54          log4jConverter
55              .getOneLineReplacement("public static Log mylog1 = LogFactory.getLog(MyClass.class);"));
56      // no changes on log instanciation using LogFactory.getFactory().getInstance
57      assertEquals(
58          "public Log mylog=LogFactory.getFactory().getInstance(MyClass.class);",
59          log4jConverter
60              .getOneLineReplacement("public Log mylog=LogFactory.getFactory().getInstance(MyClass.class);"));
61  
62    }
63  }