Chris@14: loadXML(''); Chris@14: $this->domElement = $dom->documentElement; Chris@14: $this->contains = new ContainsElement($this->domElement); Chris@14: } Chris@14: Chris@14: public function testVersionCanBeRetrieved() { Chris@14: $this->assertEquals('5.6.5', $this->contains->getVersion()); Chris@14: } Chris@14: Chris@14: public function testThrowsExceptionWhenVersionAttributeIsMissing() { Chris@14: $this->domElement->removeAttribute('version'); Chris@14: $this->expectException(ManifestElementException::class); Chris@14: $this->contains->getVersion(); Chris@14: } Chris@14: Chris@14: public function testNameCanBeRetrieved() { Chris@14: $this->assertEquals('phpunit/phpunit', $this->contains->getName()); Chris@14: } Chris@14: Chris@14: public function testThrowsExceptionWhenNameAttributeIsMissing() { Chris@14: $this->domElement->removeAttribute('name'); Chris@14: $this->expectException(ManifestElementException::class); Chris@14: $this->contains->getName(); Chris@14: } Chris@14: Chris@14: public function testTypeCanBeRetrieved() { Chris@14: $this->assertEquals('application', $this->contains->getType()); Chris@14: } Chris@14: Chris@14: public function testThrowsExceptionWhenTypeAttributeIsMissing() { Chris@14: $this->domElement->removeAttribute('type'); Chris@14: $this->expectException(ManifestElementException::class); Chris@14: $this->contains->getType(); Chris@14: } Chris@14: Chris@14: public function testGetExtensionElementReturnsExtensionElement() { Chris@14: $this->domElement->appendChild( Chris@14: $this->domElement->ownerDocument->createElementNS('https://phar.io/xml/manifest/1.0', 'extension') Chris@14: ); Chris@14: $this->assertInstanceOf(ExtensionElement::class, $this->contains->getExtensionElement()); Chris@14: } Chris@14: Chris@14: }