public function testGeneratingAndFilters() { $this->object->addFileFilter(function ($code) { return strrev($code); }); $this->object->addFileFilter(function ($code, Compiler $compiler, $file) { return pathinfo($file, PATHINFO_FILENAME) . ':' . $code . ','; }); $this->object->addFilter(function ($code, Compiler $compiler) { return '-' . $code; }); $this->object->addFilter(function ($code) { return $code . $code; }); $expectedContent = '-' . PHP_EOL . 'a:cba,' . PHP_EOL . 'b:fed,' . PHP_EOL . 'c:ihg,-' . PHP_EOL . 'a:cba,' . PHP_EOL . 'b:fed,' . PHP_EOL . 'c:ihg,'; $files = $this->object->generate(); $this->assertTrue(is_numeric($files[0]->lastModified), 'Generate does not provide last modified timestamp correctly.'); $content = file_get_contents($this->object->getOutputDir() . '/' . $files[0]->file); $this->assertEquals($expectedContent, $content); }