forked from phoedos/pmd
Port ruby tests
TODO there's a bug
This commit is contained in:
@@ -26,10 +26,20 @@
|
||||
<artifactId>junit</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.pmd</groupId>
|
||||
<artifactId>pmd-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.pmd</groupId>
|
||||
<artifactId>pmd-lang-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
@@ -4,36 +4,31 @@
|
||||
|
||||
package net.sourceforge.pmd.cpd;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import net.sourceforge.pmd.testframework.AbstractTokenizerTest;
|
||||
import net.sourceforge.pmd.cpd.test.CpdTextComparisonTest;
|
||||
|
||||
public class RubyTokenizerTest extends AbstractTokenizerTest {
|
||||
public class RubyTokenizerTest extends CpdTextComparisonTest {
|
||||
|
||||
@Before
|
||||
@Override
|
||||
public void buildTokenizer() {
|
||||
this.tokenizer = new RubyTokenizer();
|
||||
this.sourceCode = new SourceCode(new SourceCode.StringCodeLoader(this.getSampleCode(), "server.rb"));
|
||||
public RubyTokenizerTest() {
|
||||
super(".rb");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSampleCode() {
|
||||
try {
|
||||
return IOUtils.toString(RubyTokenizerTest.class.getResourceAsStream("server.rb"), StandardCharsets.UTF_8);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
protected String getResourcePrefix() {
|
||||
return "../lang/ruby/cpd/testdata";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tokenizer newTokenizer(Properties properties) {
|
||||
return new RubyTokenizer();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void tokenizeTest() throws IOException {
|
||||
this.expectedTokenCount = 30;
|
||||
super.tokenizeTest();
|
||||
public void testSimple() {
|
||||
doTest("server");
|
||||
}
|
||||
}
|
||||
|
||||
45
pmd-ruby/src/test/resources/net/sourceforge/pmd/lang/ruby/cpd/testdata/server.txt
vendored
Normal file
45
pmd-ruby/src/test/resources/net/sourceforge/pmd/lang/ruby/cpd/testdata/server.txt
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
[Image] or [Truncated image[ Bcol Ecol
|
||||
L1
|
||||
[require] 0 6
|
||||
["socket"] 9 16
|
||||
L3
|
||||
[gs] 0 1
|
||||
[=] 3 3
|
||||
[tcpserver.open] 5 18
|
||||
[0] 20 20
|
||||
L4
|
||||
[addr] 0 3
|
||||
[=] 5 5
|
||||
[gs.addr] 7 13
|
||||
L5
|
||||
[addr.shift] 0 9
|
||||
L7
|
||||
[true] 6 9
|
||||
L8
|
||||
[ns] 2 3
|
||||
[=] 5 5
|
||||
[gs.accept] 7 15
|
||||
L9
|
||||
[print] 2 6
|
||||
[ns] 8 9
|
||||
[" is accepted"] 13 26
|
||||
L10
|
||||
[thread.start] 2 13
|
||||
L11
|
||||
[s] 4 4
|
||||
[=] 6 6
|
||||
[ns] 8 9
|
||||
[ # save to dynamic variable] 31 57
|
||||
L12
|
||||
[s.gets] 10 15
|
||||
L13
|
||||
[s.write] 6 12
|
||||
[$_] 14 15
|
||||
L15
|
||||
[print] 4 8
|
||||
[s] 10 10
|
||||
L18
|
||||
[" is gone [ -46 39
|
||||
L19
|
||||
[s.close] 4 10
|
||||
EOF
|
||||
Reference in New Issue
Block a user