1<?php
2
3namespace Sabre\Xml\Deserializer;
4
5use Sabre\Xml\Service;
6
7class EnumTest extends \PHPUnit_Framework_TestCase {
8
9    function testDeserialize() {
10
11        $service = new Service();
12        $service->elementMap['{urn:test}root'] = 'Sabre\Xml\Deserializer\enum';
13
14        $xml = <<<XML
15<?xml version="1.0"?>
16<root xmlns="urn:test">
17   <foo1/>
18   <foo2/>
19</root>
20XML;
21
22        $result = $service->parse($xml);
23
24        $expected = [
25            '{urn:test}foo1',
26            '{urn:test}foo2',
27        ];
28
29
30        $this->assertEquals($expected, $result);
31
32
33    }
34
35    function testDeserializeDefaultNamespace() {
36
37        $service = new Service();
38        $service->elementMap['{urn:test}root'] = function($reader) {
39            return enum($reader, 'urn:test');
40        };
41
42        $xml = <<<XML
43<?xml version="1.0"?>
44<root xmlns="urn:test">
45   <foo1/>
46   <foo2/>
47</root>
48XML;
49
50        $result = $service->parse($xml);
51
52        $expected = [
53            'foo1',
54            'foo2',
55        ];
56
57
58        $this->assertEquals($expected, $result);
59
60    }
61
62}
63