Annotation of embedaddon/php/ext/soap/tests/bugs/bug30928.phpt, revision 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>