Browse Source

Adding additional test for umlaut behavior

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@18442 44c647ce-9c0f-0410-b52a-842ac1e357ba
lars 16 years ago
parent
commit
c6c7a00c15
1 changed files with 20 additions and 0 deletions
  1. 20 0
      tests/Zend/XmlRpc/ValueTest.php

+ 20 - 0
tests/Zend/XmlRpc/ValueTest.php

@@ -520,6 +520,26 @@ class Zend_XmlRpc_ValueTest extends PHPUnit_Framework_TestCase
         $this->assertEquals($this->wrapXml($xml), $val->saveXML());
         $this->assertEquals($this->wrapXml($xml), $val->saveXML());
     }
     }
 
 
+    public function testMarshallingStructWithMultibyteValueFromXmlRpcRetainsMultibyteValue()
+    {
+        $native = array('foo' => 'ß');
+        $xml = '<value><struct><member><name>foo</name>'
+             . '<value><string>&#xDF;</string></value></member></struct></value>';
+
+        $val = Zend_XmlRpc_Value::getXmlRpcValue($xml,
+                                    Zend_XmlRpc_Value::XML_STRING);
+
+        $this->assertXmlRpcType('struct', $val);
+        $this->assertEquals('struct', $val->getType());
+        $this->assertSame($native, $val->getValue());
+        $this->assertType('DomElement', $val->getAsDOM());
+        $this->assertEquals($this->wrapXml($xml), $val->saveXML());
+
+        $val = Zend_XmlRpc_Value::getXmlRpcValue($native, Zend_XmlRpc_Value::XMLRPC_TYPE_STRUCT);
+        $this->assertSame($native, $val->getValue());
+        $this->assertSame($xml . "\n", $val->saveXML());
+    }
+
     // DateTime
     // DateTime
 
 
     public function testMarshalDateTimeFromNativeString()
     public function testMarshalDateTimeFromNativeString()