Annotation of embedaddon/php/ext/soap/tests/bug48557.phpt, revision 1.1.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>