소스 검색

[Serializer] fixed XmlEncoder for single char tags

Fabien Potencier 14 년 전
부모
커밋
411a382d80
2개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 1 1
      src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
  2. 3 1
      tests/Symfony/Tests/Component/Serializer/Encoder/XmlEncoderTest.php

+ 1 - 1
src/Symfony/Component/Serializer/Encoder/XmlEncoder.php

@@ -296,6 +296,6 @@ class XmlEncoder extends AbstractEncoder
     {
         return $name &&
             false === strpos($name, ' ') &&
-            preg_match('#^[\pL_][\pL0-9._-]+$#ui', $name);
+            preg_match('#^[\pL_][\pL0-9._-]*$#ui', $name);
     }
 }

+ 3 - 1
tests/Symfony/Tests/Component/Serializer/Encoder/XmlEncoderTest.php

@@ -66,7 +66,8 @@ class XmlEncoderTest extends \PHPUnit_Framework_TestCase
                 '@Type' => 'test'
             ),
             'föo_bär' => '',
-            "Bar" => array(1,2,3)
+            "Bar" => array(1,2,3),
+            'a' => 'b',
         );
         $expected = '<?xml version="1.0"?>'."\n".
             '<response>'.
@@ -76,6 +77,7 @@ class XmlEncoderTest extends \PHPUnit_Framework_TestCase
             '<Bar>1</Bar>'.
             '<Bar>2</Bar>'.
             '<Bar>3</Bar>'.
+            '<a><![CDATA[b]]></a>'.
             '</response>'."\n";
         $this->assertEquals($expected, $this->encoder->encode($obj, 'xml'));
     }