Annotation of embedaddon/php/ext/soap/tests/bug48557.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #48557 (Numeric string keys in Apache Hashmaps are not cast to integers)
! 3: --SKIPIF--
! 4: <?php require_once('skipif.inc'); ?>
! 5: --FILE--
! 6: <?php
! 7: error_reporting(E_ALL);
! 8: ini_set('display_errors', 1);
! 9: ini_set("soap.wsdl_cache_enabled", 0);
! 10:
! 11: function test($map) {
! 12: var_dump($map, $map[1], $map[2]);die;
! 13: }
! 14:
! 15: $y = new SoapServer(dirname(__FILE__) . '/bug48557.wsdl');
! 16: $y->addfunction("test");
! 17: $request = <<<XML
! 18: <?xml version="1.0"?>
! 19: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
! 20: <SOAP-ENV:Body>
! 21: <ns1:test>
! 22: <testParam xsi:type="ns2:Map">
! 23: <item>
! 24: <key xsi:type="xsd:int">1</key>
! 25: <value xsi:type="xsd:int">123</value>
! 26: </item>
! 27: <item>
! 28: <key xsi:type="xsd:int">-1000</key>
! 29: <value xsi:type="xsd:string">123</value>
! 30: </item>
! 31: <item>
! 32: <key xsi:type="xsd:string">2</key>
! 33: <value xsi:type="xsd:float">123.5</value>
! 34: </item>
! 35: <item>
! 36: <key xsi:type="xsd:string">-2000</key>
! 37: <value xsi:type="xsd:float">123.5</value>
! 38: </item>
! 39: <item>
! 40: <key xsi:type="xsd:string">011</key>
! 41: <value xsi:type="xsd:float">123.5</value>
! 42: </item>
! 43: <item>
! 44: <key xsi:type="xsd:int">012</key>
! 45: <value xsi:type="xsd:float">123.5</value>
! 46: </item>
! 47: </testParam>
! 48: </ns1:test>
! 49: </SOAP-ENV:Body>
! 50: </SOAP-ENV:Envelope>
! 51: XML;
! 52:
! 53: $y->handle($request);
! 54:
! 55: ?>
! 56: ===DONE===
! 57: --EXPECTF--
! 58: array(6) {
! 59: [1]=>
! 60: int(123)
! 61: [-1000]=>
! 62: %string|unicode%(3) "123"
! 63: [2]=>
! 64: float(123.5)
! 65: [-2000]=>
! 66: float(123.5)
! 67: [%u|b%"011"]=>
! 68: float(123.5)
! 69: [12]=>
! 70: float(123.5)
! 71: }
! 72: int(123)
! 73: float(123.5)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>