radarrplexorganizrnginxsonarrdashboardserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpc
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							110 lines
						
					
					
						
							3.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							110 lines
						
					
					
						
							3.6 KiB
						
					
					
				| <?php | |
| 
 | |
| namespace PharIo\Manifest; | |
| 
 | |
| class ManifestDocumentTest extends \PHPUnit_Framework_TestCase { | |
|     public function testThrowsExceptionWhenFileDoesNotExist() { | |
|         $this->expectException(ManifestDocumentException::class); | |
|         ManifestDocument::fromFile('/does/not/exist'); | |
|     } | |
| 
 | |
|     public function testCanBeCreatedFromFile() { | |
|         $this->assertInstanceOf( | |
|             ManifestDocument::class, | |
|             ManifestDocument::fromFile(__DIR__ . '/../_fixture/phpunit-5.6.5.xml') | |
|         ); | |
|     } | |
| 
 | |
|     public function testCaneBeConstructedFromString() { | |
|         $content = file_get_contents(__DIR__ . '/../_fixture/phpunit-5.6.5.xml'); | |
|         $this->assertInstanceOf( | |
|             ManifestDocument::class, | |
|             ManifestDocument::fromString($content) | |
|         ); | |
|     } | |
| 
 | |
|     public function testThrowsExceptionOnInvalidXML() { | |
|         $this->expectException(ManifestDocumentLoadingException::class); | |
|         ManifestDocument::fromString('<?xml version="1.0" ?><root>'); | |
|     } | |
| 
 | |
|     public function testLoadingDocumentWithWrongRootNameThrowsException() { | |
|         $this->expectException(ManifestDocumentException::class); | |
|         ManifestDocument::fromString('<?xml version="1.0" ?><root />'); | |
|     } | |
| 
 | |
|     public function testLoadingDocumentWithWrongNamespaceThrowsException() { | |
|         $this->expectException(ManifestDocumentException::class); | |
|         ManifestDocument::fromString('<?xml version="1.0" ?><phar xmlns="foo:bar" />'); | |
|     } | |
| 
 | |
|     public function testContainsElementCanBeRetrieved() { | |
|         $this->assertInstanceOf( | |
|             ContainsElement::class, | |
|             $this->loadFixture()->getContainsElement() | |
|         ); | |
|     } | |
| 
 | |
|     public function testRequiresElementCanBeRetrieved() { | |
|         $this->assertInstanceOf( | |
|             RequiresElement::class, | |
|             $this->loadFixture()->getRequiresElement() | |
|         ); | |
|     } | |
| 
 | |
|     public function testCopyrightElementCanBeRetrieved() { | |
|         $this->assertInstanceOf( | |
|             CopyrightElement::class, | |
|             $this->loadFixture()->getCopyrightElement() | |
|         ); | |
|     } | |
| 
 | |
|     public function testBundlesElementCanBeRetrieved() { | |
|         $this->assertInstanceOf( | |
|             BundlesElement::class, | |
|             $this->loadFixture()->getBundlesElement() | |
|         ); | |
|     } | |
| 
 | |
|     public function testThrowsExceptionWhenContainsIsMissing() { | |
|         $this->expectException(ManifestDocumentException::class); | |
|         $this->loadEmptyFixture()->getContainsElement(); | |
|     } | |
| 
 | |
|     public function testThrowsExceptionWhenCopyirhgtIsMissing() { | |
|         $this->expectException(ManifestDocumentException::class); | |
|         $this->loadEmptyFixture()->getCopyrightElement(); | |
|     } | |
| 
 | |
|     public function testThrowsExceptionWhenRequiresIsMissing() { | |
|         $this->expectException(ManifestDocumentException::class); | |
|         $this->loadEmptyFixture()->getRequiresElement(); | |
|     } | |
| 
 | |
|     public function testThrowsExceptionWhenBundlesIsMissing() { | |
|         $this->expectException(ManifestDocumentException::class); | |
|         $this->loadEmptyFixture()->getBundlesElement(); | |
|     } | |
| 
 | |
|     public function testHasBundlesReturnsTrueWhenBundlesNodeIsPresent() { | |
|         $this->assertTrue( | |
|             $this->loadFixture()->hasBundlesElement() | |
|         ); | |
|     } | |
| 
 | |
|     public function testHasBundlesReturnsFalseWhenBundlesNoNodeIsPresent() { | |
|         $this->assertFalse( | |
|             $this->loadEmptyFixture()->hasBundlesElement() | |
|         ); | |
|     } | |
| 
 | |
|     private function loadFixture() { | |
|         return ManifestDocument::fromFile(__DIR__ . '/../_fixture/phpunit-5.6.5.xml'); | |
|     } | |
| 
 | |
|     private function loadEmptyFixture() { | |
|         return ManifestDocument::fromString( | |
|             '<?xml version="1.0" ?><phar xmlns="https://phar.io/xml/manifest/1.0" />' | |
|         ); | |
|     } | |
| }
 | |
| 
 |