summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntony Dovgal <tony2001@php.net>2006-04-12 15:18:38 +0000
committerAntony Dovgal <tony2001@php.net>2006-04-12 15:18:38 +0000
commita6e4f11cb15945130aab46da0a39982a636ced57 (patch)
tree57bdeb76b37e6389a6d95085607f0935875cf4c9
parent195271dd23ba6779d0e39d7614327fb4c3bc121f (diff)
downloadphp-git-a6e4f11cb15945130aab46da0a39982a636ced57.tar.gz
add test
-rw-r--r--ext/xmlrpc/tests/bug37057.phpt62
1 files changed, 62 insertions, 0 deletions
diff --git a/ext/xmlrpc/tests/bug37057.phpt b/ext/xmlrpc/tests/bug37057.phpt
new file mode 100644
index 0000000000..0764d8af67
--- /dev/null
+++ b/ext/xmlrpc/tests/bug37057.phpt
@@ -0,0 +1,62 @@
+--TEST--
+Bug #37057 (xmlrpc_decode() may produce arrays with numeric string keys which are unaccessible)
+--FILE--
+<?php
+$response='<?xml version="1.0"?>
+<methodResponse>
+ <params>
+ <param>
+ <value>
+ <struct>
+ <member>
+ <name>50</name>
+ <value><string>0.29</string></value>
+ </member>
+ </struct>
+ </value>
+ </param>
+ </params>
+</methodResponse>';
+
+$retval=xmlrpc_decode($response);
+var_dump($retval);
+var_dump($retval["50"]);
+var_dump($retval[50]);
+
+$response='<?xml version="1.0"?>
+<methodResponse>
+ <params>
+ <param>
+ <value>
+ <struct>
+ <member>
+ <name>0</name>
+ <value><string>0.29</string></value>
+ </member>
+ </struct>
+ </value>
+ </param>
+ </params>
+</methodResponse>';
+
+$retval=xmlrpc_decode($response);
+var_dump($retval);
+var_dump($retval["0"]);
+var_dump($retval[0]);
+
+echo "Done\n";
+?>
+--EXPECT--
+array(1) {
+ [50]=>
+ string(4) "0.29"
+}
+string(4) "0.29"
+string(4) "0.29"
+array(1) {
+ [0]=>
+ string(4) "0.29"
+}
+string(4) "0.29"
+string(4) "0.29"
+Done