Return to bug36999.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / soap / tests / bugs |
1.1 misho 1: --TEST-- 2: Bug #36999 (xsd:long values clamped to LONG_MAX instead of using double) 3: --SKIPIF-- 4: <?php 5: if (!extension_loaded('soap')) die('skip soap extension not available'); 6: ?> 7: --INI-- 8: soap.wsdl_cache_enabled=0 9: --FILE-- 10: <?php 11: 12: function echoLong($num) { 13: return $num; 14: } 15: 16: class LocalSoapClient extends SoapClient { 17: 18: function __construct($wsdl) { 19: parent::__construct($wsdl); 20: $this->server = new SoapServer($wsdl); 21: $this->server->addFunction('echoLong'); 22: } 23: 24: function __doRequest($request, $location, $action, $version, $one_way = 0) { 25: ob_start(); 26: $this->server->handle($request); 27: $response = ob_get_contents(); 28: ob_end_clean(); 29: return $response; 30: } 31: 32: } 33: 34: $soap = new LocalSoapClient(dirname(__FILE__)."/bug36999.wsdl"); 35: 36: function test($num) { 37: global $soap; 38: try { 39: printf("%s %0.0f\n", gettype($num), $num); 40: $ret = $soap->echoLong($num); 41: printf("%s %0.0f\n", gettype($ret), $ret); 42: } catch (SoapFault $ex) { 43: var_dump($ex); 44: } 45: } 46: test(3706790240); 47: ?> 48: --EXPECTF-- 49: %s 3706790240 50: %s 3706790240