Commit Graph

127 Commits

Author SHA1 Message Date
FlorianLB
7418d29ae9 [Serializer] add missing unit tests related to Encoder 2015-11-18 11:51:45 +01:00
Daniel Wehner
15f9cf2740 Fix call to undefined function json_last_error_message 2015-11-18 11:05:38 +01:00
Nicolas Grekas
d86a3f3172 Merge branch '2.7' into 2.8
* 2.7:
  [ci] Phpunit tests wont run if composer is installed in a wrapper
  [ci] Add version tag in phpunit wrapper to trigger cache-reset on demand
  fix race condition at mkdir (#16258)
  [VarDumper] Fix PHP7 type-hints compat
  [Bridge] [PhpUnit] fixes documentation markup.
  [PropertyAccess] Port of the performance optimization from 2.3
  trigger deprecation warning when using empty_value
  [PropertyAccess] Test access to dynamic properties
  [PropertyAccess] Fix dynamic property accessing.
  [Serializer] GetSetNormalizer shouldn't set/get static methods
  [Serializer] PropertyNormalizer shouldn't set static properties
  JsonDescriptor - encode container params only once

Conflicts:
	src/Symfony/Component/VarDumper/Tests/Caster/ReflectionCasterTest.php
2015-11-09 13:46:59 +01:00
Fabien Potencier
1bed1772f6 bug #16454 [Serializer] GetSetNormalizer shouldn't set/get static methods (boekkooi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] GetSetNormalizer shouldn't set/get static methods

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | maybe
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This PR fixes setting static getters and setters when serializing.
This is strictly speaking a BC break but in my opinion a needed one because the current behavior is unexpected.

Commits
-------

d8d4405 [Serializer] GetSetNormalizer shouldn't set/get static methods
2015-11-05 14:03:56 +01:00
Warnar Boekkooi
d8d4405e50 [Serializer] GetSetNormalizer shouldn't set/get static methods 2015-11-04 15:11:04 +08:00
Warnar Boekkooi
b15bdca96d [Serializer] PropertyNormalizer shouldn't set static properties 2015-11-04 15:01:32 +08:00
Nicolas Grekas
3ecf2062b8 Merge branch '2.7' into 2.8
* 2.7:
  [tests] Use @requires annotation when possible
  [tests] Use @requires annotation when possible
  [ci] Enable collecting and replaying skipped tests
  [Process] Workaround buggy PHP warning
  [Console] Add additional ways to detect OS400 platform
  [Yaml] Allow tabs before comments at the end of a line
  Added more tests for PropertyAccess

Conflicts:
	.travis.yml
	src/Symfony/Bridge/Doctrine/composer.json
	src/Symfony/Bridge/Monolog/composer.json
	src/Symfony/Bridge/ProxyManager/composer.json
	src/Symfony/Bridge/Swiftmailer/composer.json
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/DebugBundle/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Bundle/TwigBundle/composer.json
	src/Symfony/Bundle/WebProfilerBundle/composer.json
	src/Symfony/Component/Asset/composer.json
	src/Symfony/Component/BrowserKit/composer.json
	src/Symfony/Component/ClassLoader/composer.json
	src/Symfony/Component/Config/composer.json
	src/Symfony/Component/Console/composer.json
	src/Symfony/Component/CssSelector/composer.json
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/DependencyInjection/composer.json
	src/Symfony/Component/DomCrawler/composer.json
	src/Symfony/Component/EventDispatcher/composer.json
	src/Symfony/Component/ExpressionLanguage/composer.json
	src/Symfony/Component/Filesystem/composer.json
	src/Symfony/Component/Finder/composer.json
	src/Symfony/Component/Form/composer.json
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/HttpKernel/composer.json
	src/Symfony/Component/Intl/composer.json
	src/Symfony/Component/Locale/composer.json
	src/Symfony/Component/OptionsResolver/composer.json
	src/Symfony/Component/Process/composer.json
	src/Symfony/Component/PropertyAccess/composer.json
	src/Symfony/Component/Routing/composer.json
	src/Symfony/Component/Security/Acl/composer.json
	src/Symfony/Component/Security/Core/composer.json
	src/Symfony/Component/Security/Csrf/composer.json
	src/Symfony/Component/Security/Http/composer.json
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Serializer/composer.json
	src/Symfony/Component/Stopwatch/composer.json
	src/Symfony/Component/Templating/composer.json
	src/Symfony/Component/Translation/Tests/Dumper/IcuResFileDumperTest.php
	src/Symfony/Component/Translation/composer.json
	src/Symfony/Component/Validator/composer.json
	src/Symfony/Component/VarDumper/composer.json
	src/Symfony/Component/Yaml/composer.json
2015-10-10 11:36:22 +02:00
Nicolas Grekas
b028aeaa04 [tests] Use @requires annotation when possible 2015-10-10 11:00:45 +02:00
Christophe Coevoet
e610b416c9 Merge branch '2.7' into 2.8
* 2.7:
  Fix license headers
  Ensure the ClockMock is loaded before using it in the testsuite
  Fix with_minutes option in time widget
  Fixed properties not explicitily declared
2015-09-26 21:48:07 +02:00
François-Xavier de Guillebon
d2b3fe4c72 Fixed properties not explicitily declared 2015-09-14 11:40:15 +02:00
Nicolas Grekas
922a534427 Merge branch '2.7' into 2.8
* 2.7:
  Mark deprecated Twig functions as deprecated with the Twig feature
  [appveyor] PHP 5.3.11 for Symfony 2.7
  [HttpKernel] Group deprecation notices

Conflicts:
	appveyor.yml
2015-09-01 09:33:03 +02:00
Nicolas Grekas
0f2256e85a [appveyor] PHP 5.3.11 for Symfony 2.7 2015-08-31 18:44:53 +02:00
Fabien Potencier
aad7963ede Merge branch '2.7' into 2.8
* 2.7:
  fixes CS
2015-08-24 09:18:02 +02:00
Fabien Potencier
c0e4495b66 fixes CS 2015-08-24 09:13:45 +02:00
Fabien Potencier
1fc31243de Merge branch '2.7' into 2.8
* 2.7:
  [Form] fixed BC-break on grouped choice lists
  [WebProfilerBundle] add import for Twig macro
  made Symfony compatible with both Twig 1.x and 2.x
  [Debug/VarDumper] minor cleanups
  [Form] only use PropertyPath if not already callable
  [Form] fix reworked choice list phpdoc
  [DoctrineBridge][Form] Add old tests to legacy group
  Fixed warning when command alias is longer than command name
  removed _self usage when not needed
  Implement the support of timezone objects in the stub IntlDateFormatter
  typofix - https://github.com/vlajos/misspell_fixer
  make doctrine mappings compiler pass exception message more understandable
  fix debug-ext 003.phpt
  [Yaml] Nested merge keys
  [FrameworkBundle] [Command] removed unused variable.
  [Debug] Enhance DebugClassLoader performance on MacOSX
  Add support for variadic arguments in the GetSetNormalizer
  [DoctrineBridge][Form] Fix IdReader when indexing by primary foreign key
  [DoctrineBridge][Form] Fix EntityChoiceList when indexing by primary foreign key
2015-08-22 09:42:07 +02:00
Nicolas Grekas
c0ff72802c Merge branch '2.3' into 2.7
* 2.3:
  typofix - https://github.com/vlajos/misspell_fixer
  [Yaml] Nested merge keys
  Add support for variadic arguments in the GetSetNormalizer

Conflicts:
	src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
	src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
	src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php
	src/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml
2015-08-11 09:58:34 +02:00
Christophe Coevoet
704760b276 Add support for variadic arguments in the GetSetNormalizer 2015-08-01 21:55:55 +02:00
Nicolas Grekas
415e6f658f Merge branch '2.7' into 2.8
* 2.7:
  [Twig+FrameworkBundle] Fix forward compat with Form 2.8
  [2.6] Static Code Analysis for Components
  [Security/Http] Fix test relying on a private property
  [Serializer] Fix bugs reported in b5990be491 (commitcomment-12301266)

Conflicts:
	src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php
	src/Symfony/Component/Security/Http/Tests/Firewall/AnonymousAuthenticationListenerTest.php
2015-07-24 10:37:00 +02:00
Kévin Dunglas
65e9f268fe [Serializer] Fix bugs reported in b5990be491 (commitcomment-12301266) 2015-07-22 21:42:44 +02:00
Fabien Potencier
f5fefeff49 Merge branch '2.7' into 2.8
* 2.7:
  Added 'default' color
  [HttpFoundation] Reload the session after regenerating its id
  [HttpFoundation] Add a test case to confirm a bug in session migration
  [Serializer] Fix ClassMetadata::sleep()
  [2.6] Static Code Analysis for Components and Bundles
  [Finder] Command::addAtIndex() fails with Command instance argument
  [DependencyInjection] Freeze also FrozenParameterBag::remove
  [Twig][Bridge] replaced `extends` with `use` in bootstrap_3_horizontal_layout.html.twig
  fix CS
  fixed CS
  Add a way to reset the singleton
  [Security] allow to use `method` in XML configs
  [Serializer] Fix Groups tests.
  Remove duplicate example
  Remove var not used due to returning early (introduced in 8982c32)
  [Serializer] Fix Groups PHPDoc
  Enhance hhvm test skip message
  fix for legacy asset() with EmptyVersionStrategy
  [Form] Added upgrade notes for #15061
2015-07-09 18:11:14 +02:00
Fabien Potencier
b2fddecde9 bug #15176 [Serializer] Fix ClassMetadata::sleep() (dunglas)
This PR was squashed before being merged into the 2.7 branch (closes #15176).

Discussion
----------

[Serializer] Fix ClassMetadata::sleep()

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Fix a bug with the `sleep()` method. It is blocking under when using the APC metadata cache.

Commits
-------

2f42801 [Serializer] Fix ClassMetadata::sleep()
2015-07-08 08:12:51 +02:00
Kévin Dunglas
2f4280110d [Serializer] Fix ClassMetadata::sleep() 2015-07-08 08:12:45 +02:00
Kévin Dunglas
2bd8fb8f97 [Serializer] Fix Groups tests. 2015-07-04 12:02:28 +02:00
Nicolas Grekas
7304ba185b Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] Reuse PropertyAccessor service for ObjectNormalizer
  [VarDumper] Fix dump output for better readability
  [PhpUnitBridge] Enforce @-silencing of deprecation notices according to new policy
2015-06-19 17:09:14 +02:00
Nicolas Grekas
9eea9eb848 [PhpUnitBridge] Enforce @-silencing of deprecation notices according to new policy 2015-06-18 21:21:56 +02:00
Fabien Potencier
5593bdd56e Merge branch '2.7' into 2.8
* 2.7: (95 commits)
  [DependencyInjection] provide better error message when using deprecated configuration options
  [console][TableCell] get cell width without decoration.
  Improve the config validation in TwigBundle
  [VarDumper] Changed tooltip to expand-all keybinding in OS X
  [Bridge\PhpUnit] Fix composer installed phpunit detection
  [VarDumper] Fix generic casters calling order
  [2.7][SecurityBundle] Remove SecurityContext from Compile
  [WebProfilerBundle][logger] added missing deprecation message.
  Fix profiler CSS
  [Security][Acl] enforce string identifiers
  [FrameworkBundle] make `templating.helper.router` service available again for BC reasons
  [BrowserKit] Fix bug when uri starts with http.
  bumped Symfony version to 2.7.1
  updated VERSION for 2.7.0
  updated CHANGELOG for 2.7.0
  bumped Symfony version to 2.6.10
  updated VERSION for 2.6.9
  updated CHANGELOG for 2.6.9
  fixed tests
  bumped Symfony version to 2.3.31
  ...

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/logger.html.twig
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Translation/Loader/JsonFileLoader.php
2015-06-04 22:21:09 +02:00
Alexander M. Turek
0573f28d9b Support for array denormalization. 2015-05-26 22:25:23 +02:00
Fabien Potencier
2aeaa22e31 bug #14745 [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional (boekkooi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] AbstractNormalizer::instantiateObject allow default values when not optional

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This PR fixes a bug in the AbstractNormalizer when denormalizing a array with a missing value but a default value set in the class constructor.

Commits
-------

266d53e [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional
2015-05-25 09:45:54 +02:00
Warnar Boekkooi
d546080d20 [Serializer] AbstractNormalizer::instantiateObject avoid null rejection 2015-05-25 09:37:02 +02:00
Warnar Boekkooi
266d53e5e8 [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional 2015-05-25 07:36:47 +08:00
Kévin Dunglas
c9bff461bc [Serializer] Ignore \Traversable in default normalizers. Close #14495. 2015-05-04 09:31:19 +02:00
Kévin Dunglas
454ef8cc6f [Serializer] Fix a bug when using groups together with a name converter 2015-04-27 14:05:43 +02:00
Kévin Dunglas
9c87eccf9f [Serializer] Supports hassers and setters for groups annotations 2015-04-02 22:29:07 +02:00
Fabien Potencier
6b02541880 Merge branch '2.6' into 2.7
* 2.6:
  Fix small coding style
  [2.3] Static Code Analysis for Components
  [Form] fixed phpdoc
  CS: Convert double quotes to single quotes
  Fixed MongoODM entity loader. Improved loading behavior of entities and documents by reusing entity loader.
  [Validator] added Japanese translation for unmatched charset (id: 80)
  [WebProfilerBundle] fixed undefined buttons.
  [WebProfilerBundle] Fix javascript toolbar on IE8
  [DependencyInjection] Highest precedence for user parameters
  bumped Symfony version to 2.6.6
  [Translation][MoFileLoader] fixed load empty translation.
  updated VERSION for 2.6.5
  updated CHANGELOG for 2.6.5
  bumped Symfony version to 2.3.27
  updated VERSION for 2.3.26
  update CONTRIBUTORS for 2.3.26
  updated CHANGELOG for 2.3.26
  [HttpKernel] UriSigner::buildUrl - default params for http_build_query

Conflicts:
	src/Symfony/Bridge/Propel1/Tests/DataCollector/PropelDataCollectorTest.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php
	src/Symfony/Component/Validator/Resources/translations/validators.ja.xlf
2015-03-22 17:57:18 +01:00
Fabien Potencier
618b7dcfb8 Merge branch '2.3' into 2.6
* 2.3:
  Fix small coding style
  [2.3] Static Code Analysis for Components
  [Form] fixed phpdoc
  CS: Convert double quotes to single quotes
  Fixed MongoODM entity loader. Improved loading behavior of entities and documents by reusing entity loader.
  [Validator] added Japanese translation for unmatched charset (id: 80)
  [DependencyInjection] Highest precedence for user parameters
  [Translation][MoFileLoader] fixed load empty translation.
  bumped Symfony version to 2.3.27
  updated VERSION for 2.3.26
  update CONTRIBUTORS for 2.3.26
  updated CHANGELOG for 2.3.26

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
	src/Symfony/Bundle/TwigBundle/Command/LintCommand.php
	src/Symfony/Component/Config/Definition/ReferenceDumper.php
	src/Symfony/Component/Debug/ExceptionHandler.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Compiler/MergeExtensionConfigurationPassTest.php
	src/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php
	src/Symfony/Component/Filesystem/Filesystem.php
	src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
	src/Symfony/Component/Translation/PluralizationRules.php
	src/Symfony/Component/Validator/Constraints/IssnValidator.php
	src/Symfony/Component/Validator/Resources/translations/validators.ja.xlf
	src/Symfony/Component/Yaml/Tests/InlineTest.php
2015-03-22 17:55:57 +01:00
Dariusz Ruminski
f99c22c08a CS: Convert double quotes to single quotes 2015-03-21 12:11:30 +01:00
Fabien Potencier
59ca5b3af9 Merge branch '2.6' into 2.7
* 2.6:
  Marked the ResolveParameterPlaceHoldersPassTest as legacy
  [ExpressionLanguage] fixed issues when parsing postfix expressions
  remove unused code
  do not inline service factories
  resolve class parameters in service factories
  [Serializer] Fix object normalization exceptions

Conflicts:
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php
	src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
	src/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php
	src/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php
2015-03-17 13:50:07 +01:00
Kévin Dunglas
500df475a6 [Serializer] Fix object normalization exceptions 2015-03-16 00:12:13 +01:00
Nicolas Grekas
eb728c5e4c [2.7] add @group legacy 2015-03-13 18:50:01 +01:00
sarah khalil
a818ab2fb1 Changed visibility of setUp() and tearDown to protected 2015-03-13 10:59:53 +01:00
Kévin Dunglas
0050bbb345 [Serializer] Introduce ObjectNormalizer 2015-03-06 11:52:53 +01:00
Kévin Dunglas
8534505db5 [Serializer] Refactoring of metadata 2015-03-06 11:33:18 +01:00
Kévin Dunglas
df0fe30896 [Serializer] Test that normalizers ignore non-existing attributes. 2015-03-03 09:32:43 +01:00
Nicolas Grekas
acac734d08 [PhpUnitBridge] new bridge for testing with PHPUnit 2015-02-18 11:38:04 +01:00
Fabien Potencier
7af0196d89 feature #13500 [Serializer] Normalizers can serialize collections and scalars (dunglas)
This PR was squashed before being merged into the 2.7 branch (closes #13500).

Discussion
----------

[Serializer] Normalizers can serialize collections and scalars

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
| Doc PR       | n/a

Currently, the logic for serializing `array` and scalars is hardcoded in the serializer. This is not possible to have a custom serializer normalizing collections. This a big limitation, for instance it's not possible to create an normalizer creating [Hydra collections](http://www.hydra-cg.com/spec/latest/core/#h-collections) for a PHP array.

This PR fix that.

Commits
-------

1cf8eb2 [Serializer] Normalizers can serialize collections and scalars
2015-02-11 11:46:00 +01:00
Kévin Dunglas
1cf8eb2d85 [Serializer] Normalizers can serialize collections and scalars 2015-02-11 11:45:57 +01:00
Kévin Dunglas
8135843b70 [Serializer] Silent deprecation notice 2015-02-04 21:45:48 +01:00
Fabien Potencier
54e07c95dc minor #13580 [Serializer] Use autoloader for annotations in tests (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] Use autoloader for annotations in tests

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
| Doc PR        | n/a

Commits
-------

75e2ebf [Serializer] Use autoloader for annotations in tests
2015-02-04 13:46:41 +01:00
Kévin Dunglas
8ddc888f00 [Serializer] Use Serializer's LogicException when applicable 2015-02-03 23:38:39 +01:00
Kévin Dunglas
75e2ebfa30 [Serializer] Use autoloader for annotations in tests 2015-02-03 23:16:32 +01:00