Port ruby tests

TODO there's a bug
This commit is contained in:
Clément Fournier
2020-06-13 22:08:53 +02:00
parent da764abb1e
commit 50725a95fc
8 changed files with 286 additions and 21 deletions

View File

@@ -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>

View File

@@ -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");
}
}

View 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