summaryrefslogtreecommitdiff
path: root/ext/xmlrpc/tests
diff options
context:
space:
mode:
authorAntony Dovgal <tony2001@php.net>2006-08-14 08:18:01 +0000
committerAntony Dovgal <tony2001@php.net>2006-08-14 08:18:01 +0000
commitcb9686b0e5a6ac1e745dd4f48e64f55f91dd89aa (patch)
tree6497965c884dba879e8e799e3e937159b2110c82 /ext/xmlrpc/tests
parent284ce40c4a50f42b66ac0dff58786b74e76493b7 (diff)
downloadphp-git-cb9686b0e5a6ac1e745dd4f48e64f55f91dd89aa.tar.gz
fix segfault and leak in ext/xmlrpc
add tests
Diffstat (limited to 'ext/xmlrpc/tests')
-rw-r--r--ext/xmlrpc/tests/001.phpt66
-rw-r--r--ext/xmlrpc/tests/002.phpt56
2 files changed, 122 insertions, 0 deletions
diff --git a/ext/xmlrpc/tests/001.phpt b/ext/xmlrpc/tests/001.phpt
new file mode 100644
index 0000000000..99fd958d29
--- /dev/null
+++ b/ext/xmlrpc/tests/001.phpt
@@ -0,0 +1,66 @@
+--TEST--
+xmlrpc_encode_request() with wrong arguments
+--SKIPIF--
+<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
+--FILE--
+<?php
+
+var_dump(xmlrpc_encode_request(-1, 1));
+var_dump(xmlrpc_encode_request("", 1));
+var_dump(xmlrpc_encode_request(array(), 1));
+var_dump(xmlrpc_encode_request(3.4, 1));
+
+echo "Done\n";
+?>
+--EXPECTF--
+string(174) "<?xml version="1.0" encoding="iso-8859-1"?>
+<methodCall>
+<methodName>-1</methodName>
+<params>
+ <param>
+ <value>
+ <int>1</int>
+ </value>
+ </param>
+</params>
+</methodCall>
+"
+string(160) "<?xml version="1.0" encoding="iso-8859-1"?>
+<methodCall>
+<methodName/>
+<params>
+ <param>
+ <value>
+ <int>1</int>
+ </value>
+ </param>
+</params>
+</methodCall>
+"
+
+Notice: Array to string conversion in %s on line %d
+string(177) "<?xml version="1.0" encoding="iso-8859-1"?>
+<methodCall>
+<methodName>Array</methodName>
+<params>
+ <param>
+ <value>
+ <int>1</int>
+ </value>
+ </param>
+</params>
+</methodCall>
+"
+string(175) "<?xml version="1.0" encoding="iso-8859-1"?>
+<methodCall>
+<methodName>3.4</methodName>
+<params>
+ <param>
+ <value>
+ <int>1</int>
+ </value>
+ </param>
+</params>
+</methodCall>
+"
+Done
diff --git a/ext/xmlrpc/tests/002.phpt b/ext/xmlrpc/tests/002.phpt
new file mode 100644
index 0000000000..c8d722b808
--- /dev/null
+++ b/ext/xmlrpc/tests/002.phpt
@@ -0,0 +1,56 @@
+--TEST--
+xmlrpc_encode_request() and various arguments
+--SKIPIF--
+<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
+--FILE--
+<?php
+
+$r = xmlrpc_encode_request("method", array());
+var_dump(xmlrpc_decode_request($r, $method));
+var_dump($method);
+
+$r = xmlrpc_encode_request("method", 1);
+var_dump(xmlrpc_decode_request($r, $method));
+var_dump($method);
+
+$r = xmlrpc_encode_request("method", 'param');
+var_dump(xmlrpc_decode_request($r, $method));
+var_dump($method);
+
+$r = xmlrpc_encode_request(-1, "");
+var_dump(xmlrpc_decode_request($r, $method));
+var_dump($method);
+
+$r = xmlrpc_encode_request(array(), 1);
+var_dump(xmlrpc_decode_request($r, $method));
+var_dump($method);
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(0) {
+}
+string(6) "method"
+array(1) {
+ [0]=>
+ int(1)
+}
+string(6) "method"
+array(1) {
+ [0]=>
+ string(5) "param"
+}
+string(6) "method"
+array(1) {
+ [0]=>
+ string(0) ""
+}
+string(2) "-1"
+
+Notice: Array to string conversion in %s on line %d
+array(1) {
+ [0]=>
+ int(1)
+}
+string(5) "Array"
+Done