![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/tubalmartin/cssmin/tests/bin/ |
#!/usr/bin/env php <?php require __DIR__ . '/../../vendor/autoload.php'; use tubalmartin\CssMin\Minifier; use tubalmartin\CssMin\Tests\FineDiff\Render\Cli as CliRenderer; use cogpowered\FineDiff\Diff; $opts = getopt( 't:f:', array('keep-sourcemap', 'keep-sourcemap-comment', 'remove-important-comments', 'linebreak-position:') ); if (empty($opts['t'])) { fwrite( STDERR, 'You need to provide -t argument to run the specified test i.e. "php ./tests/bin/runner -t mui"' . PHP_EOL ); die(1); } $expectation = $opts['t']; $fixture = $expectation; if (!empty($opts['f'])) { $fixture = $opts['f']; } $fixtureFile = __DIR__ .'/../fixtures/'. $fixture .'.css'; $expectationFile = __DIR__ .'/../expectations/'. $expectation .'.css'; if (!is_readable($fixtureFile) || !is_readable($expectationFile)) { fwrite( STDERR, 'Either test fixture or expectation is missing or not readable' . PHP_EOL ); die(1); } $minifier = new Minifier; if (isset($opts['keep-sourcemap']) || isset($opts['keep-sourcemap-comment'])) { $minifier->keepSourceMapComment(); } if (isset($opts['remove-important-comments'])) { $minifier->removeImportantComments(); } if (!empty($opts['linebreak-position'])) { $minifier->setLineBreakPosition($opts['linebreak-position']); } $fixture = file_get_contents($fixtureFile); $expectation = file_get_contents($expectationFile); $output = $minifier->run($fixture); if (strcmp($output, $expectation) === 0) { fwrite( STDOUT, "\x1b[30m\x1b[42m OK \x1b[0m" . PHP_EOL ); die(0); } else { $diff = new Diff; $cliRenderer = new CliRenderer; $diffString = $cliRenderer->process($expectation, $diff->getOpcodes($expectation, $output)); fwrite( STDERR, "\x1b[37m\x1b[41m FAILURE \x1b[0m" . PHP_EOL . '---' . PHP_EOL . $diffString . PHP_EOL . '---' . PHP_EOL ); die(1); }