Skip to content

Commit dc1a493

Browse files
author
Jaco Labuschagne
committed
add test
1 parent cbe50b7 commit dc1a493

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

tests/Integration/XmlReaderParserTest.php

+26
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,30 @@ public function test10k(): void
5353
$this->assertTrue($result->isSuccess());
5454
$this->assertEquals(10000, $counter);
5555
}
56+
57+
public function testCanParseXmlString(): void
58+
{
59+
$xmlString = <<<'XML'
60+
<?xml version="1.0"?>
61+
<root>
62+
<user>
63+
<name>name1</name>
64+
<age>1</age>
65+
</user>
66+
<user>
67+
<name>name2</name>
68+
<age>2</age>
69+
</user>
70+
</root>
71+
XML;
72+
73+
$parser = XmlReaderParser::create();
74+
$callback = $this->createClosureMock();
75+
$callback->expects($this->exactly(2))->method('__invoke')->with($this->isInstanceOf(SimpleXmlReaderInterface::class))->willReturn(true);
76+
$registerResult = $parser->registerCallback('/root/user', $callback);
77+
78+
$parseFileResult = $registerResult->flatMap(fn ($parser) => $parser->parseString($xmlString));
79+
80+
$this->assertTrue($parseFileResult->isSuccess());
81+
}
5682
}

0 commit comments

Comments
 (0)