X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2F1ParsingBugsTest.php;h=f32bd2e5e9d32379ae31ed5c2fffb5f745ecf323;hb=640b8c0e60bb8a13dde241ec4d23ca1f58bb5b8a;hp=d9a432a56b7f973c62b8f2188abe46299b8da122;hpb=bd4048215800186db5224ea04e0d45cab97c12b9;p=plcapi.git
diff --git a/tests/1ParsingBugsTest.php b/tests/1ParsingBugsTest.php
index d9a432a5..f32bd2e5 100644
--- a/tests/1ParsingBugsTest.php
+++ b/tests/1ParsingBugsTest.php
@@ -554,7 +554,7 @@ and there they were.postid7414222
$this->assertequals(2, $r->faultCode());
}
- public function TestLocale()
+ public function testLocale()
{
$locale = setlocale(LC_NUMERIC, 0);
/// @todo on php 5.3/win setting locale to german does not seem to set decimal separator to comma...
@@ -572,4 +572,31 @@ and there they were.postid7414222
$this->markTestSkipped('did not find a locale which sets decimal separator to comma');
}
}
+
+ public function testArrayAccess()
+ {
+ $v1 = new xmlrpcval(array(new xmlrpcval('one'), new xmlrpcval('two')), 'array');
+ $this->assertequals(1, count($v1));
+ $out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
+ foreach($v1 as $key => $val)
+ {
+ $expected = each($out);
+ $this->assertequals($expected['key'], $key);
+ if (gettype($expected['value']) == 'array') {
+ $this->assertequals('array', gettype($val));
+ } else {
+ $this->assertequals($expected['value'], $val);
+ }
+ }
+
+ $v2 = new \PhpXmlRpc\Value(array(new \PhpXmlRpc\Value('one'), new \PhpXmlRpc\Value('two')), 'array');
+ $this->assertequals(2, count($v2));
+ $out = array(0 => 'object', 1 => 'object');
+ foreach($v2 as $key => $val)
+ {
+ $expected = each($out);
+ $this->assertequals($expected['key'], $key);
+ $this->assertequals($expected['value'], gettype($val));
+ }
+ }
}