1   /*
2    * To change this template, choose Tools | Templates
3    * and open the template in the editor.
4    */
5   
6   package org.codehaus.mojo.scmchangelog.changelog.log.grammar;
7   
8   import junit.framework.TestCase;
9   import org.codehaus.mojo.scmchangelog.changelog.log.Message;
10  import org.codehaus.mojo.scmchangelog.changelog.log.ScmGrammar;
11  
12  /**
13   *
14   * @author ehsavoie
15   */
16  public class RemoveCommentsTest extends TestCase {
17      private ScmGrammar grammar = new AbstractScmGrammar()
18      {
19          public Message extractMessage( String content )
20          {
21              throw new UnsupportedOperationException( "Not supported yet." );
22          }
23  
24          public boolean hasMessage( String content )
25          {
26              throw new UnsupportedOperationException( "Not supported yet." );
27          }
28  
29          public String getIssueSeparator()
30          {
31              throw new UnsupportedOperationException( "Not supported yet." );
32          }
33      };
34  
35      public void testRemoveSimpleComment()
36      {
37          String content = "Hello World /* Bonjour le Monde */ my friend";
38          String result = grammar.removeComments( content );
39          assertEquals( "Hello World  my friend", result );
40        
41          content = "Hello World /**/ my friend";
42          result = grammar.removeComments( content );
43          assertEquals( "Hello World  my friend", result );
44  
45      }
46  
47       public void testRemoveMultistarsComment()
48      {
49          String content = "Hello World /*** Bonjour le Monde ***/ my friend";
50          String result = grammar.removeComments( content );
51          assertEquals( "Hello World  my friend", result );
52      }
53  
54  
55      public void testRemoveMultipleComment()
56      {
57          String content = "Hello World /* Bonjour le Monde */ my friend /*mon ami*/";
58          String result = grammar.removeComments( content );
59          assertEquals( "Hello World  my friend ", result );
60      }
61  
62      public void testRemoveNoComment()
63      {
64          String content = "Hello World my friend";
65          String result = grammar.removeComments( content );
66          assertEquals( "Hello World my friend", result );
67        
68          content = "Hello World my friend*/";
69          result = grammar.removeComments( content );
70          assertEquals( "Hello World my friend*/", result );
71  
72          content = "/*Hello World my friend";
73          result = grammar.removeComments( content );
74          assertEquals( "/*Hello World my friend", result );
75      }
76  
77      public void testRemoveIncludedComments()
78      {
79          String content = "Hello World /* Bonjour le Monde /*mon ami*/   */my friend";
80          String result = grammar.removeComments( content );
81          assertEquals( "Hello World    */my friend", result );
82      }
83  }