summaryrefslogtreecommitdiff
path: root/_test/cases
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2010-07-01 19:43:47 +0200
committerAndreas Gohr <andi@splitbrain.org>2010-07-01 19:44:41 +0200
commit8a52cdf35af9a714e9b330fa0aace6606b071c89 (patch)
tree872636282283720b856cfc2a19296d25646fd0ef /_test/cases
parent138cf4d45bdc87d14db5c07e22685c0482085c1f (diff)
downloadrpg-8a52cdf35af9a714e9b330fa0aace6606b071c89.tar.gz
rpg-8a52cdf35af9a714e9b330fa0aace6606b071c89.tar.bz2
XML-RPC fix for untyped string values FS#1993
includes unit tests. Extensions welcome.
Diffstat (limited to '_test/cases')
-rw-r--r--_test/cases/inc/IXR_Library_IXR_Message.test.php139
1 files changed, 139 insertions, 0 deletions
diff --git a/_test/cases/inc/IXR_Library_IXR_Message.test.php b/_test/cases/inc/IXR_Library_IXR_Message.test.php
new file mode 100644
index 000000000..2a8133230
--- /dev/null
+++ b/_test/cases/inc/IXR_Library_IXR_Message.test.php
@@ -0,0 +1,139 @@
+<?php
+require_once DOKU_INC.'inc/IXR_Library.php';
+
+class ixr_library_ixr_message_test extends UnitTestCase {
+
+
+
+
+
+ function test_untypedvalue1(){
+ $xml = '<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>wiki.getBackLinks</methodName><params><param><value> change </value></param></params></methodCall>';
+
+ $ixrmsg = new IXR_Message($xml);
+ $ixrmsg->parse();
+
+ $this->assertEqual($ixrmsg->messageType,'methodCall');
+ $this->assertEqual($ixrmsg->methodName,'wiki.getBackLinks');
+ $this->assertEqual($ixrmsg->params,array(' change '));
+ }
+
+ function test_untypedvalue2(){
+ $xml = '<?xml version="1.0" encoding="UTF-8"?>
+ <methodCall>
+ <methodName>wiki.getBackLinks</methodName>
+ <params>
+ <param>
+ <value> change </value>
+ </param>
+ </params>
+ </methodCall>';
+
+ $ixrmsg = new IXR_Message($xml);
+ $ixrmsg->parse();
+
+ $this->assertEqual($ixrmsg->messageType,'methodCall');
+ $this->assertEqual($ixrmsg->methodName,'wiki.getBackLinks');
+ $this->assertEqual($ixrmsg->params,array(' change '));
+ }
+
+ function test_stringvalue1(){
+ $xml = '<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>wiki.getBackLinks</methodName><params><param><value><string> change </string></value></param></params></methodCall>';
+
+ $ixrmsg = new IXR_Message($xml);
+ $ixrmsg->parse();
+
+ $this->assertEqual($ixrmsg->messageType,'methodCall');
+ $this->assertEqual($ixrmsg->methodName,'wiki.getBackLinks');
+ $this->assertEqual($ixrmsg->params,array(' change '));
+ }
+
+ function test_stringvalue2(){
+ $xml = '<?xml version="1.0" encoding="UTF-8"?>
+ <methodCall>
+ <methodName>wiki.getBackLinks</methodName>
+ <params>
+ <param>
+ <value>
+ <string> change </string>
+ </value>
+ </param>
+ </params>
+ </methodCall>';
+
+ $ixrmsg = new IXR_Message($xml);
+ $ixrmsg->parse();
+
+ $this->assertEqual($ixrmsg->messageType,'methodCall');
+ $this->assertEqual($ixrmsg->methodName,'wiki.getBackLinks');
+ $this->assertEqual($ixrmsg->params,array(' change '));
+ }
+
+ function test_emptyvalue1(){
+ $xml = '<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>wiki.getBackLinks</methodName><params><param><value><string></string></value></param></params></methodCall>';
+
+ $ixrmsg = new IXR_Message($xml);
+ $ixrmsg->parse();
+
+ $this->assertEqual($ixrmsg->messageType,'methodCall');
+ $this->assertEqual($ixrmsg->methodName,'wiki.getBackLinks');
+ $this->assertEqual($ixrmsg->params,array(''));
+ }
+
+ function test_emptyvalue2(){
+ $xml = '<?xml version="1.0" encoding="UTF-8"?>
+ <methodCall>
+ <methodName>wiki.getBackLinks</methodName>
+ <params>
+ <param>
+ <value>
+ <string></string>
+ </value>
+ </param>
+ </params>
+ </methodCall>';
+
+ $ixrmsg = new IXR_Message($xml);
+ $ixrmsg->parse();
+
+ $this->assertEqual($ixrmsg->messageType,'methodCall');
+ $this->assertEqual($ixrmsg->methodName,'wiki.getBackLinks');
+ $this->assertEqual($ixrmsg->params,array(''));
+ }
+
+ function test_struct(){
+ $xml = '<?xml version=\'1.0\'?>
+ <methodCall>
+ <methodName>wiki.putPage</methodName>
+ <params>
+ <param>
+ <value><string>start</string></value>
+ </param>
+ <param>
+ <value><string>test text</string></value>
+ </param>
+ <param>
+ <value><struct>
+ <member>
+ <name>sum</name>
+ <value><string>xmlrpc edit</string></value>
+ </member>
+ <member>
+ <name>minor</name>
+ <value><string>1</string></value>
+ </member>
+ </struct></value>
+ </param>
+ </params>
+ </methodCall>';
+
+ $ixrmsg = new IXR_Message($xml);
+ $ixrmsg->parse();
+
+ $this->assertEqual($ixrmsg->messageType,'methodCall');
+ $this->assertEqual($ixrmsg->methodName,'wiki.putPage');
+ $this->assertEqual($ixrmsg->params,array('start','test text',array('sum'=>'xmlrpc edit','minor'=>'1')));
+ }
+
+}
+//Setup VIM: ex: et ts=4 enc=utf-8 :