Mercurial > hg > isophonics-drupal-site
diff vendor/theseer/tokenizer/tests/XMLSerializerTest.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/theseer/tokenizer/tests/XMLSerializerTest.php Mon Apr 23 09:46:53 2018 +0100 @@ -0,0 +1,43 @@ +<?php declare(strict_types = 1); +namespace TheSeer\Tokenizer; + +use PHPUnit\Framework\TestCase; + +/** + * @covers \TheSeer\Tokenizer\XMLSerializer + */ +class XMLSerializerTest extends TestCase { + + /** @var TokenCollection $tokens */ + private $tokens; + + protected function setUp() { + $this->tokens = unserialize( + file_get_contents(__DIR__ . '/_files/test.php.tokens'), + [TokenCollection::class] + ); + } + + public function testCanBeSerializedToXml() { + $expected = file_get_contents(__DIR__ . '/_files/test.php.xml'); + + $serializer = new XMLSerializer(); + $this->assertEquals($expected, $serializer->toXML($this->tokens)); + } + + public function testCanBeSerializedToDomDocument() { + $serializer = new XMLSerializer(); + $result = $serializer->toDom($this->tokens); + + $this->assertInstanceOf(\DOMDocument::class, $result); + $this->assertEquals('source', $result->documentElement->localName); + } + + public function testCanBeSerializedToXmlWithCustomNamespace() { + $expected = file_get_contents(__DIR__ . '/_files/customns.xml'); + + $serializer = new XMLSerializer(new NamespaceUri('custom:xml:namespace')); + $this->assertEquals($expected, $serializer->toXML($this->tokens)); + } + +}