use PHPUnit\Framework\TestCase;
use Symfony\Component\Serializer\Encoder\ChainEncoder;
+use Symfony\Component\Serializer\Encoder\EncoderInterface;
use Symfony\Component\Serializer\Encoder\NormalizationAwareInterface;
class ChainEncoderTest extends TestCase
$this->encoder1
->method('supportsEncoding')
->will($this->returnValueMap(array(
- array(self::FORMAT_1, true),
- array(self::FORMAT_2, false),
- array(self::FORMAT_3, false),
+ array(self::FORMAT_1, array(), true),
+ array(self::FORMAT_2, array(), false),
+ array(self::FORMAT_3, array(), false),
+ array(self::FORMAT_3, array('foo' => 'bar'), true),
)));
$this->encoder2 = $this
$this->encoder2
->method('supportsEncoding')
->will($this->returnValueMap(array(
- array(self::FORMAT_1, false),
- array(self::FORMAT_2, true),
- array(self::FORMAT_3, false),
+ array(self::FORMAT_1, array(), false),
+ array(self::FORMAT_2, array(), true),
+ array(self::FORMAT_3, array(), false),
)));
$this->chainEncoder = new ChainEncoder(array($this->encoder1, $this->encoder2));
$this->assertTrue($this->chainEncoder->supportsEncoding(self::FORMAT_1));
$this->assertTrue($this->chainEncoder->supportsEncoding(self::FORMAT_2));
$this->assertFalse($this->chainEncoder->supportsEncoding(self::FORMAT_3));
+ $this->assertTrue($this->chainEncoder->supportsEncoding(self::FORMAT_3, array('foo' => 'bar')));
}
public function testEncode()
{
}
-class NormalizationAwareEncoder implements NormalizationAwareInterface
+class NormalizationAwareEncoder implements EncoderInterface, NormalizationAwareInterface
{
public function supportsEncoding($format)
{
return true;
}
+
+ public function encode($data, $format, array $context = array())
+ {
+ }
}