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 (countTheEntities)
3
--FILE--
4
<?php
5
class TestServer {
6
    /**
7
     * test function
8
     *
9
     * see http://www.xmlrpc.com/validator1Docs
10
     *
11
     * @param string a string
12
     * @return array result
13
     */
14
    public static function countTheEntities($string) {
15
        $ctLeftAngleBrackets = substr_count($string, '<');
16
        $ctRightAngleBrackets = substr_count($string, '>');
17
        $ctAmpersands = substr_count($string, '&');
18
        $ctApostrophes = substr_count($string, "'");
19
        $ctQuotes = substr_count($string, '"');
20
        return array(
21
        	'ctLeftAngleBrackets' => $ctLeftAngleBrackets,
22
        	'ctRightAngleBrackets' => $ctRightAngleBrackets,
23
        	'ctAmpersands' => $ctAmpersands,
24
        	'ctApostrophes' => $ctApostrophes,
25
        	'ctQuotes' => $ctQuotes
26
        );
27
    }
28
}
29
 
30
set_include_path(realpath(dirname(__FILE__) . '/../../../../') . PATH_SEPARATOR . get_include_path());
31
require_once 'XML/RPC2/Server.php';
32
$options = array(
33
	'prefix' => 'validator1.',
34
	'backend' => 'Php'
35
);
36
 
37
$server = XML_RPC2_Server::create('TestServer', $options);
38
$GLOBALS['HTTP_RAW_POST_DATA'] = <<<EOS
39
<?xml version="1.0" encoding="iso-8859-1"?>
40
<methodCall>
41
<methodName>validator1.countTheEntities</methodName>
42
<params>
43
 <param>
44
  <value>
45
   <string>foo &#60;&#60;&#60; bar '&#62; &#38;&#38; '' #fo&#62;o &#34; bar</string>
46
  </value>
47
 </param>
48
</params>
49
</methodCall>
50
EOS
51
;
52
$response = $server->getResponse();
53
$result = (XML_RPC2_Backend_Php_Response::decode(simplexml_load_string($response)));
54
var_dump($result['ctLeftAngleBrackets']);
55
var_dump($result['ctRightAngleBrackets']);
56
var_dump($result['ctAmpersands']);
57
var_dump($result['ctApostrophes']);
58
var_dump($result['ctQuotes']);
59
 
60
?>
61
--EXPECT--
62
int(3)
63
int(2)
64
int(2)
65
int(3)
66
int(1)