Переглянути джерело

Move tests to BaseSerializationTest

Christian Stocker 13 роки тому
батько
коміт
ff46c6c641

+ 0 - 17
Tests/DependencyInjection/JMSSerializerExtensionTest.php

@@ -34,7 +34,6 @@ use Symfony\Component\DependencyInjection\Compiler\ResolveDefinitionTemplatesPas
 use JMS\SerializerBundle\JMSSerializerBundle;
 use Doctrine\Common\Annotations\Reader;
 use JMS\SerializerBundle\Tests\Fixtures\VersionedObject;
-use JMS\SerializerBundle\Tests\Fixtures\GroupsObject;
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 use JMS\SerializerBundle\DependencyInjection\JMSSerializerExtension;
 
@@ -75,7 +74,6 @@ class JMSSerializerExtensionTest extends \PHPUnit_Framework_TestCase
         $simpleObject = new SimpleObject('foo', 'bar');
         $versionedObject  = new VersionedObject('foo', 'bar');
         $serializer = $container->get('serializer');
-        $groupsObject = new GroupsObject();
 
         // test that all components have been wired correctly
         $this->assertEquals(json_encode(array('name' => 'bar')), $serializer->serialize($versionedObject, 'json'));
@@ -87,21 +85,6 @@ class JMSSerializerExtensionTest extends \PHPUnit_Framework_TestCase
 
         $serializer->setVersion('1.1.1');
         $this->assertEquals(json_encode(array('name' => 'bar')), $serializer->serialize($versionedObject, 'json'));
-        
-        $this->assertEquals(json_encode(array('foo' => 'foo', 'foobar' => 'foobar', 'bar' => 'bar', 'none' => 'none')),$serializer->serialize($groupsObject, 'json'));
-        $serializer->setGroups("foo");
-        
-        $this->assertEquals(json_encode(array('foo' => 'foo', 'foobar' => 'foobar')),$serializer->serialize($groupsObject, 'json'));
-        
-        $serializer->setGroups(array("foo", "bar"));
-        $this->assertEquals(json_encode(array('foo' => 'foo', 'foobar' => 'foobar', 'bar' => 'bar')),$serializer->serialize($groupsObject, 'json'));
-        
-        $serializer->setGroups(array("bar"));
-        $this->assertEquals(json_encode(array('foobar' => 'foobar', 'bar' => 'bar')),$serializer->serialize($groupsObject, 'json'));
-        
-        $serializer->setGroups(null);
-        $this->assertEquals(json_encode(array('foo' => 'foo', 'foobar' => 'foobar', 'bar' => 'bar', 'none' => 'none')),$serializer->serialize($groupsObject, 'json'));
-        
     }
 
     private function getContainerForConfig(array $configs, KernelInterface $kernel = null)

+ 24 - 0
Tests/Serializer/BaseSerializationTest.php

@@ -57,6 +57,7 @@ use JMS\SerializerBundle\Tests\Fixtures\BlogPost;
 use JMS\SerializerBundle\Tests\Fixtures\ObjectWithLifecycleCallbacks;
 use JMS\SerializerBundle\Tests\Fixtures\CircularReferenceParent;
 use JMS\SerializerBundle\Tests\Fixtures\InlineParent;
+use JMS\SerializerBundle\Tests\Fixtures\GroupsObject;
 use JMS\SerializerBundle\Serializer\XmlSerializationVisitor;
 use Doctrine\Common\Annotations\AnnotationReader;
 use JMS\SerializerBundle\Metadata\Driver\AnnotationDriver;
@@ -416,6 +417,29 @@ abstract class BaseSerializationTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals($this->getContent('accessor_order_child'), $this->serialize(new AccessorOrderChild()));
         $this->assertEquals($this->getContent('accessor_order_parent'), $this->serialize(new AccessorOrderParent()));
     }
+    
+    public function testGroups()
+    {
+        $serializer =  $this->getSerializer();
+
+                
+        $groupsObject = new GroupsObject();
+        
+        $this->assertEquals($this->getContent('groups_all'), $serializer->serialize($groupsObject, $this->getFormat()));
+
+        $serializer->setGroups(array("foo"));
+        $this->assertEquals($this->getContent('groups_foo'), $serializer->serialize($groupsObject, $this->getFormat()));
+        
+        $serializer->setGroups(array("foo", "bar"));
+        $this->assertEquals($this->getContent('groups_foobar'), $serializer->serialize($groupsObject, $this->getFormat()));
+         
+        $serializer->setGroups(null);
+        $this->assertEquals($this->getContent('groups_all'), $serializer->serialize($groupsObject, $this->getFormat()));
+
+        $serializer->setGroups(array());
+        $this->assertEquals($this->getContent('groups_all'), $serializer->serialize($groupsObject, $this->getFormat()));
+
+    }
 
     abstract protected function getContent($key);
     abstract protected function getFormat();

+ 4 - 0
Tests/Serializer/JsonSerializationTest.php

@@ -61,6 +61,10 @@ class JsonSerializationTest extends BaseSerializationTest
             $outputs['accessor_order_child'] = '{"c":"c","d":"d","a":"a","b":"b"}';
             $outputs['accessor_order_parent'] = '{"a":"a","b":"b"}';
             $outputs['inline'] = '{"c":"c","a":"a","b":"b","d":"d"}';
+            $outputs['groups_all'] = '{"foo":"foo","foobar":"foobar","bar":"bar","none":"none"}';
+            $outputs['groups_foo'] = '{"foo":"foo","foobar":"foobar"}';
+            $outputs['groups_foobar'] = '{"foo":"foo","foobar":"foobar","bar":"bar"}';
+            
         }
 
         if (!isset($outputs[$key])) {

+ 7 - 0
Tests/Serializer/xml/groups_all.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<result>
+  <foo><![CDATA[foo]]></foo>
+  <foobar><![CDATA[foobar]]></foobar>
+  <bar><![CDATA[bar]]></bar>
+  <none><![CDATA[none]]></none>
+</result>

+ 5 - 0
Tests/Serializer/xml/groups_foo.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<result>
+  <foo><![CDATA[foo]]></foo>
+  <foobar><![CDATA[foobar]]></foobar>
+</result>

+ 6 - 0
Tests/Serializer/xml/groups_foobar.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<result>
+  <foo><![CDATA[foo]]></foo>
+  <foobar><![CDATA[foobar]]></foobar>
+  <bar><![CDATA[bar]]></bar>
+</result>

+ 4 - 0
Tests/Serializer/yml/groups_all.yml

@@ -0,0 +1,4 @@
+foo: foo
+foobar: foobar
+bar: bar
+none: none

+ 2 - 0
Tests/Serializer/yml/groups_foo.yml

@@ -0,0 +1,2 @@
+foo: foo
+foobar: foobar

+ 3 - 0
Tests/Serializer/yml/groups_foobar.yml

@@ -0,0 +1,3 @@
+foo: foo
+foobar: foobar
+bar: bar