Chris@14: assertXmlStringEqualsXmlString( Chris@14: $expected, Chris@14: $serializer->serializeToString($manifest) Chris@14: ); Chris@14: } Chris@14: Chris@14: public function dataProvider() { Chris@14: return [ Chris@14: 'application' => [file_get_contents(__DIR__ . '/_fixture/phpunit-5.6.5.xml')], Chris@14: 'library' => [file_get_contents(__DIR__ . '/_fixture/library.xml')], Chris@14: 'extension' => [file_get_contents(__DIR__ . '/_fixture/extension.xml')] Chris@14: ]; Chris@14: } Chris@14: Chris@14: /** Chris@14: * @uses \PharIo\Manifest\Library Chris@14: * @uses \PharIo\Manifest\ApplicationName Chris@14: */ Chris@14: public function testCanSerializeToFile() { Chris@14: $src = __DIR__ . '/_fixture/library.xml'; Chris@14: $dest = '/tmp/' . uniqid('serializer', true); Chris@14: $manifest = ManifestLoader::fromFile($src); Chris@14: $serializer = new ManifestSerializer(); Chris@14: $serializer->serializeToFile($manifest, $dest); Chris@14: $this->assertXmlFileEqualsXmlFile($src, $dest); Chris@14: unlink($dest); Chris@14: } Chris@14: Chris@14: /** Chris@14: * @uses \PharIo\Manifest\ApplicationName Chris@14: */ Chris@14: public function testCanHandleUnknownType() { Chris@14: $type = $this->getMockForAbstractClass(Type::class); Chris@14: $manifest = new Manifest( Chris@14: new ApplicationName('testvendor/testname'), Chris@14: new Version('1.0.0'), Chris@14: $type, Chris@14: new CopyrightInformation( Chris@14: new AuthorCollection(), Chris@14: new License('bsd-3', new Url('https://some/uri')) Chris@14: ), Chris@14: new RequirementCollection(), Chris@14: new BundledComponentCollection() Chris@14: ); Chris@14: Chris@14: $serializer = new ManifestSerializer(); Chris@14: $this->assertXmlStringEqualsXmlFile( Chris@14: __DIR__ . '/_fixture/custom.xml', Chris@14: $serializer->serializeToString($manifest) Chris@14: ); Chris@14: } Chris@14: }