Pipe\Test\ManifestTest::testManifestDumpsAssets PHP Method

testManifestDumpsAssets() public method

    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'));
    }