function findState($m)
{
global $stateNames;
+
$err = "";
// get the first param
$sno = $m->getParam(0);
function inner_findstate($stateNo)
{
global $stateNames;
+
if (isset($stateNames[$stateNo - 1])) {
return $stateNames[$stateNo - 1];
} else {
function stringEcho($m)
{
// just sends back a string
- $s = $m->getParam(0);
- $v = $s->scalarval();
-
- return new PhpXmlRpc\Response(new Value($s->scalarval()));
+ return new PhpXmlRpc\Response(new Value($m->getParam(0)->scalarval()));
}
$echoback_sig = array(array(Value::$xmlrpcString, Value::$xmlrpcString));
$echosixtyfour_doc = 'Accepts a base64 parameter and returns it decoded as a string';
function echoSixtyFour($m)
{
- // accepts an encoded value, but sends it back
- // as a normal string. this is to test base64 encoding
- // is working as expected
+ // Accepts an encoded value, but sends it back as a normal string.
+ // This is to test that base64 encoding is working as expected
$incoming = $m->getParam(0);
return new PhpXmlRpc\Response(new Value($incoming->scalarval(), "string"));
Value::$xmlrpcString, Value::$xmlrpcString, Value::$xmlrpcString,
Value::$xmlrpcString, Value::$xmlrpcString,
));
-
$mailsend_doc = 'mail.send(recipient, subject, text, sender, cc, bcc, mimetype)<br/>
recipient, cc, and bcc are strings, comma-separated lists of email addresses, as described above.<br/>
subject is a string, the subject of the message.<br/>
"docstring" => $bitflipper_doc,
),
// signature omitted on purpose
- "examples.generatePHPWarning" => array(
+ "tests.generatePHPWarning" => array(
"function" => array($object, "phpWarningGenerator"),
),
// signature omitted on purpose
- "examples.raiseException" => array(
+ "tests.raiseException" => array(
"function" => array($object, "exceptionGenerator"),
),
+ /*
+ // Greek word 'kosme'. NB: NOT a valid ISO8859 string!
+ // We can only register this when setting internal encoding to UTF-8, or it will break system.listMethods
+ "tests.utf8methodname." . 'κόσμε' => array(
+ "function" => "stringEcho",
+ "signature" => $stringecho_sig,
+ "docstring" => $stringecho_doc,
+ ),*/
+ "tests.iso88591methodname." . chr(224) . chr(252) . chr(232) => array(
+ "function" => "stringEcho",
+ "signature" => $stringecho_sig,
+ "docstring" => $stringecho_doc,
+ ),
"examples.getallheaders" => array(
"function" => 'getallheaders_xmlrpc',
"signature" => $getallheaders_sig,
}
}
- protected function send($msg, $errrorcode = 0, $return_response = false)
+ protected function send($msg, $errorCode = 0, $returnResponse = false)
{
if ($this->collectCodeCoverageInformation) {
$this->client->setCookie('PHPUNIT_SELENIUM_TEST_ID', $this->testId);
if (is_array($r)) {
return $r;
}
- if (is_array($errrorcode)) {
- $this->assertContains($r->faultCode(), $errrorcode, 'Error ' . $r->faultCode() . ' connecting to server: ' . $r->faultString());
+ if (is_array($errorCode)) {
+ $this->assertContains($r->faultCode(), $errorCode, 'Error ' . $r->faultCode() . ' connecting to server: ' . $r->faultString());
} else {
- $this->assertEquals($r->faultCode(), $errrorcode, 'Error ' . $r->faultCode() . ' connecting to server: ' . $r->faultString());
+ $this->assertEquals($r->faultCode(), $errorCode, 'Error ' . $r->faultCode() . ' connecting to server: ' . $r->faultString());
}
if (!$r->faultCode()) {
- if ($return_response) {
+ if ($returnResponse) {
return $r;
} else {
return $r->value();
public function testString()
{
- $sendstring = "here are 3 \"entities\": < > & " .
+ $sendString = "here are 3 \"entities\": < > & " .
"and here's a dollar sign: \$pretendvarname and a backslash too: " . chr(92) .
" - isn't that great? \\\"hackery\\\" at it's best " .
" also don't want to miss out on \$item[0]. " .
"and then LFCR" . chr(10) . chr(13) .
"last but not least weird names: G" . chr(252) . "nter, El" . chr(232) . "ne, and an xml comment closing tag: -->";
$f = new xmlrpcmsg('examples.stringecho', array(
- new xmlrpcval($sendstring, 'string'),
+ new xmlrpcval($sendString, 'string'),
));
$v = $this->send($f);
if ($v) {
// when sending/receiving non-US-ASCII encoded strings, XML says cr-lf can be normalized.
// so we relax our tests...
- $l1 = strlen($sendstring);
+ $l1 = strlen($sendString);
$l2 = strlen($v->scalarval());
if ($l1 == $l2) {
- $this->assertEquals($sendstring, $v->scalarval());
+ $this->assertEquals($sendString, $v->scalarval());
} else {
- $this->assertEquals(str_replace(array("\r\n", "\r"), array("\n", "\n"), $sendstring), $v->scalarval());
+ $this->assertEquals(str_replace(array("\r\n", "\r"), array("\n", "\n"), $sendString), $v->scalarval());
}
}
}
public function testLatin1String()
{
- $sendstring =
+ $sendString =
"last but not least weird names: G" . chr(252) . "nter, El" . chr(232) . "ne";
$f = '<?xml version="1.0" encoding="ISO-8859-1"?><methodCall><methodName>examples.stringecho</methodName><params><param><value>'.
- $sendstring.
+ $sendString.
'</value></param></params></methodCall>';
$v = $this->send($f);
if ($v) {
- $this->assertEquals($sendstring, $v->scalarval());
+ $this->assertEquals($sendString, $v->scalarval());
}
}
+ public function testLatin1Method()
+ {
+ $f = new xmlrpcmsg("tests.iso88591methodname." . chr(224) . chr(252) . chr(232), array(
+ new xmlrpcval('hello')
+ ));
+ $v = $this->send($f);
+ if ($v) {
+ $this->assertEquals('hello', $v->scalarval());
+ }
+ }
+
+ /*public function testUtf8Method()
+ {
+ $f = new xmlrpcmsg("tests.utf8methodname." . 'κόσμε', array(
+ new xmlrpcval('hello')
+ ));
+ $v = $this->send($f);
+ if ($v) {
+ $this->assertEquals('hello', $v->scalarval());
+ }
+ }*/
+
public function testAddingDoubles()
{
// note that rounding errors mean we
public function testBase64()
{
- $sendstring = 'Mary had a little lamb,
+ $sendString = 'Mary had a little lamb,
Whose fleece was white as snow,
And everywhere that Mary went
the lamb was sure to go.
Ten thousand volts went down its back
And turned it into nylon';
$f = new xmlrpcmsg('examples.decode64', array(
- new xmlrpcval($sendstring, 'base64'),
+ new xmlrpcval($sendString, 'base64'),
));
$v = $this->send($f);
if ($v) {
- if (strlen($sendstring) == strlen($v->scalarval())) {
- $this->assertEquals($sendstring, $v->scalarval());
+ if (strlen($sendString) == strlen($v->scalarval())) {
+ $this->assertEquals($sendString, $v->scalarval());
} else {
- $this->assertEquals(str_replace(array("\r\n", "\r"), array("\n", "\n"), $sendstring), $v->scalarval());
+ $this->assertEquals(str_replace(array("\r\n", "\r"), array("\n", "\n"), $sendString), $v->scalarval());
}
}
}
public function testCountEntities()
{
- $sendstring = "h'fd>onc>>l>>rw&bpu>q>e<v&gxs<ytjzkami<";
+ $sendString = "h'fd>onc>>l>>rw&bpu>q>e<v&gxs<ytjzkami<";
$f = new xmlrpcmsg('validator1.countTheEntities', array(
- new xmlrpcval($sendstring, 'string'),
+ new xmlrpcval($sendString, 'string'),
));
$v = $this->send($f);
if ($v) {
public function testCatchWarnings()
{
- $f = new xmlrpcmsg('examples.generatePHPWarning', array(
+ $f = new xmlrpcmsg('tests.generatePHPWarning', array(
new xmlrpcval('whatever', 'string'),
));
$v = $this->send($f);
public function testCatchExceptions()
{
- $f = new xmlrpcmsg('examples.raiseException', array(
+ $f = new xmlrpcmsg('tests.raiseException', array(
new xmlrpcval('whatever', 'string'),
));
$v = $this->send($f, $GLOBALS['xmlrpcerr']['server_error']);