Преглед на файлове

Merge pull request #104 from tyler-sommer/recursion-fix

Potential fix for "recursion detected" issue
Johannes преди 11 години
родител
ревизия
6c3982f0ef
променени са 2 файла, в които са добавени 6 реда и са изтрити 1 реда
  1. 1 1
      src/JMS/Serializer/JsonSerializationVisitor.php
  2. 5 0
      tests/JMS/Serializer/Tests/Serializer/JsonSerializationTest.php

+ 1 - 1
src/JMS/Serializer/JsonSerializationVisitor.php

@@ -61,7 +61,7 @@ class JsonSerializationVisitor extends GenericSerializationVisitor
             $rs = new \ArrayObject();
             $rs = new \ArrayObject();
 
 
             if (array() === $this->getRoot()) {
             if (array() === $this->getRoot()) {
-                $this->setRoot($rs);
+                $this->setRoot(clone $rs);
             }
             }
         }
         }
 
 

+ 5 - 0
tests/JMS/Serializer/Tests/Serializer/JsonSerializationTest.php

@@ -175,6 +175,11 @@ class JsonSerializationTest extends BaseSerializationTest
         $this->assertEquals('{}', $this->serialize(new Author(null)));
         $this->assertEquals('{}', $this->serialize(new Author(null)));
     }
     }
 
 
+    public function testSerializeArrayWithEmptyObject()
+    {
+        $this->assertEquals('{"0":{}}', $this->serialize(array(new \stdClass())));
+    }
+
     protected function getFormat()
     protected function getFormat()
     {
     {
         return 'json';
         return 'json';