/** * 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 */ public function concatenatedJsFileIsFlaggedToNotConcatenateAgain() { $fileName = 'fooFile.js'; $concatenatedFileName = 'merged_' . $fileName; $testFileFixture = array($fileName => array('file' => $fileName, 'excludeFromConcatenation' => FALSE, 'section' => 'top')); $this->subject->expects($this->once())->method('createMergedJsFile')->will($this->returnValue($concatenatedFileName)); $this->subject->setRelativePath(''); $result = $this->subject->concatenateJsFiles($testFileFixture); $this->assertArrayHasKey($concatenatedFileName, $result); $this->assertArrayHasKey('excludeFromConcatenation', $result[$concatenatedFileName]); $this->assertTrue($result[$concatenatedFileName]['excludeFromConcatenation']); }
/** * @test * @dataProvider calcStatementsDataProvider */ public function calcFunctionMustRetainWhitespaces($input, $expected) { $result = $this->subject->_call('compressCssString', $input); $this->assertSame($expected, trim($result)); }