/** * Tests optimizing a CSS asset group. * * @test * @dataProvider compressCssFileContentDataProvider * @param string $cssFile * @param string $expected */ public function compressCssFileContent($cssFile, $expected) { $cssContent = file_get_contents($cssFile); $compressedCss = $this->subject->_call('compressCssString', $cssContent); // we have to fix relative paths, if we aren't working on a file in our target directory $relativeFilename = str_replace(PATH_site, '', $cssFile); if (strpos($relativeFilename, $this->subject->_get('targetDirectory')) === false) { $compressedCss = $this->subject->_call('cssFixRelativeUrlPaths', $compressedCss, dirname($relativeFilename) . '/'); } $this->assertEquals(file_get_contents($expected), $compressedCss, 'Group of file CSS assets optimized correctly.'); }
/** * @test * @dataProvider cssFixStatementsDataProvider */ public function cssFixStatementsMovesStatementsToTopIfNeeded($input, $expected) { $result = $this->subject->_call('cssFixStatements', $input); $resultWithReadableLinefeed = str_replace(LF, 'LF', $result); $this->assertEquals($expected, $resultWithReadableLinefeed); }
/** * @test * @dataProvider calcStatementsDataProvider */ public function calcFunctionMustRetainWhitespaces($input, $expected) { $result = $this->subject->_call('compressCssString', $input); $this->assertSame($expected, trim($result)); }