package com.github.sommeri.less4j.compiler; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.Collection; import org.apache.commons.io.IOUtils; import org.junit.runners.Parameterized.Parameters; import com.github.sommeri.less4j.AbstractFileBasedTest; import com.github.sommeri.less4j.Less4jException; import com.github.sommeri.less4j.LessCompiler; import com.github.sommeri.less4j.LessCompiler.CompilationResult; import com.github.sommeri.less4j.LessCompiler.Configuration; import com.github.sommeri.less4j.LessSource.StringSource;; public class ImportsUnknownInputFileTest extends AbstractFileBasedTest { private static final String standardCases = "src/test/resources/compile-basic-features/import/unknown-input-file/"; public ImportsUnknownInputFileTest(File inputFile, File outputFile, File errorList, File mapdataFile, File configFile, String testName) { super(inputFile, outputFile, errorList, mapdataFile, configFile, testName); } @Parameters(name = "Less: {4}") public static Collection<Object[]> allTestsParameters() { return createTestFileUtils().loadTestFiles(standardCases); } @Override protected CompilationResult compile(File lessFile, File cssOutput) throws Less4jException { try { String less = IOUtils.toString(new FileReader(lessFile)); LessCompiler compiler = getCompiler(); Configuration configuration = createConfiguration(cssOutput); CompilationResult actual = compiler.compile(new StringSource(less), configuration); return actual; } catch (IOException ex) { throw new RuntimeException("Can not read less file " + lessFile.getName(), ex); } } protected void assertSourceMapValid(CompilationResult actual) { //source map: turned off the test. Source map is incorrect when original less file name is unknown and source map validator is not ready for that. //It would be much better, if I would add less as "source content" property in that case, but it is not done as of now. } }