Annotation of embedaddon/php/ext/xmlrpc/tests/bug50761.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #50761 (system.multiCall crashes)
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
! 5: --FILE--
! 6: <?php
! 7: $req = '<?xml version="1.0"?>
! 8: <methodCall>
! 9: <methodName>system.multiCall</methodName>
! 10: <params><param><value><array><data>
! 11: <value><struct>
! 12: <member><name>methodName</name><value><string>testMethodA</string></value></member>
! 13: <member><name>params</name><value><array><data><value><string>A</string>
! 14: </value></data></array></value></member>
! 15: </struct></value>
! 16: <value><struct>
! 17: <member><name>methodName</name><value><string>testMethodB</string></value></member>
! 18: <member><name>params</name><value><array><data><value><string>B</string>
! 19: </value></data></array></value></member>
! 20: </struct></value>
! 21: </data></array></value></param></params>
! 22: </methodCall>';
! 23:
! 24: function testA($methodName, $params, $var){ return "C"; }
! 25: function testB($methodName, $params, $var){ return "D"; }
! 26:
! 27: $server = xmlrpc_server_create();
! 28: xmlrpc_server_register_method($server, 'testMethodA', 'testA');
! 29: xmlrpc_server_register_method($server, 'testMethodB', 'testB');
! 30: $res = xmlrpc_server_call_method($server, $req, null);
! 31: echo $res;
! 32: ?>
! 33: --EXPECT--
! 34: <?xml version="1.0" encoding="iso-8859-1"?>
! 35: <methodResponse>
! 36: <params>
! 37: <param>
! 38: <value>
! 39: <array>
! 40: <data>
! 41: <value>
! 42: <array>
! 43: <data>
! 44: <value>
! 45: <string>C</string>
! 46: </value>
! 47: </data>
! 48: </array>
! 49: </value>
! 50: <value>
! 51: <array>
! 52: <data>
! 53: <value>
! 54: <string>D</string>
! 55: </value>
! 56: </data>
! 57: </array>
! 58: </value>
! 59: </data>
! 60: </array>
! 61: </value>
! 62: </param>
! 63: </params>
! 64: </methodResponse>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>