1 | <?php |
||
19 | final class DeHydrationTest extends TestCase |
||
20 | { |
||
21 | public function testDehydration() |
||
22 | { |
||
23 | $doc = new DOMDocument('1.0', 'utf-8'); |
||
24 | $doc->formatOutput = false; |
||
25 | $doc->preserveWhiteSpace = false; |
||
26 | $doc->load(__DIR__ . '/xml/test1.xml'); |
||
27 | |||
28 | $mapper = new ClassMapper( |
||
29 | [ |
||
30 | 'Root' => TestRoot::class, |
||
31 | 'Person' => TestPerson::class, |
||
32 | 'Car' => TestCar::class, |
||
33 | 'Phone' => TestPhone::class, |
||
34 | 'Address' => TestAddress::class |
||
35 | ] |
||
36 | ); |
||
37 | $mapper->appendPattern('/^(?:soap\-?)?env(?:elope)?/iS', 'Root'); |
||
38 | |||
39 | $hydrator = new Hydrator($mapper); |
||
40 | $root = $hydrator->hydrate($doc); |
||
41 | |||
42 | $this->assertNotNull($root); |
||
43 | $this->assertInstanceOf(TestRoot::class, $root); |
||
44 | |||
45 | $node = $hydrator->assemble($root); |
||
46 | |||
47 | $this->assertEqualXMLStructure($doc->documentElement, $node->documentElement); |
||
48 | } |
||
49 | } |