function testManifestDumpsAssets()
{
$dir = vfsStream::setup('assets');
$env = new Environment();
$env->appendPath(__DIR__ . '/fixtures');
$asset = $env->find('asset1.js', array('bundled' => true));
$digestName = $asset->getDigestName();
$logger = new Logger('pipe');
$logger->pushHandler(new TestHandler());
$manifest = new Manifest($env, vfsStream::url('assets') . '/manifest.json');
$manifest->setLogger($logger);
$manifest->compress = true;
$manifest->compile('asset1.js');
$json = json_decode($manifest->toJSON(), true);
$this->assertEquals($digestName, $json["assets"]["asset1.js"]);
$fileInfo = $json['files'][$digestName];
$this->assertArrayHasKey('size', $fileInfo);
$this->assertArrayHasKey('logical_path', $fileInfo);
$this->assertArrayHasKey('content_type', $fileInfo);
$this->assertArrayHasKey('digest', $fileInfo);
$this->assertTrue($dir->hasChild('manifest.json'));
$this->assertTrue($dir->hasChild($digestName));
$this->assertTrue($dir->hasChild($digestName . '.gz'));
}