annotate vendor/theseer/tokenizer/tests/XMLSerializerTest.php @ 19:fa3358dc1485 tip

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