diff --git a/lib/Cake/Cache/Engine/MemcachedEngine.php b/lib/Cake/Cache/Engine/MemcachedEngine.php index e2e1bdb6d..cc101a2bf 100644 --- a/lib/Cake/Cache/Engine/MemcachedEngine.php +++ b/lib/Cake/Cache/Engine/MemcachedEngine.php @@ -185,8 +185,9 @@ class MemcachedEngine extends CacheEngine { * @return array Array containing host, port */ protected function _parseServerString($server) { - if (strpos($server, 'unix://') === 0) { - return array($server, 0); + $socketTransport = 'unix://'; + if (strpos($server, $socketTransport) === 0) { + return array(substr($server, strlen($socketTransport)), 0); } if (substr($server, 0, 1) === '[') { $position = strpos($server, ']:'); diff --git a/lib/Cake/Test/Case/Cache/Engine/MemcachedEngineTest.php b/lib/Cake/Test/Case/Cache/Engine/MemcachedEngineTest.php index 10db6df84..867422b55 100644 --- a/lib/Cake/Test/Case/Cache/Engine/MemcachedEngineTest.php +++ b/lib/Cake/Test/Case/Cache/Engine/MemcachedEngineTest.php @@ -433,7 +433,7 @@ class MemcachedEngineTest extends CakeTestCase { public function testParseServerStringUnix() { $Memcached = new TestMemcachedEngine(); $result = $Memcached->parseServerString('unix:///path/to/memcachedd.sock'); - $this->assertEquals(array('unix:///path/to/memcachedd.sock', 0), $result); + $this->assertEquals(array('/path/to/memcachedd.sock', 0), $result); } /** diff --git a/lib/Cake/Test/Case/View/XmlViewTest.php b/lib/Cake/Test/Case/View/XmlViewTest.php index 549813730..65a9bdcd4 100644 --- a/lib/Cake/Test/Case/View/XmlViewTest.php +++ b/lib/Cake/Test/Case/View/XmlViewTest.php @@ -107,7 +107,7 @@ class XmlViewTest extends CakeTestCase { $Controller = new Controller($Request, $Response); $data = array( '_serialize' => array('tags'), - '_xmlOptions' => array('format' => 'attributes'), + '_xmlOptions' => array('format' => 'attributes', 'return' => 'domdocument'), 'tags' => array( 'tag' => array( array( @@ -126,7 +126,7 @@ class XmlViewTest extends CakeTestCase { $View = new XmlView($Controller); $result = $View->render(); - $expected = Xml::build(array('response' => array('tags' => $data['tags'])), $data['_xmlOptions'])->asXML(); + $expected = Xml::build(array('response' => array('tags' => $data['tags'])), $data['_xmlOptions'])->saveXML(); $this->assertSame($expected, $result); } diff --git a/lib/Cake/View/XmlView.php b/lib/Cake/View/XmlView.php index 021854fc4..7d7610836 100644 --- a/lib/Cake/View/XmlView.php +++ b/lib/Cake/View/XmlView.php @@ -142,6 +142,9 @@ class XmlView extends View { $options['pretty'] = true; } + if (isset($options['return']) && strtolower($options['return']) === 'domdocument') { + return Xml::fromArray($data, $options)->saveXML(); + } return Xml::fromArray($data, $options)->asXML(); }