1   package test.net.sourceforge.pmd.cpd;
2   
3   import junit.framework.TestCase;
4   import net.sourceforge.pmd.PMD;
5   import net.sourceforge.pmd.cpd.CPPTokenizer;
6   import net.sourceforge.pmd.cpd.SourceCode;
7   import net.sourceforge.pmd.cpd.Tokens;
8   
9   public class CPPTokenizerTest extends TestCase{
10  
11      public void testMultiLineMacros() throws Throwable {
12          CPPTokenizer tokenizer = new CPPTokenizer();
13          SourceCode code = new SourceCode(new SourceCode.StringCodeLoader(TEST1));
14          Tokens tokens = new Tokens();
15          tokenizer.tokenize(code, tokens);
16          assertEquals(7, tokens.size());
17      }
18  
19      private static final String TEST1 =
20      "#define FOO a +//" + PMD.EOL +
21      "            b +//" + PMD.EOL +
22      "            c +//" + PMD.EOL +
23      "            d +//" + PMD.EOL +
24      "            e +//" + PMD.EOL +
25      "            f +//" + PMD.EOL +
26      "            g"  + PMD.EOL +
27      " void main() {}";
28  
29  
30  }