From 3546145ba18e825f20f2d273205b47be69fe29c9 Mon Sep 17 00:00:00 2001 From: Toon Verwerft Date: Thu, 11 Jun 2026 14:51:47 +0200 Subject: [PATCH] Add encode/decode test for repeating choice list members When a repeating group ref around a choice exposes its members as unbounded list elements, the encoder must write one sibling element per list item and the decoder must collect them back into arrays, including when the two branches are interleaved on the wire. Depends on goetas-webservices/xsd-reader#93, surfaced through php-soap/wsdl-reader#60. Until those are released and the dependency is bumped, the metadata is not produced as lists and this test fails. --- .../Implied/ImpliedSchema017Test.php | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 tests/PhpCompatibility/Implied/ImpliedSchema017Test.php diff --git a/tests/PhpCompatibility/Implied/ImpliedSchema017Test.php b/tests/PhpCompatibility/Implied/ImpliedSchema017Test.php new file mode 100644 index 0000000..997a626 --- /dev/null +++ b/tests/PhpCompatibility/Implied/ImpliedSchema017Test.php @@ -0,0 +1,70 @@ + + + + + + + + + + + + + EOXML; + protected string $type = 'type="tns:Message"'; + + protected function calculateParam(): mixed + { + return (object) [ + 'transactionId' => 'TX1', + 'delete' => ['A', 'B'], + 'write' => ['C'], + ]; + } + + protected function expectXml(): string + { + return << + + + TX1 + A + B + C + + + + XML; + } +}