KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > net > sourceforge > pmd > cpd > CPPTokenizerTest


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 JavaDoc {
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     public void testDollarSignInIdentifier() {
20         parse(TEST2);
21     }
22
23     public void testDollarSignStartingIdentifier() {
24         parse(TEST3);
25     }
26
27     public void testWideCharacters() {
28         parse(TEST4);
29     }
30
31     private void parse(String JavaDoc snippet) {
32         CPPTokenizer tokenizer = new CPPTokenizer();
33         SourceCode code = new SourceCode(new SourceCode.StringCodeLoader(snippet));
34         Tokens tokens = new Tokens();
35         tokenizer.tokenize(code, tokens);
36     }
37
38     private static final String JavaDoc TEST1 =
39             "#define FOO a +\\" + PMD.EOL +
40             " b +\\" + PMD.EOL +
41             " c +\\" + PMD.EOL +
42             " d +\\" + PMD.EOL +
43             " e +\\" + PMD.EOL +
44             " f +\\" + PMD.EOL +
45             " g" + PMD.EOL +
46             " void main() {}";
47
48     private static final String JavaDoc TEST2 =
49             " void main() { int x$y = 42; }";
50
51     private static final String JavaDoc TEST3 =
52             " void main() { int $x = 42; }";
53
54     private static final String JavaDoc TEST4 =
55             " void main() { char x = L'a'; }";
56
57
58 }
59
Popular Tags