forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace PharIo\Manifest;
 | |
| 
 | |
| use DOMDocument;
 | |
| use DOMElement;
 | |
| 
 | |
| class ContainsElementTest extends \PHPUnit\Framework\TestCase {
 | |
|     /**
 | |
|      * @var DOMElement
 | |
|      */
 | |
|     private $domElement;
 | |
| 
 | |
|     /**
 | |
|      * @var ContainsElement
 | |
|      */
 | |
|     private $contains;
 | |
| 
 | |
|     protected function setUp() {
 | |
|         $dom = new DOMDocument();
 | |
|         $dom->loadXML('<?xml version="1.0" ?><php xmlns="https://phar.io/xml/manifest/1.0" name="phpunit/phpunit" version="5.6.5" type="application" />');
 | |
|         $this->domElement = $dom->documentElement;
 | |
|         $this->contains   = new ContainsElement($this->domElement);
 | |
|     }
 | |
| 
 | |
|     public function testVersionCanBeRetrieved() {
 | |
|         $this->assertEquals('5.6.5', $this->contains->getVersion());
 | |
|     }
 | |
| 
 | |
|     public function testThrowsExceptionWhenVersionAttributeIsMissing() {
 | |
|         $this->domElement->removeAttribute('version');
 | |
|         $this->expectException(ManifestElementException::class);
 | |
|         $this->contains->getVersion();
 | |
|     }
 | |
| 
 | |
|     public function testNameCanBeRetrieved() {
 | |
|         $this->assertEquals('phpunit/phpunit', $this->contains->getName());
 | |
|     }
 | |
| 
 | |
|     public function testThrowsExceptionWhenNameAttributeIsMissing() {
 | |
|         $this->domElement->removeAttribute('name');
 | |
|         $this->expectException(ManifestElementException::class);
 | |
|         $this->contains->getName();
 | |
|     }
 | |
| 
 | |
|     public function testTypeCanBeRetrieved() {
 | |
|         $this->assertEquals('application', $this->contains->getType());
 | |
|     }
 | |
| 
 | |
|     public function testThrowsExceptionWhenTypeAttributeIsMissing() {
 | |
|         $this->domElement->removeAttribute('type');
 | |
|         $this->expectException(ManifestElementException::class);
 | |
|         $this->contains->getType();
 | |
|     }
 | |
| 
 | |
|     public function testGetExtensionElementReturnsExtensionElement() {
 | |
|         $this->domElement->appendChild(
 | |
|             $this->domElement->ownerDocument->createElementNS('https://phar.io/xml/manifest/1.0', 'extension')
 | |
|         );
 | |
|         $this->assertInstanceOf(ExtensionElement::class, $this->contains->getExtensionElement());
 | |
|     }
 | |
| 
 | |
| }
 |