01: /**
02: * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
03: */package test.net.sourceforge.pmd.cpd;
04:
05: import static org.junit.Assert.assertEquals;
06: import net.sourceforge.pmd.PMD;
07: import net.sourceforge.pmd.cpd.JavaTokenizer;
08: import net.sourceforge.pmd.cpd.SourceCode;
09: import net.sourceforge.pmd.cpd.Tokenizer;
10: import net.sourceforge.pmd.cpd.Tokens;
11:
12: import org.junit.Test;
13:
14: public class JavaTokensTokenizerTest {
15:
16: @Test
17: public void test1() throws Throwable {
18: Tokenizer tokenizer = new JavaTokenizer();
19: SourceCode sourceCode = new SourceCode(
20: new SourceCode.StringCodeLoader("public class Foo {}"));
21: Tokens tokens = new Tokens();
22: tokenizer.tokenize(sourceCode, tokens);
23: assertEquals(6, tokens.size());
24: assertEquals("public class Foo {}", sourceCode.getSlice(1, 1));
25: }
26:
27: @Test
28: public void test2() throws Throwable {
29: Tokenizer t = new JavaTokenizer();
30: String data = "public class Foo {" + PMD.EOL
31: + "public void bar() {}" + PMD.EOL
32: + "public void buz() {}" + PMD.EOL + "}";
33: SourceCode sourceCode = new SourceCode(
34: new SourceCode.StringCodeLoader(data));
35: Tokens tokens = new Tokens();
36: t.tokenize(sourceCode, tokens);
37: assertEquals("public class Foo {" + PMD.EOL
38: + "public void bar() {}", sourceCode.getSlice(1, 2));
39: }
40:
41: @Test
42: public void testDiscardSemicolons() throws Throwable {
43: Tokenizer t = new JavaTokenizer();
44: SourceCode sourceCode = new SourceCode(
45: new SourceCode.StringCodeLoader(
46: "public class Foo {private int x;}"));
47: Tokens tokens = new Tokens();
48: t.tokenize(sourceCode, tokens);
49: assertEquals(9, tokens.size());
50: }
51:
52: @Test
53: public void testDiscardImports() throws Throwable {
54: Tokenizer t = new JavaTokenizer();
55: SourceCode sourceCode = new SourceCode(
56: new SourceCode.StringCodeLoader("import java.io.File;"
57: + PMD.EOL + "public class Foo {}"));
58: Tokens tokens = new Tokens();
59: t.tokenize(sourceCode, tokens);
60: assertEquals(6, tokens.size());
61: }
62:
63: @Test
64: public void testDiscardPkgStmts() throws Throwable {
65: Tokenizer t = new JavaTokenizer();
66: SourceCode sourceCode = new SourceCode(
67: new SourceCode.StringCodeLoader("package foo.bar.baz;"
68: + PMD.EOL + "public class Foo {}"));
69: Tokens tokens = new Tokens();
70: t.tokenize(sourceCode, tokens);
71: assertEquals(6, tokens.size());
72: }
73:
74: public static junit.framework.Test suite() {
75: return new junit.framework.JUnit4TestAdapter(
76: JavaTokensTokenizerTest.class);
77: }
78: }
|