Return to bug43045.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / soap / tests / bugs |
1.1 misho 1: --TEST-- 2: Bug #43045i (SOAP encoding violation on "INF" for type double/float) 3: --SKIPIF-- 4: <?php require_once('skipif.inc'); ?> 5: --FILE-- 6: <?php 7: function test($x) { 8: return $x; 9: } 10: 11: class TestSoapClient extends SoapClient { 12: function __construct($wsdl, $options) { 13: parent::__construct($wsdl, $options); 14: $this->server = new SoapServer($wsdl, $options); 15: $this->server->addFunction('test'); 16: } 17: function __doRequest($request, $location, $action, $version, $one_way = 0) { 18: ob_start(); 19: $this->server->handle($request); 20: $response = ob_get_contents(); 21: ob_end_clean(); 22: return $response; 23: 24: echo $request; 25: return '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 26: xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 27: xmlns:xsd="http://www.w3.org/2001/XMLSchema" 28: soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 29: xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 30: <soap:Body><testResponse xmlns="urn:TestSOAP"> 31: <s-gensym3> 32: <doubleInfinity xsi:type="xsd:double">INF</doubleInfinity> 33: </s-gensym3> 34: </testResponse> 35: </soap:Body></soap:Envelope>'; 36: } 37: } 38: $client = new TestSoapClient(NULL, array( 39: "location" => "test://", 40: "uri" => 'urn:TestSOAP', 41: "style" => SOAP_RPC, 42: "use" => SOAP_ENCODED 43: )); 44: var_dump($client->test(0.1)); 45: var_dump($client->test(NAN)); 46: var_dump($response = $client->test(INF)); 47: var_dump($response = $client->test(-INF)); 48: --EXPECT-- 49: float(0.1) 50: float(NAN) 51: float(INF) 52: float(-INF)