annotate vendor/theseer/tokenizer/tests/XMLSerializerTest.php @ 2:5311817fb629

Theme updates
author Chris Cannam
date Tue, 10 Jul 2018 13:19:18 +0000
parents
children
rev   line source
Chris@2 1 <?php declare(strict_types = 1);
Chris@2 2 namespace TheSeer\Tokenizer;
Chris@2 3
Chris@2 4 use PHPUnit\Framework\TestCase;
Chris@2 5
Chris@2 6 /**
Chris@2 7 * @covers \TheSeer\Tokenizer\XMLSerializer
Chris@2 8 */
Chris@2 9 class XMLSerializerTest extends TestCase {
Chris@2 10
Chris@2 11 /** @var TokenCollection $tokens */
Chris@2 12 private $tokens;
Chris@2 13
Chris@2 14 protected function setUp() {
Chris@2 15 $this->tokens = unserialize(
Chris@2 16 file_get_contents(__DIR__ . '/_files/test.php.tokens'),
Chris@2 17 [TokenCollection::class]
Chris@2 18 );
Chris@2 19 }
Chris@2 20
Chris@2 21 public function testCanBeSerializedToXml() {
Chris@2 22 $expected = file_get_contents(__DIR__ . '/_files/test.php.xml');
Chris@2 23
Chris@2 24 $serializer = new XMLSerializer();
Chris@2 25 $this->assertEquals($expected, $serializer->toXML($this->tokens));
Chris@2 26 }
Chris@2 27
Chris@2 28 public function testCanBeSerializedToDomDocument() {
Chris@2 29 $serializer = new XMLSerializer();
Chris@2 30 $result = $serializer->toDom($this->tokens);
Chris@2 31
Chris@2 32 $this->assertInstanceOf(\DOMDocument::class, $result);
Chris@2 33 $this->assertEquals('source', $result->documentElement->localName);
Chris@2 34 }
Chris@2 35
Chris@2 36 public function testCanBeSerializedToXmlWithCustomNamespace() {
Chris@2 37 $expected = file_get_contents(__DIR__ . '/_files/customns.xml');
Chris@2 38
Chris@2 39 $serializer = new XMLSerializer(new NamespaceUri('custom:xml:namespace'));
Chris@2 40 $this->assertEquals($expected, $serializer->toXML($this->tokens));
Chris@2 41 }
Chris@2 42
Chris@2 43 }