File tree 1 file changed +26
-0
lines changed
1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -53,4 +53,30 @@ public function test10k(): void
53
53
$ this ->assertTrue ($ result ->isSuccess ());
54
54
$ this ->assertEquals (10000 , $ counter );
55
55
}
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
+ }
56
82
}
You can’t perform that action at this time.
0 commit comments