Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
--TEST--
2
XMLRPCext Backend XML-RPC server Validator1 test (arrayOfStructsTest)
3
--SKIPIF--
4
<?php
5
if (!function_exists('xmlrpc_server_create')) {
6
    print "Skip XMLRPC extension unavailable";
7
}
8
?>
9
--FILE--
10
<?php
11
class TestServer {
12
    /**
13
     * test function
14
     *
15
     * see http://www.xmlrpc.com/validator1Docs
16
     *
17
     * @param array an array of structs
18
     * @return int result
19
     */
20
    public static function arrayOfStructsTest($array) {
21
        $result = 0;
22
        while (list(, $struct) = each($array)) {
23
        	if (isset($struct['curly'])) {
24
        		$result = $result + $struct['curly'];
25
        	}
26
        }
27
        return $result;
28
    }
29
}
30
 
31
set_include_path(realpath(dirname(__FILE__) . '/../../../../') . PATH_SEPARATOR . get_include_path());
32
require_once 'XML/RPC2/Server.php';
33
$options = array(
34
	'prefix' => 'validator1.',
35
	'backend' => 'Xmlrpcext'
36
);
37
 
38
$server = XML_RPC2_Server::create('TestServer', $options);
39
$GLOBALS['HTTP_RAW_POST_DATA'] = <<<EOS
40
<?xml version="1.0" encoding="iso-8859-1"?>
41
<methodCall>
42
<methodName>validator1.arrayOfStructsTest</methodName>
43
<params>
44
 <param>
45
  <value>
46
   <array>
47
    <data>
48
     <value>
49
      <struct>
50
       <member>
51
        <name>moe</name>
52
        <value>
53
         <int>5</int>
54
        </value>
55
       </member>
56
       <member>
57
        <name>larry</name>
58
        <value>
59
         <int>6</int>
60
        </value>
61
       </member>
62
       <member>
63
        <name>curly</name>
64
        <value>
65
         <int>8</int>
66
        </value>
67
       </member>
68
      </struct>
69
     </value>
70
     <value>
71
      <struct>
72
       <member>
73
        <name>moe</name>
74
        <value>
75
         <int>5</int>
76
        </value>
77
       </member>
78
       <member>
79
        <name>larry</name>
80
        <value>
81
         <int>2</int>
82
        </value>
83
       </member>
84
       <member>
85
        <name>curly</name>
86
        <value>
87
         <int>4</int>
88
        </value>
89
       </member>
90
      </struct>
91
     </value>
92
     <value>
93
      <struct>
94
       <member>
95
        <name>moe</name>
96
        <value>
97
         <int>0</int>
98
        </value>
99
       </member>
100
       <member>
101
        <name>larry</name>
102
        <value>
103
         <int>1</int>
104
        </value>
105
       </member>
106
       <member>
107
        <name>curly</name>
108
        <value>
109
         <int>12</int>
110
        </value>
111
       </member>
112
      </struct>
113
     </value>
114
    </data>
115
   </array>
116
  </value>
117
 </param>
118
</params>
119
</methodCall>
120
EOS
121
;
122
$response = $server->getResponse();
123
var_dump(XML_RPC2_Backend_Php_Response::decode(simplexml_load_string($response)));
124
?>
125
--EXPECT--
126
int(24)