annotate vendor/phar-io/manifest/tests/xml/ContainsElementTest.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents 5311817fb629
children
rev   line source
Chris@2 1 <?php
Chris@2 2
Chris@2 3 namespace PharIo\Manifest;
Chris@2 4
Chris@2 5 use DOMDocument;
Chris@2 6 use DOMElement;
Chris@2 7
Chris@2 8 class ContainsElementTest extends \PHPUnit_Framework_TestCase {
Chris@2 9 /**
Chris@2 10 * @var DOMElement
Chris@2 11 */
Chris@2 12 private $domElement;
Chris@2 13
Chris@2 14 /**
Chris@2 15 * @var ContainsElement
Chris@2 16 */
Chris@2 17 private $contains;
Chris@2 18
Chris@2 19 protected function setUp() {
Chris@2 20 $dom = new DOMDocument();
Chris@2 21 $dom->loadXML('<?xml version="1.0" ?><php xmlns="https://phar.io/xml/manifest/1.0" name="phpunit/phpunit" version="5.6.5" type="application" />');
Chris@2 22 $this->domElement = $dom->documentElement;
Chris@2 23 $this->contains = new ContainsElement($this->domElement);
Chris@2 24 }
Chris@2 25
Chris@2 26 public function testVersionCanBeRetrieved() {
Chris@2 27 $this->assertEquals('5.6.5', $this->contains->getVersion());
Chris@2 28 }
Chris@2 29
Chris@2 30 public function testThrowsExceptionWhenVersionAttributeIsMissing() {
Chris@2 31 $this->domElement->removeAttribute('version');
Chris@2 32 $this->expectException(ManifestElementException::class);
Chris@2 33 $this->contains->getVersion();
Chris@2 34 }
Chris@2 35
Chris@2 36 public function testNameCanBeRetrieved() {
Chris@2 37 $this->assertEquals('phpunit/phpunit', $this->contains->getName());
Chris@2 38 }
Chris@2 39
Chris@2 40 public function testThrowsExceptionWhenNameAttributeIsMissing() {
Chris@2 41 $this->domElement->removeAttribute('name');
Chris@2 42 $this->expectException(ManifestElementException::class);
Chris@2 43 $this->contains->getName();
Chris@2 44 }
Chris@2 45
Chris@2 46 public function testTypeCanBeRetrieved() {
Chris@2 47 $this->assertEquals('application', $this->contains->getType());
Chris@2 48 }
Chris@2 49
Chris@2 50 public function testThrowsExceptionWhenTypeAttributeIsMissing() {
Chris@2 51 $this->domElement->removeAttribute('type');
Chris@2 52 $this->expectException(ManifestElementException::class);
Chris@2 53 $this->contains->getType();
Chris@2 54 }
Chris@2 55
Chris@2 56 public function testGetExtensionElementReturnsExtensionElement() {
Chris@2 57 $this->domElement->appendChild(
Chris@2 58 $this->domElement->ownerDocument->createElementNS('https://phar.io/xml/manifest/1.0', 'extension')
Chris@2 59 );
Chris@2 60 $this->assertInstanceOf(ExtensionElement::class, $this->contains->getExtensionElement());
Chris@2 61 }
Chris@2 62
Chris@2 63 }