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