/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.cli;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.junit.Assert;
import org.junit.Test;
import net.sourceforge.pmd.PMD;
import net.sourceforge.pmd.PMDConfiguration;
import net.sourceforge.pmd.lang.DummyLanguageModule;
import net.sourceforge.pmd.lang.Language;
import net.sourceforge.pmd.util.datasource.DataSource;
public class PMDFilelistTest {
@Test
public void testGetApplicableFiles() {
Set<Language> languages = new HashSet<>();
languages.add(new DummyLanguageModule());
PMDConfiguration configuration = new PMDConfiguration();
configuration.setInputFilePath("src/test/resources/net/sourceforge/pmd/cli/filelist.txt");
List<DataSource> applicableFiles = PMD.getApplicableFiles(configuration, languages);
Assert.assertEquals(2, applicableFiles.size());
Assert.assertTrue(applicableFiles.get(0).getNiceFileName(false, "").endsWith("somefile.dummy"));
Assert.assertTrue(applicableFiles.get(1).getNiceFileName(false, "").endsWith("anotherfile.dummy"));
}
@Test
public void testGetApplicableFilesMultipleLines() {
Set<Language> languages = new HashSet<>();
languages.add(new DummyLanguageModule());
PMDConfiguration configuration = new PMDConfiguration();
configuration.setInputFilePath("src/test/resources/net/sourceforge/pmd/cli/filelist2.txt");
List<DataSource> applicableFiles = PMD.getApplicableFiles(configuration, languages);
Assert.assertEquals(3, applicableFiles.size());
Assert.assertTrue(applicableFiles.get(0).getNiceFileName(false, "").endsWith("somefile.dummy"));
Assert.assertTrue(applicableFiles.get(1).getNiceFileName(false, "").endsWith("anotherfile.dummy"));
Assert.assertTrue(applicableFiles.get(2).getNiceFileName(false, "").endsWith("somefile.dummy"));
}
}