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 (easyStructTest)
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 $struct a struct
18
     * @return int result
19
     */
20
    public static function easyStructTest($struct) {
21
        return ($struct['moe'] + $struct['larry'] + $struct['curly']);
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' => 'Xmlrpcext'
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.easyStructTest</methodName>
37
<params>
38
 <param>
39
  <value>
40
   <struct>
41
    <member>
42
     <name>moe</name>
43
     <value>
44
      <int>5</int>
45
     </value>
46
    </member>
47
    <member>
48
     <name>larry</name>
49
     <value>
50
      <int>6</int>
51
     </value>
52
    </member>
53
    <member>
54
     <name>curly</name>
55
     <value>
56
      <int>8</int>
57
     </value>
58
    </member>
59
   </struct>
60
  </value>
61
 </param>
62
</params>
63
</methodCall>
64
EOS
65
;
66
$response = $server->getResponse();
67
$result = (XML_RPC2_Backend_Php_Response::decode(simplexml_load_string($response)));
68
var_dump($result);
69
 
70
?>
71
--EXPECT--
72
int(19)