53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | 
 | ||
|  | namespace PharIo\Manifest; | ||
|  | 
 | ||
|  | use DOMDocument; | ||
|  | 
 | ||
|  | class CopyrightElementTest extends \PHPUnit\Framework\TestCase { | ||
|  |     /** | ||
|  |      * @var DOMDocument | ||
|  |      */ | ||
|  |     private $dom; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @var CopyrightElement | ||
|  |      */ | ||
|  |     private $copyright; | ||
|  | 
 | ||
|  |     protected function setUp() { | ||
|  |         $this->dom = new DOMDocument(); | ||
|  |         $this->dom->loadXML('<?xml version="1.0" ?><copyright xmlns="https://phar.io/xml/manifest/1.0" />'); | ||
|  |         $this->copyright = new CopyrightElement($this->dom->documentElement); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function testThrowsExceptionWhenGetAuthroElementsIsCalledButNodesAreMissing() { | ||
|  |         $this->expectException(ManifestElementException::class); | ||
|  |         $this->copyright->getAuthorElements(); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function testThrowsExceptionWhenGetLicenseElementIsCalledButNodeIsMissing() { | ||
|  |         $this->expectException(ManifestElementException::class); | ||
|  |         $this->copyright->getLicenseElement(); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function testGetAuthorElementsReturnsAuthorElementCollection() { | ||
|  |         $this->dom->documentElement->appendChild( | ||
|  |             $this->dom->createElementNS('https://phar.io/xml/manifest/1.0', 'author') | ||
|  |         ); | ||
|  |         $this->assertInstanceOf( | ||
|  |             AuthorElementCollection::class, $this->copyright->getAuthorElements() | ||
|  |         ); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function testGetLicenseElementReturnsLicenseElement() { | ||
|  |         $this->dom->documentElement->appendChild( | ||
|  |             $this->dom->createElementNS('https://phar.io/xml/manifest/1.0', 'license') | ||
|  |         ); | ||
|  |         $this->assertInstanceOf( | ||
|  |             LicenseElement::class, $this->copyright->getLicenseElement() | ||
|  |         ); | ||
|  |     } | ||
|  | 
 | ||
|  | } |