Annotation of embedaddon/php/ext/soap/tests/bugs/bug36999.phpt, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>