From ba6d3fb7f5cc792809bafe0a04eb7aec06062315 Mon Sep 17 00:00:00 2001 From: webchick <webchick@24967.no-reply.drupal.org> Date: Fri, 25 Jan 2013 09:53:54 -0800 Subject: [PATCH] Issue #1894508 by linclark, damiankloip: Update symfony/serializer. --- core/composer.lock | 8 +- .../Serialization/ComplexDataNormalizer.php | 2 +- .../Core/Serialization/ListNormalizer.php | 2 +- .../Serialization/TypedDataNormalizer.php | 2 +- .../Drupal/Core/Serialization/XmlEncoder.php | 10 +- .../Drupal/jsonld/JsonldEntityNormalizer.php | 4 +- .../JsonldEntityReferenceNormalizer.php | 4 +- .../jsonld/JsonldFieldItemNormalizer.php | 4 +- .../jsonld/JsonldRdfSchemaNormalizer.php | 2 +- .../SerializationTestEncoder.php | 2 +- .../SerializationTestNormalizer.php | 2 +- core/vendor/autoload.php | 2 +- core/vendor/composer/autoload_real.php | 6 +- core/vendor/composer/installed.json | 98 +++++++++---------- .../Component/Serializer/.gitattributes | 2 - .../Symfony/Component/Serializer/CHANGELOG.md | 10 ++ .../Serializer/Encoder/ChainDecoder.php | 4 +- .../Serializer/Encoder/ChainEncoder.php | 4 +- .../Serializer/Encoder/DecoderInterface.php | 3 +- .../Serializer/Encoder/EncoderInterface.php | 3 +- .../Serializer/Encoder/JsonDecode.php | 33 ++++++- .../Serializer/Encoder/JsonEncode.php | 22 +++-- .../Serializer/Encoder/JsonEncoder.php | 8 +- .../Serializer/Encoder/XmlEncoder.php | 45 +++++++-- .../Symfony/Component/Serializer/LICENSE | 2 +- .../Normalizer/CustomNormalizer.php | 8 +- .../Normalizer/DenormalizableInterface.php | 3 +- .../Normalizer/DenormalizerInterface.php | 3 +- .../Normalizer/GetSetMethodNormalizer.php | 4 +- .../Normalizer/NormalizableInterface.php | 3 +- .../Normalizer/NormalizerInterface.php | 3 +- .../Component/Serializer/Serializer.php | 52 +++++----- .../Serializer/SerializerInterface.php | 10 +- .../Tests/Encoder/JsonEncoderTest.php | 80 +++++++++++++++ .../Tests/Encoder/XmlEncoderTest.php | 17 ++++ .../Tests/Fixtures/DenormalizableDummy.php | 2 +- .../Serializer/Tests/Fixtures/Dummy.php | 4 +- .../Fixtures/NormalizableTraversableDummy.php | 4 +- .../Serializer/Tests/Fixtures/ScalarDummy.php | 4 +- 39 files changed, 331 insertions(+), 150 deletions(-) delete mode 100644 core/vendor/symfony/serializer/Symfony/Component/Serializer/.gitattributes create mode 100644 core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php diff --git a/core/composer.lock b/core/composer.lock index 7d2a9431bf3c..18db64de4a71 100644 --- a/core/composer.lock +++ b/core/composer.lock @@ -811,18 +811,18 @@ "source": { "type": "git", "url": "https://github.com/symfony/Serializer", - "reference": "ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0" + "reference": "45fe843e3144a594f93a6a372385c6534c7df31c" }, "dist": { "type": "zip", - "url": "https://github.com/symfony/Serializer/archive/ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0.zip", - "reference": "ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0", + "url": "https://github.com/symfony/Serializer/archive/45fe843e3144a594f93a6a372385c6534c7df31c.zip", + "reference": "45fe843e3144a594f93a6a372385c6534c7df31c", "shasum": "" }, "require": { "php": ">=5.3.3" }, - "time": "2012-12-19 07:09:49", + "time": "2013-01-19 07:50:02", "type": "library", "extra": { "branch-alias": { diff --git a/core/lib/Drupal/Core/Serialization/ComplexDataNormalizer.php b/core/lib/Drupal/Core/Serialization/ComplexDataNormalizer.php index 06a54158fa8d..642352d307b1 100644 --- a/core/lib/Drupal/Core/Serialization/ComplexDataNormalizer.php +++ b/core/lib/Drupal/Core/Serialization/ComplexDataNormalizer.php @@ -32,7 +32,7 @@ class ComplexDataNormalizer extends NormalizerBase { /** * Implements \Symfony\Component\Serializer\Normalizer\NormalizerInterface::normalize(). */ - public function normalize($object, $format = NULL) { + public function normalize($object, $format = NULL, array $context = array()) { $attributes = array(); foreach ($object as $name => $field) { $attributes[$name] = $this->serializer->normalize($field, $format); diff --git a/core/lib/Drupal/Core/Serialization/ListNormalizer.php b/core/lib/Drupal/Core/Serialization/ListNormalizer.php index ee20fb64e5bf..d590b7b55d6d 100644 --- a/core/lib/Drupal/Core/Serialization/ListNormalizer.php +++ b/core/lib/Drupal/Core/Serialization/ListNormalizer.php @@ -31,7 +31,7 @@ class ListNormalizer extends NormalizerBase { /** * Implements \Symfony\Component\Serializer\Normalizer\NormalizerInterface::normalize(). */ - public function normalize($object, $format = NULL) { + public function normalize($object, $format = NULL, array $context = array()) { $attributes = array(); foreach ($object as $fieldItem) { $attributes[] = $this->serializer->normalize($fieldItem, $format); diff --git a/core/lib/Drupal/Core/Serialization/TypedDataNormalizer.php b/core/lib/Drupal/Core/Serialization/TypedDataNormalizer.php index 0376771e3d1a..cf2a8795fafd 100644 --- a/core/lib/Drupal/Core/Serialization/TypedDataNormalizer.php +++ b/core/lib/Drupal/Core/Serialization/TypedDataNormalizer.php @@ -25,7 +25,7 @@ class TypedDataNormalizer extends NormalizerBase { /** * Implements \Symfony\Component\Serializer\Normalizer\NormalizerInterface::normalize(). */ - public function normalize($object, $format = NULL) { + public function normalize($object, $format = NULL, array $context = array()) { return $object->getValue(); } diff --git a/core/lib/Drupal/Core/Serialization/XmlEncoder.php b/core/lib/Drupal/Core/Serialization/XmlEncoder.php index 7235af3aa7a6..d79a6d94234a 100644 --- a/core/lib/Drupal/Core/Serialization/XmlEncoder.php +++ b/core/lib/Drupal/Core/Serialization/XmlEncoder.php @@ -44,9 +44,9 @@ public function __construct() { /** * Implements \Symfony\Component\Serializer\Encoder\EncoderInterface::encode(). */ - public function encode($data, $format){ - $normalized = $this->serializer->normalize($data, $format); - return $this->baseEncoder->encode($normalized, $format); + public function encode($data, $format, array $context = array()){ + $normalized = $this->serializer->normalize($data, $format, $context); + return $this->baseEncoder->encode($normalized, $format, $context); } /** @@ -59,8 +59,8 @@ public function supportsEncoding($format) { /** * Implements \Symfony\Component\Serializer\Encoder\EncoderInterface::decode(). */ - public function decode($data, $format){ - return $this->baseEncoder->decode($data, $format); + public function decode($data, $format, array $context = array()){ + return $this->baseEncoder->decode($data, $format, $context); } /** diff --git a/core/modules/jsonld/lib/Drupal/jsonld/JsonldEntityNormalizer.php b/core/modules/jsonld/lib/Drupal/jsonld/JsonldEntityNormalizer.php index b28653902a9a..ab662b32e892 100644 --- a/core/modules/jsonld/lib/Drupal/jsonld/JsonldEntityNormalizer.php +++ b/core/modules/jsonld/lib/Drupal/jsonld/JsonldEntityNormalizer.php @@ -27,7 +27,7 @@ class JsonldEntityNormalizer extends JsonldNormalizerBase implements Denormalize /** * Implements \Symfony\Component\Serializer\Normalizer\NormalizerInterface::normalize() */ - public function normalize($entity, $format = NULL) { + public function normalize($entity, $format = NULL, array $context = array()) { $entity_wrapper = new JsonldEntityWrapper($entity, $format, $this->serializer, $this->siteSchemaManager); $attributes = $entity_wrapper->getProperties(); @@ -43,7 +43,7 @@ public function normalize($entity, $format = NULL) { * * @throws \Symfony\Component\Serializer\Exception\UnexpectedValueException */ - public function denormalize($data, $class, $format = null) { + public function denormalize($data, $class, $format = null, array $context = array()) { if (!isset($data['@type'])) { throw new UnexpectedValueException('JSON-LD @type parameter must be included.'); } diff --git a/core/modules/jsonld/lib/Drupal/jsonld/JsonldEntityReferenceNormalizer.php b/core/modules/jsonld/lib/Drupal/jsonld/JsonldEntityReferenceNormalizer.php index 66767cf49733..f57066dc6d4e 100644 --- a/core/modules/jsonld/lib/Drupal/jsonld/JsonldEntityReferenceNormalizer.php +++ b/core/modules/jsonld/lib/Drupal/jsonld/JsonldEntityReferenceNormalizer.php @@ -30,7 +30,7 @@ class JsonldEntityReferenceNormalizer extends JsonldNormalizerBase implements De /** * Implements \Symfony\Component\Serializer\Normalizer\NormalizerInterface::normalize() */ - public function normalize($object, $format = NULL) { + public function normalize($object, $format = NULL, array $context = array()) { // @todo If an $options parameter is added to the serialize signature, as // requested in https://github.com/symfony/symfony/pull/4938, then instead // of creating the array of properties, we could simply call normalize and @@ -45,7 +45,7 @@ public function normalize($object, $format = NULL) { /** * Implements \Symfony\Component\Serializer\Normalizer\DenormalizerInterface::denormalize() */ - public function denormalize($data, $class, $format = null) { + public function denormalize($data, $class, $format = null, array $context = array()) { // @todo Support denormalization for Entity Reference. return array(); } diff --git a/core/modules/jsonld/lib/Drupal/jsonld/JsonldFieldItemNormalizer.php b/core/modules/jsonld/lib/Drupal/jsonld/JsonldFieldItemNormalizer.php index bf421a100559..7e3d1241a5a0 100644 --- a/core/modules/jsonld/lib/Drupal/jsonld/JsonldFieldItemNormalizer.php +++ b/core/modules/jsonld/lib/Drupal/jsonld/JsonldFieldItemNormalizer.php @@ -27,14 +27,14 @@ class JsonldFieldItemNormalizer extends JsonldNormalizerBase implements Denormal /** * Implements \Symfony\Component\Serializer\Normalizer\NormalizerInterface::normalize() */ - public function normalize($object, $format = NULL) { + public function normalize($object, $format = NULL, array $context = array()) { return $object->getPropertyValues(); } /** * Implements \Symfony\Component\Serializer\Normalizer\DenormalizerInterface::denormalize() */ - public function denormalize($data, $class, $format = null) { + public function denormalize($data, $class, $format = null, array $context = array()) { // For most fields, the field items array should simply be returned as is. return $data; } diff --git a/core/modules/jsonld/lib/Drupal/jsonld/JsonldRdfSchemaNormalizer.php b/core/modules/jsonld/lib/Drupal/jsonld/JsonldRdfSchemaNormalizer.php index 2834c6153bbf..9c63332e4177 100644 --- a/core/modules/jsonld/lib/Drupal/jsonld/JsonldRdfSchemaNormalizer.php +++ b/core/modules/jsonld/lib/Drupal/jsonld/JsonldRdfSchemaNormalizer.php @@ -25,7 +25,7 @@ class JsonldRdfSchemaNormalizer extends JsonldNormalizerBase { /** * Implements \Symfony\Component\Serializer\Normalizer\NormalizerInterface::normalize() */ - public function normalize($data, $format = NULL) { + public function normalize($data, $format = NULL, array $context = array()) { $normalized = array(); $graph = $data->getGraph(); diff --git a/core/modules/system/tests/modules/serialization_test/lib/Drupal/serialization_test/SerializationTestEncoder.php b/core/modules/system/tests/modules/serialization_test/lib/Drupal/serialization_test/SerializationTestEncoder.php index bf1a755d13dd..edb3b5bda37a 100644 --- a/core/modules/system/tests/modules/serialization_test/lib/Drupal/serialization_test/SerializationTestEncoder.php +++ b/core/modules/system/tests/modules/serialization_test/lib/Drupal/serialization_test/SerializationTestEncoder.php @@ -29,7 +29,7 @@ class SerializationTestEncoder implements EncoderInterface { * @return string * A string representation of $data in the requested format. */ - public function encode($data, $format) { + public function encode($data, $format, array $context = array()) { // @see Drupal\serialization_test\SerializationTestNormalizer::normalize(). return 'Normalized by ' . $data['normalized_by'] . ', Encoded by SerializationTestEncoder'; } diff --git a/core/modules/system/tests/modules/serialization_test/lib/Drupal/serialization_test/SerializationTestNormalizer.php b/core/modules/system/tests/modules/serialization_test/lib/Drupal/serialization_test/SerializationTestNormalizer.php index 5519fe95e877..81478c57924f 100644 --- a/core/modules/system/tests/modules/serialization_test/lib/Drupal/serialization_test/SerializationTestNormalizer.php +++ b/core/modules/system/tests/modules/serialization_test/lib/Drupal/serialization_test/SerializationTestNormalizer.php @@ -30,7 +30,7 @@ class SerializationTestNormalizer implements NormalizerInterface { * An array containing a normalized representation of $object, appropriate * for encoding to the requested format. */ - public function normalize($object, $format = NULL) { + public function normalize($object, $format = NULL, array $context = array()) { $normalized = (array) $object; // Add identifying value that can be used to verify that the expected // normalizer was invoked. diff --git a/core/vendor/autoload.php b/core/vendor/autoload.php index b7e57458296a..86501ae8d955 100644 --- a/core/vendor/autoload.php +++ b/core/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer' . '/autoload_real.php'; -return ComposerAutoloaderInitdff5596d4902476e49b77f22ebf69e4a::getLoader(); +return ComposerAutoloaderInit3c7622c3b1ba2ec69ca397628a542de0::getLoader(); diff --git a/core/vendor/composer/autoload_real.php b/core/vendor/composer/autoload_real.php index 5784e03ce5dd..d682386ca760 100644 --- a/core/vendor/composer/autoload_real.php +++ b/core/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php generated by Composer -class ComposerAutoloaderInitdff5596d4902476e49b77f22ebf69e4a +class ComposerAutoloaderInit3c7622c3b1ba2ec69ca397628a542de0 { private static $loader; @@ -19,9 +19,9 @@ public static function getLoader() return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInitdff5596d4902476e49b77f22ebf69e4a', 'loadClassLoader')); + spl_autoload_register(array('ComposerAutoloaderInit3c7622c3b1ba2ec69ca397628a542de0', 'loadClassLoader')); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInitdff5596d4902476e49b77f22ebf69e4a', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit3c7622c3b1ba2ec69ca397628a542de0', 'loadClassLoader')); $vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json index e8e495c9a968..07eea1c2b159 100644 --- a/core/vendor/composer/installed.json +++ b/core/vendor/composer/installed.json @@ -575,55 +575,6 @@ "description": "Symfony Routing Component", "homepage": "http://symfony.com" }, - { - "name": "symfony/serializer", - "version": "dev-master", - "version_normalized": "9999999-dev", - "target-dir": "Symfony/Component/Serializer", - "source": { - "type": "git", - "url": "https://github.com/symfony/Serializer", - "reference": "ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0" - }, - "dist": { - "type": "zip", - "url": "https://github.com/symfony/Serializer/archive/ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0.zip", - "reference": "ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "time": "2012-12-19 07:09:49", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - } - }, - "installation-source": "source", - "autoload": { - "psr-0": { - "Symfony\\Component\\Serializer\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony Serializer Component", - "homepage": "http://symfony.com" - }, { "name": "symfony/yaml", "version": "dev-master", @@ -980,5 +931,54 @@ "database", "routing" ] + }, + { + "name": "symfony/serializer", + "version": "dev-master", + "version_normalized": "9999999-dev", + "target-dir": "Symfony/Component/Serializer", + "source": { + "type": "git", + "url": "https://github.com/symfony/Serializer", + "reference": "45fe843e3144a594f93a6a372385c6534c7df31c" + }, + "dist": { + "type": "zip", + "url": "https://github.com/symfony/Serializer/archive/45fe843e3144a594f93a6a372385c6534c7df31c.zip", + "reference": "45fe843e3144a594f93a6a372385c6534c7df31c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "time": "2013-01-19 07:50:02", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "installation-source": "source", + "autoload": { + "psr-0": { + "Symfony\\Component\\Serializer\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "Symfony Serializer Component", + "homepage": "http://symfony.com" } ] diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/.gitattributes b/core/vendor/symfony/serializer/Symfony/Component/Serializer/.gitattributes deleted file mode 100644 index 80481513cff2..000000000000 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -/Tests export-ignore -phpunit.xml.dist export-ignore diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/CHANGELOG.md b/core/vendor/symfony/serializer/Symfony/Component/Serializer/CHANGELOG.md index de46533563bc..6ccf5e5c4095 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/CHANGELOG.md +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/CHANGELOG.md @@ -1,6 +1,16 @@ CHANGELOG ========= +2.2.0 +----- + + * [BC BREAK] All Serializer, Normalizer and Encoder interfaces have been + modified to include an optional `$context` array parameter. + * The XML Root name can now be configured with the `xml_root_name` + parameter in the context option to the `XmlEncoder`. + * Options to `json_encode` and `json_decode` can be passed through + the context options of `JsonEncode` and `JsonDecode` encoder/decoders. + 2.1.0 ----- diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainDecoder.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainDecoder.php index f555c6a8c982..6ece3b2205b9 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainDecoder.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainDecoder.php @@ -34,9 +34,9 @@ public function __construct(array $decoders = array()) /** * {@inheritdoc} */ - final public function decode($data, $format) + final public function decode($data, $format, array $context = array()) { - return $this->getDecoder($format)->decode($data, $format); + return $this->getDecoder($format)->decode($data, $format, $context); } /** diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainEncoder.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainEncoder.php index ebb81efb9ff3..bd10a2ad412a 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainEncoder.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainEncoder.php @@ -35,9 +35,9 @@ public function __construct(array $encoders = array()) /** * {@inheritdoc} */ - final public function encode($data, $format) + final public function encode($data, $format, array $context = array()) { - return $this->getEncoder($format)->encode($data, $format); + return $this->getEncoder($format)->encode($data, $format, $context); } /** diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/DecoderInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/DecoderInterface.php index e95271f740b0..ffd221fe8d58 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/DecoderInterface.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/DecoderInterface.php @@ -23,10 +23,11 @@ interface DecoderInterface * * @param scalar $data Data to decode * @param string $format Format name + * @param array $context options that decoders have access to. * * @return mixed */ - public function decode($data, $format); + public function decode($data, $format, array $context = array()); /** * Checks whether the serializer can decode from given format diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/EncoderInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/EncoderInterface.php index 4a68ad3fe9ea..2290db7f50d8 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/EncoderInterface.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/EncoderInterface.php @@ -23,10 +23,11 @@ interface EncoderInterface * * @param mixed $data Data to encode * @param string $format Format name + * @param array $context options that normalizers/encoders have access to. * * @return scalar */ - public function encode($data, $format); + public function encode($data, $format, array $context = array()); /** * Checks whether the serializer can encode to given format diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonDecode.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonDecode.php index 7ed8039eed87..e7cd9e073da5 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonDecode.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonDecode.php @@ -21,6 +21,7 @@ class JsonDecode implements DecoderInterface private $associative; private $recursionDepth; private $lastError = JSON_ERROR_NONE; + protected $serializer; public function __construct($associative = false, $depth = 512) { @@ -48,9 +49,20 @@ public function getLastError() * * @return mixed */ - public function decode($data, $format) + public function decode($data, $format, array $context = array()) { - $decodedData = json_decode($data, $this->associative, $this->recursionDepth); + $context = $this->resolveContext($context); + + $associative = $context['json_decode_associative']; + $recursionDepth = $context['json_decode_recursion_depth']; + $options = $context['json_decode_options']; + + if (version_compare(PHP_VERSION, '5.4.0') >= 0) { + $decodedData = json_decode($data, $associative, $recursionDepth, $options); + } else { + $decodedData = json_decode($data, $associative, $recursionDepth); + } + $this->lastError = json_last_error(); return $decodedData; @@ -63,4 +75,21 @@ public function supportsDecoding($format) { return JsonEncoder::FORMAT === $format; } + + /** + * Merge the default options of the Json Decoder with the passed context. + * + * @param array $context + * @return array + */ + private function resolveContext(array $context) + { + $defaultOptions = array( + 'json_decode_associative' => $this->associative, + 'json_decode_recursion_depth' => $this->recursionDepth, + 'json_decode_options' => 0 + ); + + return array_merge($defaultOptions, $context); + } } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncode.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncode.php index 280b8a973338..4e0de3ed7589 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncode.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncode.php @@ -41,14 +41,13 @@ public function getLastError() /** * Encodes PHP data to a JSON string * - * @param mixed $data - * @param string $format - * - * @return string + * {@inheritdoc} */ - public function encode($data, $format) + public function encode($data, $format, array $context = array()) { - $encodedJson = json_encode($data, $this->options); + $context = $this->resolveContext($context); + + $encodedJson = json_encode($data, $context['json_encode_options']); $this->lastError = json_last_error(); return $encodedJson; @@ -61,4 +60,15 @@ public function supportsEncoding($format) { return JsonEncoder::FORMAT === $format; } + + /** + * Merge default json encode options with context. + * + * @param array $context + * @return array + */ + private function resolveContext(array $context = array()) + { + return array_merge(array('json_encode_options' => $this->options), $context); + } } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncoder.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncoder.php index 73918b70516a..02b179bc91a6 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncoder.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncoder.php @@ -59,17 +59,17 @@ public function getLastDecodingError() /** * {@inheritdoc} */ - public function encode($data, $format) + public function encode($data, $format, array $context = array()) { - return $this->encodingImpl->encode($data, self::FORMAT); + return $this->encodingImpl->encode($data, self::FORMAT, $context); } /** * {@inheritdoc} */ - public function decode($data, $format) + public function decode($data, $format, array $context = array()) { - return $this->decodingImpl->decode($data, self::FORMAT); + return $this->decodingImpl->decode($data, self::FORMAT, $context); } /** diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/XmlEncoder.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/XmlEncoder.php index 11de50af08aa..909b3cefe7b4 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/XmlEncoder.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/XmlEncoder.php @@ -26,24 +26,36 @@ class XmlEncoder extends SerializerAwareEncoder implements EncoderInterface, Dec private $format; private $rootNodeName = 'response'; + /** + * Construct new XmlEncoder and allow to change the root node element name. + * + * @param string $rootNodeName + */ + public function __construct($rootNodeName = 'response') + { + $this->rootNodeName = $rootNodeName; + } + /** * {@inheritdoc} */ - public function encode($data, $format) + public function encode($data, $format, array $context = array()) { if ($data instanceof \DOMDocument) { return $data->saveXML(); } + $xmlRootNodeName = $this->resolveXmlRootName($context); + $this->dom = new \DOMDocument(); $this->format = $format; if (null !== $data && !is_scalar($data)) { - $root = $this->dom->createElement($this->rootNodeName); + $root = $this->dom->createElement($xmlRootNodeName); $this->dom->appendChild($root); - $this->buildXml($root, $data); + $this->buildXml($root, $data, $xmlRootNodeName); } else { - $this->appendNode($this->dom, $data, $this->rootNodeName); + $this->appendNode($this->dom, $data, $xmlRootNodeName); } return $this->dom->saveXML(); @@ -52,7 +64,7 @@ public function encode($data, $format) /** * {@inheritdoc} */ - public function decode($data, $format) + public function decode($data, $format, array $context = array()) { $internalErrors = libxml_use_internal_errors(true); $disableEntities = libxml_disable_entity_loader(true); @@ -269,12 +281,13 @@ private function parseXml($node) * * @param DOMNode $parentNode * @param array|object $data data + * @param string $xmlRootNodeName * * @return Boolean * * @throws UnexpectedValueException */ - private function buildXml($parentNode, $data) + private function buildXml($parentNode, $data, $xmlRootNodeName) { $append = true; @@ -310,21 +323,24 @@ private function buildXml($parentNode, $data) return $append; } + if (is_object($data)) { $data = $this->serializer->normalize($data, $this->format); if (null !== $data && !is_scalar($data)) { - return $this->buildXml($parentNode, $data); + return $this->buildXml($parentNode, $data, $xmlRootNodeName); } + // top level data object was normalized into a scalar if (!$parentNode->parentNode->parentNode) { $root = $parentNode->parentNode; $root->removeChild($parentNode); - return $this->appendNode($root, $data, $this->rootNodeName); + return $this->appendNode($root, $data, $xmlRootNodeName); } return $this->appendNode($parentNode, $data, 'data'); } + throw new UnexpectedValueException('An unexpected value could not be serialized: '.var_export($data, true)); } @@ -376,7 +392,7 @@ private function needsCdataWrapping($val) private function selectNodeType($node, $val) { if (is_array($val)) { - return $this->buildXml($node, $val); + return $this->buildXml($node, $val, null); } elseif ($val instanceof \SimpleXMLElement) { $child = $this->dom->importNode(dom_import_simplexml($val), true); $node->appendChild($child); @@ -399,4 +415,15 @@ private function selectNodeType($node, $val) return true; } + + /** + * Get real XML root node name, taking serializer options into account. + */ + private function resolveXmlRootName(array $context = array()) + { + return isset($context['xml_root_node_name']) + ? $context['xml_root_node_name'] + : $this->rootNodeName; + } + } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE b/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE index cdffe7aebc04..88a57f8d8da4 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2004-2012 Fabien Potencier +Copyright (c) 2004-2013 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/CustomNormalizer.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/CustomNormalizer.php index 4510fa0b8006..0ebe00fda54f 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/CustomNormalizer.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/CustomNormalizer.php @@ -19,18 +19,18 @@ class CustomNormalizer extends SerializerAwareNormalizer implements NormalizerIn /** * {@inheritdoc} */ - public function normalize($object, $format = null) + public function normalize($object, $format = null, array $context = array()) { - return $object->normalize($this->serializer, $format); + return $object->normalize($this->serializer, $format, $context); } /** * {@inheritdoc} */ - public function denormalize($data, $class, $format = null) + public function denormalize($data, $class, $format = null, array $context = array()) { $object = new $class; - $object->denormalize($this->serializer, $data, $format); + $object->denormalize($this->serializer, $data, $format, $context); return $object; } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php index 3f3bf883238d..5a1b4c196b59 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php @@ -32,6 +32,7 @@ interface DenormalizableInterface * @param array|scalar $data The data from which to re-create the object. * @param string|null $format The format is optionally given to be able to denormalize differently * based on different input formats. + * @param array $context options for denormalizing */ - public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null); + public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null, array $context = array()); } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizerInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizerInterface.php index 384f9febb668..1a5ff93f751d 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizerInterface.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizerInterface.php @@ -24,10 +24,11 @@ interface DenormalizerInterface * @param mixed $data data to restore * @param string $class the expected class to instantiate * @param string $format format the given data was extracted from + * @param array $context options available to the denormalizer * * @return object */ - public function denormalize($data, $class, $format = null); + public function denormalize($data, $class, $format = null, array $context = array()); /** * Checks whether the given class is supported for denormalization by this normalizer diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php index 2c5f1b3e874d..63e7a1dea91e 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php @@ -69,7 +69,7 @@ public function setIgnoredAttributes(array $ignoredAttributes) /** * {@inheritdoc} */ - public function normalize($object, $format = null) + public function normalize($object, $format = null, array $context = array()) { $reflectionObject = new \ReflectionObject($object); $reflectionMethods = $reflectionObject->getMethods(\ReflectionMethod::IS_PUBLIC); @@ -101,7 +101,7 @@ public function normalize($object, $format = null) /** * {@inheritdoc} */ - public function denormalize($data, $class, $format = null) + public function denormalize($data, $class, $format = null, array $context = array()) { $reflectionClass = new \ReflectionClass($class); $constructor = $reflectionClass->getConstructor(); diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizableInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizableInterface.php index fb77a836d8d9..07c3a4a8dd8e 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizableInterface.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizableInterface.php @@ -31,8 +31,9 @@ interface NormalizableInterface * can use it to normalize objects contained within this object. * @param string|null $format The format is optionally given to be able to normalize differently * based on different output formats. + * @param array $context Options for normalizing this object * * @return array|scalar */ - public function normalize(NormalizerInterface $normalizer, $format = null); + public function normalize(NormalizerInterface $normalizer, $format = null, array $context = array()); } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizerInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizerInterface.php index f0915db2b453..744307a2ba37 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizerInterface.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizerInterface.php @@ -23,10 +23,11 @@ interface NormalizerInterface * * @param object $object object to normalize * @param string $format format the normalization result will be encoded as + * @param array $context Context options for the normalizer * * @return array|scalar */ - public function normalize($object, $format = null); + public function normalize($object, $format = null, array $context = array()); /** * Checks whether the given class is supported for normalization by this normalizer diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Serializer.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Serializer.php index cad6963b164f..ab6fd58b5fde 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Serializer.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Serializer.php @@ -39,8 +39,8 @@ class Serializer implements SerializerInterface, NormalizerInterface, Denormaliz { protected $encoder; protected $decoder; - protected $normalizers = array(); - protected $normalizerCache = array(); + protected $normalizers = array(); + protected $normalizerCache = array(); protected $denormalizerCache = array(); public function __construct(array $normalizers = array(), array $encoders = array()) @@ -72,58 +72,58 @@ public function __construct(array $normalizers = array(), array $encoders = arra /** * {@inheritdoc} */ - final public function serialize($data, $format) + final public function serialize($data, $format, array $context = array()) { if (!$this->supportsEncoding($format)) { throw new UnexpectedValueException('Serialization for the format '.$format.' is not supported'); } if ($this->encoder->needsNormalization($format)) { - $data = $this->normalize($data, $format); + $data = $this->normalize($data, $format, $context); } - return $this->encode($data, $format); + return $this->encode($data, $format, $context); } /** * {@inheritdoc} */ - final public function deserialize($data, $type, $format) + final public function deserialize($data, $type, $format, array $context = array()) { if (!$this->supportsDecoding($format)) { throw new UnexpectedValueException('Deserialization for the format '.$format.' is not supported'); } - $data = $this->decode($data, $format); + $data = $this->decode($data, $format, $context); - return $this->denormalize($data, $type, $format); + return $this->denormalize($data, $type, $format, $context); } /** * {@inheritdoc} */ - public function normalize($data, $format = null) + public function normalize($data, $format = null, array $context = array()) { if (null === $data || is_scalar($data)) { return $data; } if (is_object($data) && $this->supportsNormalization($data, $format)) { - return $this->normalizeObject($data, $format); + return $this->normalizeObject($data, $format, $context); } if ($data instanceof \Traversable) { $normalized = array(); foreach ($data as $key => $val) { - $normalized[$key] = $this->normalize($val, $format); + $normalized[$key] = $this->normalize($val, $format, $context); } return $normalized; } if (is_object($data)) { - return $this->normalizeObject($data, $format); + return $this->normalizeObject($data, $format, $context); } if (is_array($data)) { foreach ($data as $key => $val) { - $data[$key] = $this->normalize($val, $format); + $data[$key] = $this->normalize($val, $format, $context); } return $data; @@ -134,9 +134,9 @@ public function normalize($data, $format = null) /** * {@inheritdoc} */ - public function denormalize($data, $type, $format = null) + public function denormalize($data, $type, $format = null, array $context = array()) { - return $this->denormalizeObject($data, $type, $format); + return $this->denormalizeObject($data, $type, $format, $context); } /** @@ -202,17 +202,17 @@ private function getDenormalizer($data, $type, $format = null) /** * {@inheritdoc} */ - final public function encode($data, $format) + final public function encode($data, $format, array $context = array()) { - return $this->encoder->encode($data, $format); + return $this->encoder->encode($data, $format, $context); } /** * {@inheritdoc} */ - final public function decode($data, $format) + final public function decode($data, $format, array $context = array()) { - return $this->decoder->decode($data, $format); + return $this->decoder->decode($data, $format, $context); } /** @@ -220,13 +220,14 @@ final public function decode($data, $format) * * @param object $object object to normalize * @param string $format format name, present to give the option to normalizers to act differently based on formats + * @param array $context The context data for this particular normalization * * @return array|scalar * * @throws LogicException * @throws UnexpectedValueException */ - private function normalizeObject($object, $format = null) + private function normalizeObject($object, $format = null, array $context = array()) { if (!$this->normalizers) { throw new LogicException('You must register at least one normalizer to be able to normalize objects.'); @@ -234,14 +235,14 @@ private function normalizeObject($object, $format = null) $class = get_class($object); if (isset($this->normalizerCache[$class][$format])) { - return $this->normalizerCache[$class][$format]->normalize($object, $format); + return $this->normalizerCache[$class][$format]->normalize($object, $format, $context); } foreach ($this->normalizers as $normalizer) { if ($normalizer->supportsNormalization($object, $format)) { $this->normalizerCache[$class][$format] = $normalizer; - return $normalizer->normalize($object, $format); + return $normalizer->normalize($object, $format, $context); } } @@ -254,27 +255,28 @@ private function normalizeObject($object, $format = null) * @param mixed $data data to restore * @param string $class the expected class to instantiate * @param string $format format name, present to give the option to normalizers to act differently based on formats + * @param array $context The context data for this particular denormalization * * @return object * * @throws LogicException * @throws UnexpectedValueException */ - private function denormalizeObject($data, $class, $format = null) + private function denormalizeObject($data, $class, $format = null, array $context = array()) { if (!$this->normalizers) { throw new LogicException('You must register at least one normalizer to be able to denormalize objects.'); } if (isset($this->denormalizerCache[$class][$format])) { - return $this->denormalizerCache[$class][$format]->denormalize($data, $class, $format); + return $this->denormalizerCache[$class][$format]->denormalize($data, $class, $format, $context); } foreach ($this->normalizers as $normalizer) { if ($normalizer->supportsDenormalization($data, $class, $format)) { $this->denormalizerCache[$class][$format] = $normalizer; - return $normalizer->denormalize($data, $class, $format); + return $normalizer->denormalize($data, $class, $format, $context); } } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerInterface.php index 143179fe7a31..d196d780a95b 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerInterface.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerInterface.php @@ -21,12 +21,13 @@ interface SerializerInterface /** * Serializes data in the appropriate format * - * @param mixed $data any data - * @param string $format format name + * @param mixed $data any data + * @param string $format format name + * @param array $context options normalizers/encoders have access to * * @return string */ - public function serialize($data, $format); + public function serialize($data, $format, array $context = array()); /** * Deserializes data into the given type. @@ -34,8 +35,9 @@ public function serialize($data, $format); * @param mixed $data * @param string $type * @param string $format + * @param array $context * * @return object */ - public function deserialize($data, $type, $format); + public function deserialize($data, $type, $format, array $context = array()); } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php new file mode 100644 index 000000000000..c2f60728d96d --- /dev/null +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php @@ -0,0 +1,80 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Serializer\Tests\Encoder; + +use Symfony\Component\Serializer\Encoder\JsonEncoder; +use Symfony\Component\Serializer\Serializer; +use Symfony\Component\Serializer\Normalizer\CustomNormalizer; + +class JsonEncoderTest extends \PHPUnit_Framework_TestCase +{ + protected function setUp() + { + $this->encoder = new JsonEncoder; + $this->serializer = new Serializer(array(new CustomNormalizer()), array('json' => new JsonEncoder())); + } + + public function testEncodeScalar() + { + $obj = new \stdClass; + $obj->foo = "foo"; + + $expected = '{"foo":"foo"}'; + + $this->assertEquals($expected, $this->encoder->encode($obj, 'json')); + } + + public function testComplexObject() + { + $obj = $this->getObject(); + + $expected = $this->getJsonSource(); + + $this->assertEquals($expected, $this->encoder->encode($obj, 'json')); + } + + public function testOptions() + { + $context = array('json_encode_options' => JSON_NUMERIC_CHECK); + + $arr = array(); + $arr['foo'] = "3"; + + $expected = '{"foo":3}'; + + $this->assertEquals($expected, $this->serializer->serialize($arr, 'json', $context)); + + $arr = array(); + $arr['foo'] = "3"; + + $expected = '{"foo":"3"}'; + + $this->assertEquals($expected, $this->serializer->serialize($arr, 'json'), 'Context should not be persistent'); + } + + + protected function getJsonSource() + { + return '{"foo":"foo","bar":["a","b"],"baz":{"key":"val","key2":"val","A B":"bar","item":[{"title":"title1"},{"title":"title2"}],"Barry":{"FooBar":{"Baz":"Ed","@id":1}}},"qux":"1"}'; + } + + protected function getObject() + { + $obj = new \stdClass; + $obj->foo = 'foo'; + $obj->bar = array('a', 'b'); + $obj->baz = array('key' => 'val', 'key2' => 'val', 'A B' => 'bar', 'item' => array(array('title' => 'title1'), array('title' => 'title2')), 'Barry' => array('FooBar' => array('Baz' => 'Ed', '@id' => 1))); + $obj->qux = "1"; + + return $obj; + } +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php index 23cb0217a6be..b23d4c793909 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php @@ -184,6 +184,23 @@ public function testEncode() $this->assertEquals($source, $this->encoder->encode($obj, 'xml')); } + public function testEncodeSerializerXmlRootNodeNameOption() + { + $options = array('xml_root_node_name' => 'test'); + $this->encoder = new XmlEncoder; + $serializer = new Serializer(array(), array('xml' => new XmlEncoder())); + $this->encoder->setSerializer($serializer); + + $array = array( + 'person' => array('@gender' => 'M', '#' => 'Peter'), + ); + + $expected = '<?xml version="1.0"?>'."\n". + '<test><person gender="M">Peter</person></test>'."\n"; + + $this->assertEquals($expected, $serializer->serialize($array, 'xml', $options)); + } + public function testDecode() { $source = $this->getXmlSource(); diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php index 468d44487645..09b8a5281216 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php @@ -17,7 +17,7 @@ class DenormalizableDummy implements DenormalizableInterface { - public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null) + public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null, array $context = array()) { } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php index cdcf510df0a2..6b33e8437440 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php @@ -23,7 +23,7 @@ class Dummy implements NormalizableInterface, DenormalizableInterface public $baz; public $qux; - public function normalize(NormalizerInterface $normalizer, $format = null) + public function normalize(NormalizerInterface $normalizer, $format = null, array $context = array()) { return array( 'foo' => $this->foo, @@ -33,7 +33,7 @@ public function normalize(NormalizerInterface $normalizer, $format = null) ); } - public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null) + public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null, array $context = array()) { $this->foo = $data['foo']; $this->bar = $data['bar']; diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php index ba1f924e015f..3ac2fe364f9a 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php @@ -18,7 +18,7 @@ class NormalizableTraversableDummy extends TraversableDummy implements NormalizableInterface, DenormalizableInterface { - public function normalize(NormalizerInterface $normalizer, $format = null) + public function normalize(NormalizerInterface $normalizer, $format = null, array $context = array()) { return array( 'foo' => 'normalizedFoo', @@ -26,7 +26,7 @@ public function normalize(NormalizerInterface $normalizer, $format = null) ); } - public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null) + public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null, array $context = array()) { return array( 'foo' => 'denormalizedFoo', diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php index 1b0516a4174e..e9db23882b58 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php +++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php @@ -21,12 +21,12 @@ class ScalarDummy implements NormalizableInterface, DenormalizableInterface public $foo; public $xmlFoo; - public function normalize(NormalizerInterface $normalizer, $format = null) + public function normalize(NormalizerInterface $normalizer, $format = null, array $context = array()) { return $format === 'xml' ? $this->xmlFoo : $this->foo; } - public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null) + public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null, array $context = array()) { if ($format === 'xml') { $this->xmlFoo = $data; -- GitLab