annotate vendor/phar-io/manifest/tests/ManifestLoaderTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 1fec387a4317
children
rev   line source
Chris@14 1 <?php
Chris@14 2
Chris@14 3 namespace PharIo\Manifest;
Chris@14 4
Chris@14 5 /**
Chris@14 6 * @covers \PharIo\Manifest\ManifestLoader
Chris@14 7 *
Chris@14 8 * @uses \PharIo\Manifest\Author
Chris@14 9 * @uses \PharIo\Manifest\AuthorCollection
Chris@14 10 * @uses \PharIo\Manifest\AuthorCollectionIterator
Chris@14 11 * @uses \PharIo\Manifest\AuthorElement
Chris@14 12 * @uses \PharIo\Manifest\AuthorElementCollection
Chris@14 13 * @uses \PharIo\Manifest\ApplicationName
Chris@14 14 * @uses \PharIo\Manifest\BundledComponent
Chris@14 15 * @uses \PharIo\Manifest\BundledComponentCollection
Chris@14 16 * @uses \PharIo\Manifest\BundledComponentCollectionIterator
Chris@14 17 * @uses \PharIo\Manifest\BundlesElement
Chris@14 18 * @uses \PharIo\Manifest\ComponentElement
Chris@14 19 * @uses \PharIo\Manifest\ComponentElementCollection
Chris@14 20 * @uses \PharIo\Manifest\ContainsElement
Chris@14 21 * @uses \PharIo\Manifest\CopyrightElement
Chris@14 22 * @uses \PharIo\Manifest\CopyrightInformation
Chris@14 23 * @uses \PharIo\Manifest\ElementCollection
Chris@14 24 * @uses \PharIo\Manifest\Email
Chris@14 25 * @uses \PharIo\Manifest\ExtElement
Chris@14 26 * @uses \PharIo\Manifest\ExtElementCollection
Chris@14 27 * @uses \PharIo\Manifest\License
Chris@14 28 * @uses \PharIo\Manifest\LicenseElement
Chris@14 29 * @uses \PharIo\Manifest\Manifest
Chris@14 30 * @uses \PharIo\Manifest\ManifestDocument
Chris@14 31 * @uses \PharIo\Manifest\ManifestDocumentMapper
Chris@14 32 * @uses \PharIo\Manifest\ManifestElement
Chris@14 33 * @uses \PharIo\Manifest\ManifestLoader
Chris@14 34 * @uses \PharIo\Manifest\PhpElement
Chris@14 35 * @uses \PharIo\Manifest\PhpExtensionRequirement
Chris@14 36 * @uses \PharIo\Manifest\PhpVersionRequirement
Chris@14 37 * @uses \PharIo\Manifest\RequirementCollection
Chris@14 38 * @uses \PharIo\Manifest\RequirementCollectionIterator
Chris@14 39 * @uses \PharIo\Manifest\RequiresElement
Chris@14 40 * @uses \PharIo\Manifest\Type
Chris@14 41 * @uses \PharIo\Manifest\Url
Chris@14 42 * @uses \PharIo\Version\Version
Chris@14 43 * @uses \PharIo\Version\VersionConstraint
Chris@14 44 */
Chris@14 45 class ManifestLoaderTest extends \PHPUnit_Framework_TestCase {
Chris@14 46 public function testCanBeLoadedFromFile() {
Chris@14 47 $this->assertInstanceOf(
Chris@14 48 Manifest::class,
Chris@14 49 ManifestLoader::fromFile(__DIR__ . '/_fixture/library.xml')
Chris@14 50 );
Chris@14 51 }
Chris@14 52
Chris@14 53 public function testCanBeLoadedFromString() {
Chris@14 54 $this->assertInstanceOf(
Chris@14 55 Manifest::class,
Chris@14 56 ManifestLoader::fromString(
Chris@14 57 file_get_contents(__DIR__ . '/_fixture/library.xml')
Chris@14 58 )
Chris@14 59 );
Chris@14 60 }
Chris@14 61
Chris@14 62 public function testCanBeLoadedFromPhar() {
Chris@14 63 $this->assertInstanceOf(
Chris@14 64 Manifest::class,
Chris@14 65 ManifestLoader::fromPhar(__DIR__ . '/_fixture/test.phar')
Chris@14 66 );
Chris@14 67
Chris@14 68 }
Chris@14 69
Chris@14 70 public function testLoadingNonExistingFileThrowsException() {
Chris@14 71 $this->expectException(ManifestLoaderException::class);
Chris@14 72 ManifestLoader::fromFile('/not/existing');
Chris@14 73 }
Chris@14 74
Chris@14 75 /**
Chris@14 76 * @uses \PharIo\Manifest\ManifestDocumentLoadingException
Chris@14 77 */
Chris@14 78 public function testLoadingInvalidXmlThrowsException() {
Chris@14 79 $this->expectException(ManifestLoaderException::class);
Chris@14 80 ManifestLoader::fromString('<?xml version="1.0" ?><broken>');
Chris@14 81 }
Chris@14 82
Chris@14 83 }