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 }
|