瀏覽代碼

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 年之前
父節點
當前提交
c6c7a00c15
共有 1 個文件被更改,包括 20 次插入0 次删除
  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());
     }
 
+    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
 
     public function testMarshalDateTimeFromNativeString()