1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
<?php
namespace IXR\tests\Message;
use IXR\Message\Message;
use PHPUnit\Framework\TestCase;
class MessageTest extends TestCase
{
function testUntypedValue()
{
$xml = '<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>wiki.getBackLinks</methodName>
<params>
<param>
<value> change </value>
</param>
</params>
</methodCall>';
$ixrmsg = new Message($xml);
$ixrmsg->parse();
$this->assertEquals($ixrmsg->messageType, 'methodCall');
$this->assertEquals($ixrmsg->methodName, 'wiki.getBackLinks');
$this->assertEquals($ixrmsg->params, [' change ']);
}
function testStringValue()
{
$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 Message($xml);
$ixrmsg->parse();
$this->assertEquals($ixrmsg->messageType, 'methodCall');
$this->assertEquals($ixrmsg->methodName, 'wiki.getBackLinks');
$this->assertEquals($ixrmsg->params, [' change ']);
}
function testEmptyValue()
{
$xml = '<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>wiki.getBackLinks</methodName>
<params>
<param>
<value>
<string></string>
</value>
</param>
</params>
</methodCall>';
$ixrmsg = new Message($xml);
$ixrmsg->parse();
$this->assertEquals($ixrmsg->messageType, 'methodCall');
$this->assertEquals($ixrmsg->methodName, 'wiki.getBackLinks');
$this->assertEquals($ixrmsg->params, ['']);
}
function testStruct()
{
$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 Message($xml);
$ixrmsg->parse();
$this->assertEquals($ixrmsg->messageType, 'methodCall');
$this->assertEquals($ixrmsg->methodName, 'wiki.putPage');
$this->assertEquals($ixrmsg->params, ['start', 'test text ', ['sum' => 'xmlrpc edit', 'minor' => '1']]);
}
}
|