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

1.1       misho       1: --TEST--
                      2: Bug #30928 (When Using WSDL, SoapServer doesn't handle private or protected properties)
                      3: --SKIPIF--
                      4: <?php require_once('skipif.inc'); ?>
                      5: --FILE--
                      6: <?php
                      7: ini_set("soap.wsdl_cache_enabled", 0);
                      8: 
                      9: class foo {
                     10:        public    $a="a";
                     11:        private   $b="b";
                     12:        protected $c="c";
                     13: }
                     14: 
                     15: function test($x) {
                     16:   return $x;
                     17: }
                     18: 
                     19: class LocalSoapClient extends SoapClient {
                     20: 
                     21:   function __construct($wsdl, $options) {
                     22:     parent::__construct($wsdl, $options);
                     23:     $this->server = new SoapServer($wsdl, $options);
                     24:     $this->server->addFunction('test');
                     25:   }
                     26: 
                     27:   function __doRequest($request, $location, $action, $version, $one_way = 0) {
                     28:     ob_start();
                     29:     $this->server->handle($request);
                     30:     $response = ob_get_contents();
                     31:     ob_end_clean();
                     32:     return $response;
                     33:   }
                     34: }
                     35: 
                     36: $x = new LocalSoapClient(dirname(__FILE__)."/bug30928.wsdl", 
                     37:                          array());
                     38: var_dump($x->test(new foo()));
                     39: 
                     40: $x = new LocalSoapClient(dirname(__FILE__)."/bug30928.wsdl", 
                     41:                          array("classmap" => array('testType'=>'foo')));
                     42: var_dump($x->test(new foo()));
                     43: 
                     44: echo "ok\n";
                     45: ?>
                     46: --EXPECTF--
                     47: object(stdClass)#%d (3) {
                     48:   ["a"]=>
                     49:   string(1) "a"
                     50:   ["b"]=>
                     51:   string(1) "b"
                     52:   ["c"]=>
                     53:   string(1) "c"
                     54: }
                     55: object(foo)#%d (3) {
                     56:   ["a"]=>
                     57:   string(1) "a"
                     58:   ["b":"foo":private]=>
                     59:   string(1) "b"
                     60:   ["c":protected]=>
                     61:   string(1) "c"
                     62: }
                     63: ok

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