Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

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