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>