forked from phoedos/pmd
Merge branch 'pr-1621'
This commit is contained in:
@@ -8,9 +8,13 @@ import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import net.sourceforge.pmd.PMD;
|
||||
|
||||
public class MockedFileWriter implements FileWriter {
|
||||
|
||||
public static class FileEntry {
|
||||
@@ -43,4 +47,9 @@ public class MockedFileWriter implements FileWriter {
|
||||
public void reset() {
|
||||
data.clear();
|
||||
}
|
||||
|
||||
public static String normalizeLineSeparators(String s) {
|
||||
return s.replaceAll(Pattern.quote(IOUtils.LINE_SEPARATOR_WINDOWS), IOUtils.LINE_SEPARATOR_UNIX)
|
||||
.replaceAll(Pattern.quote(IOUtils.LINE_SEPARATOR_UNIX), PMD.EOL);
|
||||
}
|
||||
}
|
||||
|
@@ -67,6 +67,11 @@ public class RuleDocGeneratorTest {
|
||||
});
|
||||
}
|
||||
|
||||
private static String loadResource(String name) throws IOException {
|
||||
return MockedFileWriter.normalizeLineSeparators(
|
||||
IOUtils.toString(RuleDocGeneratorTest.class.getResourceAsStream(name), StandardCharsets.UTF_8));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSingleRuleset() throws RuleSetNotFoundException, IOException {
|
||||
RuleDocGenerator generator = new RuleDocGenerator(writer, root);
|
||||
@@ -82,17 +87,14 @@ public class RuleDocGeneratorTest {
|
||||
assertEquals(3, writer.getData().size());
|
||||
FileEntry languageIndex = writer.getData().get(0);
|
||||
assertTrue(FilenameUtils.normalize(languageIndex.getFilename(), true).endsWith("docs/pages/pmd/rules/java.md"));
|
||||
assertEquals(IOUtils.toString(RuleDocGeneratorTest.class.getResourceAsStream("/expected/java.md"), StandardCharsets.UTF_8),
|
||||
languageIndex.getContent());
|
||||
assertEquals(loadResource("/expected/java.md"), languageIndex.getContent());
|
||||
|
||||
FileEntry ruleSetIndex = writer.getData().get(1);
|
||||
assertTrue(FilenameUtils.normalize(ruleSetIndex.getFilename(), true).endsWith("docs/pages/pmd/rules/java/sample.md"));
|
||||
assertEquals(IOUtils.toString(RuleDocGeneratorTest.class.getResourceAsStream("/expected/sample.md"), StandardCharsets.UTF_8),
|
||||
ruleSetIndex.getContent());
|
||||
assertEquals(loadResource("/expected/sample.md"), ruleSetIndex.getContent());
|
||||
|
||||
FileEntry sidebar = writer.getData().get(2);
|
||||
assertTrue(FilenameUtils.normalize(sidebar.getFilename(), true).endsWith("docs/_data/sidebars/pmd_sidebar.yml"));
|
||||
assertEquals(IOUtils.toString(RuleDocGeneratorTest.class.getResourceAsStream("/expected/pmd_sidebar.yml"), StandardCharsets.UTF_8),
|
||||
sidebar.getContent());
|
||||
assertEquals(loadResource("/expected/pmd_sidebar.yml"), sidebar.getContent());
|
||||
}
|
||||
}
|
||||
|
@@ -55,6 +55,8 @@ public class SidebarGeneratorTest {
|
||||
}
|
||||
String yaml = new Yaml(options).dump(result);
|
||||
|
||||
assertEquals(IOUtils.toString(SidebarGeneratorTest.class.getResourceAsStream("sidebar.yml"), StandardCharsets.UTF_8), yaml);
|
||||
String expected = MockedFileWriter.normalizeLineSeparators(
|
||||
IOUtils.toString(SidebarGeneratorTest.class.getResourceAsStream("sidebar.yml"), StandardCharsets.UTF_8));
|
||||
assertEquals(expected, yaml);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user