From f6d65e533c62f6deb21342d4901ece24497b433e Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Thu, 4 Jun 2015 07:31:04 +0200 Subject: Update to MediaWiki 1.25.1 --- vendor/leafo/lessphp/tests/InputTest.php | 89 ++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 vendor/leafo/lessphp/tests/InputTest.php (limited to 'vendor/leafo/lessphp/tests/InputTest.php') diff --git a/vendor/leafo/lessphp/tests/InputTest.php b/vendor/leafo/lessphp/tests/InputTest.php new file mode 100644 index 00000000..32db95bc --- /dev/null +++ b/vendor/leafo/lessphp/tests/InputTest.php @@ -0,0 +1,89 @@ + "outputs", + "inputs_lessjs" => "outputs_lessjs", + ); + + public function setUp() { + $this->less = new lessc(); + $this->less->importDir = array_map(function($path) { + return __DIR__ . "/" . $path; + }, self::$importDirs); + } + + /** + * @dataProvider fileNameProvider + */ + public function testInputFile($inFname) { + if ($pattern = getenv("BUILD")) { + return $this->buildInput($inFname); + } + + $outFname = self::outputNameFor($inFname); + + if (!is_readable($outFname)) { + $this->fail("$outFname is missing, ". + "consider building tests with BUILD=true"); + } + + $input = file_get_contents($inFname); + $output = file_get_contents($outFname); + + $this->assertEquals($output, $this->less->parse($input)); + } + + public function fileNameProvider() { + return array_map(function($a) { return array($a); }, + self::findInputNames()); + } + + // only run when env is set + public function buildInput($inFname) { + $css = $this->less->parse(file_get_contents($inFname)); + file_put_contents(self::outputNameFor($inFname), $css); + } + + static public function findInputNames($pattern="*.less") { + $files = array(); + foreach (self::$testDirs as $inputDir => $outputDir) { + $files = array_merge($files, glob(__DIR__ . "/" . $inputDir . "/" . $pattern)); + } + + return array_filter($files, "is_file"); + } + + static public function outputNameFor($input) { + $front = _quote(__DIR__ . "/"); + $out = preg_replace("/^$front/", "", $input); + + foreach (self::$testDirs as $inputDir => $outputDir) { + $in = _quote($inputDir . "/"); + $rewritten = preg_replace("/$in/", $outputDir . "/", $out); + if ($rewritten != $out) { + $out = $rewritten; + break; + } + } + + $out = preg_replace("/.less$/", ".css", $out); + + return __DIR__ . "/" . $out; + } +} + -- cgit v1.2.3-54-g00ecf