Commit Graph

18868 Commits

Author SHA1 Message Date
Fabien Potencier
89742b0275 tweaked Travis configuration to get more tests running 2014-03-30 09:39:38 +02:00
Fabien Potencier
95f8e43205 bug #10581 [Validator][Email] - When standalone "Fatal error: Class 'validator.email' not found" (egulias)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Validator][Email] - When standalone "Fatal error: Class 'validator.email' not found"

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/silexphp/Silex/issues/932
| License       | MIT
| Doc PR        | no

When using the validator as an standalone component a bug was introduced by overriding the `validatedBy()` method in the `Email` constraint.
This PR removes the override and implements a way for the DI to get the right validator.

Another way would be modifying the definition of validator to change the alias instead of having the FQCN in the xml

Commits
-------

e79b3a9 Change in validator.email service alias to match the validator FQCN
2014-03-30 09:34:45 +02:00
Eduardo Gulias Davis
e79b3a9755 Change in validator.email service alias to match the validator FQCN 2014-03-30 09:34:45 +02:00
Fabien Potencier
78e52ae517 bug #10579 HHVM fixes (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

HHVM fixes

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

Fixes support for HHVM in the Process component and upgraded PHPUnit to version 4 for the same reason.

Commits
-------

9e6af95 fixed float comparison in unit tests for HHVM
73189b1 upgraded PHPUnit to version 4 for better HHVM support
8fbea0f [Process] fixed HHVM usage on the CLI
2014-03-30 09:33:31 +02:00
Fabien Potencier
9e6af955f5 fixed float comparison in unit tests for HHVM 2014-03-30 09:33:31 +02:00
Fabien Potencier
73189b1774 upgraded PHPUnit to version 4 for better HHVM support 2014-03-30 09:33:31 +02:00
Fabien Potencier
8fbea0fe4d [Process] fixed HHVM usage on the CLI 2014-03-30 09:33:30 +02:00
Fabien Potencier
9f25978643 minor #10577 [ClassLoader] Fix class names in ApcUniversalClassLoader tests. (idn2104)
This PR was merged into the 2.3 branch.

Discussion
----------

[ClassLoader] Fix class names in ApcUniversalClassLoader tests.

[ClassLoader] These tests were failing due to a leading slash in the class name. Support for the leading slash in findFile was removed a while ago, but the Apc tests were not updated. See #10576 for more details.

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

Commits
-------

dc0f8f9 Fix class names in ApcUniversalClassLoader tests.
2014-03-29 07:58:16 +01:00
Ioan Negulescu
dc0f8f9df8 Fix class names in ApcUniversalClassLoader tests. 2014-03-29 07:58:16 +01:00
Bernhard Schussek
4262707e5a [PropertyAccess] Fixed CS and added missing documentation 2014-03-28 19:21:04 +01:00
Bernhard Schussek
ce0efb189f [Form] ObjectChoiceList now compares choices by their value, if a value path is given 2014-03-28 18:03:44 +01:00
Bernhard Schussek
6d2af217aa [PropertyAccess] Added isReadable() and isWritable() 2014-03-28 17:21:37 +01:00
Bernhard Schussek
20e6bf8f49 [PropertyAccess] Refactored PropertyAccessorCollectionTest 2014-03-28 17:07:20 +01:00
Bernhard Schussek
0488389d95 [PropertyAccess] Refactored PropertyAccessorTest 2014-03-28 15:56:23 +01:00
Bernhard Schussek
b44e07b7f6 [Form] Added test case for 4759e062ed004749dbdc2ba31aef0f8ac2601895 2014-03-28 12:45:50 +01:00
Matt Janssen
7bc7a8a6ec [Form] Accept interfaces to be passed to "data_class" 2014-03-28 12:44:51 +01:00
Fabien Potencier
73f6c16163 bug #10564 fixed the profiler when an uncalled listener throws an exception when instantiated (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

fixed the profiler when an uncalled listener throws an exception when instantiated

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

When the profiler gets the uncalled listeners, the current page is broken without a very clear message. That happens when a listener is a service that depends for instance on the request; creating this service throws an exception.

After this patch, if we cannot get the listeners, we give up and add a log message about the problem (the error message is an info as the problem is not really related to the toolbar but more about how things work).

Commits
-------

79540d4 fixed the profiler when an uncalled listener throws an exception when instantiated
2014-03-28 12:42:50 +01:00
Fabien Potencier
79540d4b6e fixed the profiler when an uncalled listener throws an exception when instantiated 2014-03-28 12:42:49 +01:00
Fabien Potencier
8a19b9ac08 fixed CS 2014-03-28 11:34:27 +01:00
Fabien Potencier
e2b82d36cb bug #10568 [Form] Fixed hashing of choice lists containing non-UTF-8 characters (webmozart)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Fixed hashing of choice lists containing non-UTF-8 characters

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

Commits
-------

18dc9a7 Added test case for 4c6a2d15095c13b2a35751b2b2712b183be489c4
73d56f7 Fixed bug in ChoiceType triggering a warning when not using utf-8
2014-03-28 11:31:34 +01:00
Bernhard Schussek
18dc9a7f5f Added test case for 4c6a2d15095c13b2a35751b2b2712b183be489c4 2014-03-28 11:31:34 +01:00
Koen Kuipers
73d56f7a1a Fixed bug in ChoiceType triggering a warning when not using utf-8
This fixes issue #10409 by not using json_encode anymore, but serialize
instead.
2014-03-28 11:31:34 +01:00
Fabien Potencier
3cd1c9cd5b bug #10565 fixed typos (fabpot)
This PR was merged into the 2.5-dev branch.

Discussion
----------

fixed typos

/cc @nicolas-grekas

Commits
-------

584b5c0 fixed typos
2014-03-28 10:40:08 +01:00
Fabien Potencier
584b5c0508 fixed typos 2014-03-28 10:40:08 +01:00
Fabien Potencier
4a0382b58a fixed CS 2014-03-27 21:36:23 +01:00
Fabien Potencier
f4ffd95713 fixed CS 2014-03-27 19:14:33 +01:00
Fabien Potencier
128ca44437 bug #10536 Avoid levenshtein comparison when using ContainerBuilder. (catch56)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #10536).

Discussion
----------

Avoid levenshtein comparison when using ContainerBuilder.

[DependencyInjection] ContainerBuilder catches exceptions when a service isn't found by Container::get().

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

In the process of building the exception message, I saw over 13k calls to levenshtein() when profiling a Drupal request where there's no compiled container yet, this adds around 36ms+ to the request for the function calls themselves, more for the overall logic.

Made the levenshtein calls optional based on a property on the class, then ContainerBuilder can set that to false and skip the suggestions.

![lev-before](https://f.cloud.github.com/assets/116285/2525110/d6dd3a90-b4eb-11e3-934a-a3726e0f8f09.png)
![lev-after](https://f.cloud.github.com/assets/116285/2525114/dd2de0fc-b4eb-11e3-8df0-598cadf2286b.png)

Commits
-------

cc9cc37 Avoid levenshtein comparison when using ContainerBuilder.
2014-03-27 19:13:32 +01:00
catch
cc9cc37e79 Avoid levenshtein comparison when using ContainerBuilder. 2014-03-27 19:13:32 +01:00
Fabien Potencier
9e78a0603e Merge branch '2.4'
* 2.4:
  added missing unit test
  fixed too greedy replacements
  fixed protocol-relative URLs
  added override power to server parameters provided on request method
  made parsing controllers more robust
  Fixed YamlFileLoader imports path
2014-03-27 15:53:24 +01:00
Fabien Potencier
82cbf698b7 Merge branch '2.3' into 2.4
* 2.3:
  added missing unit test
  fixed too greedy replacements
  fixed protocol-relative URLs
  added override power to server parameters provided on request method
  made parsing controllers more robust
  Fixed YamlFileLoader imports path

Conflicts:
	src/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php
2014-03-27 15:53:17 +01:00
Fabien Potencier
ea4b8bf993 minor #10558 [DependencyInjection] added missing unit test (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] added missing unit test

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

Added a unit test to ensure that #10536 won't break BC.

Commits
-------

47d1592 added missing unit test
2014-03-27 15:52:08 +01:00
Fabien Potencier
47d1592b56 added missing unit test 2014-03-27 15:52:07 +01:00
Fabien Potencier
b78d1746f0 minor #10554 framework_bundle -> framework (mvrhov)
This PR was merged into the 2.5-dev branch.

Discussion
----------

framework_bundle -> framework

Commits
-------

85cf7a7 framework_bundle -> framework
2014-03-27 14:47:58 +01:00
Miha Vrhovnik
85cf7a762c framework_bundle -> framework 2014-03-27 14:47:58 +01:00
Fabien Potencier
e505ecdacd feature #10370 [FrameworkBundle][Console] Add parameter descriptors (inalgnu)
This PR was squashed before being merged into the 2.5-dev branch (closes #10370).

Discussion
----------

[FrameworkBundle][Console] Add parameter descriptors

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

I've added several descriptors for each format, henceforth :
``php app/console container:debug --parameter=database_name --format=txt`` will output:
``symfony``

``php app/console container:debug --parameter=database_name --format=json`` will output:
```json
{
    "database_name": "symfony"
}
```

``php app/console container:debug --parameter=database_name --format=xml`` will output :
```xml
<?xml version="1.0" encoding="UTF-8"?>
<parameter key="database_name">symfony</parameter>
```
and ``php app/console container:debug --parameter=database_name --format=md`` will output :
```md
database_name
=============

symfony
```

what do you think ?

Commits
-------

6aa1050 Add parameter descriptors
2014-03-27 12:26:27 +01:00
Inal DJAFAR
6aa1050793 Add parameter descriptors 2014-03-27 12:26:27 +01:00
Fabien Potencier
0380d1456a bug #10549 Fixed server values in BrowserKit (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

Fixed server values in BrowserKit

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

Commits
-------

65b9810 fixed too greedy replacements
d9cf28d fixed protocol-relative URLs
289da16 added override power to server parameters provided on request method
2014-03-27 10:14:18 +01:00
Fabien Potencier
65b98102d1 fixed too greedy replacements 2014-03-27 10:14:18 +01:00
Fabien Potencier
d9cf28d016 fixed protocol-relative URLs 2014-03-27 10:14:18 +01:00
Luis Cordova
289da16681 added override power to server parameters provided on request method 2014-03-27 10:14:17 +01:00
Fabien Potencier
4a06daf2c3 feature #9818 [TwigBundle] Add command to list twig functions, filters, globals and tests (Seldaek)
This PR was squashed before being merged into the 2.5-dev branch (closes #9818).

Discussion
----------

[TwigBundle] Add command to list twig functions, filters, globals and tests

Sample output:

```
$ app/console twig:doc date
Functions
  date(date = null, timezone = null)

Filters
  date(format = null, timezone = null)
  date_modify(modifier)
```

JSON output also available, could be helpful for IDEs.

Possible improvement would be to read the first line of the docblock of each method/function to show a bit more info.

Feedback welcome on the command's name. Not really convinced but too late to think of something better.

Credits to @gagarine for the great idea

Commits
-------

7d61154 Add command to list twig functions, filters, globals and tests
2014-03-27 08:58:32 +01:00
Jordi Boggiano
7d61154e7a Add command to list twig functions, filters, globals and tests 2014-03-27 08:58:32 +01:00
Fabien Potencier
9068875a5e bug #10540 [HttpKernel] made parsing controllers more robust (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] made parsing controllers more robust

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

Under some circumstances (like passing an object without an __invoke method), the Controller resolver would lead to a PHP fatal. This PR fixes that, improved error messages, and refactored the unit tests.

Commits
-------

6dba229 made parsing controllers more robust
2014-03-27 08:52:42 +01:00
Fabien Potencier
6dba2296f1 made parsing controllers more robust 2014-03-27 08:52:42 +01:00
Fabien Potencier
caabd415b1 feature #10546 [Validator] Improved ISBN validator (sprain)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Validator] Improved ISBN validator

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #10386, #10387, #10542
| License       | MIT
| Doc PR        | symfony/symfony-docs/pull/3724

This is a new PR of #10542, now on master branch.

Todos:
- [x] Discuss and determine deprecation versions
- [x] Update docs

After following some discussion in the tickets mentioned above I have improved the ISBN validator, which has had some inconsistencies:

* Use a `type` which can be set to `isbn10` or `isbn13` or `null` (checks if value matches any type) instead of the current boolean `isbn10` and `isbn13` options which cause confusion (e.q. if both are true, does this mean the value must match any or both? You could think it's the latter, but that's actually impossible.).
* In the IBAN validator we recently agreed to be strict about upper- and lowercase handling (#10489). Therefore this should be also the case with the ISBN validator. Some ISBN10 numbers may end with an uppercase `X` (representing the check-digit 10), while a lowercase `x` is considered wrong (see [here](http://www.goodreads.com/topic/show/1253500-a-question-about-isbn-10-s---ending-in-x) and [here](http://en.wikipedia.org/wiki/Category:Pages_with_ISBN_errors)). I did not have access to the actual specifications as I have only found documentation which costs about $100 (e.q. [here](http://www.iso.org/iso/catalogue_detail?csnumber=36563)).

To avoid bc breaks I suggest to introduce deprecations for current constraint options. [In the documentation](http://symfony.com/doc/current/contributing/code/conventions.html#deprecations) I haven't found any information about which versions may introduce deprecations, so you might have to help me out here with hints on how to handle it correctly. I'll be happy to provide the code with the deprecated parts removed after that.

Commits
-------

ec42844 Improved ISBN validator
2014-03-27 08:46:44 +01:00
Manuel Reinhard
ec428445a1 Improved ISBN validator 2014-03-27 08:46:43 +01:00
Fabien Potencier
711788b794 fixed CS 2014-03-27 08:45:48 +01:00
Fabien Potencier
cb147eccb2 feature #10457 [Serializer] Unify usage of normalizer cache (Berdir)
This PR was squashed before being merged into the 2.5-dev branch (closes #10457).

Discussion
----------

[Serializer] Unify usage of normalizer cache

| Q             | A
| ------------- | ---
| Bug fix?      | no (unless performance problems are considered bugs)
| New feature?  | no
| BC breaks?    | no (unless the exception structure should be simplified)
| Deprecations? | no
| Tests pass?   | yes ( I had some test fails locally when running the whole suite, but not related to Serializer)
| Fixed tickets |
| License       | MIT
| Doc PR        |

Some clean-up of the Serialization class, which has methods to get the Normalizer/Denormalizer but then repeats that logic in normalizeObject()/denormalizeObject().

Took great care to keep the exception behavior exactly like it is now as the tests depend on it, but it's strange (the methods use different exception classes if no normalizer is found and the "no normalizer" LogicException only exists in normalizeObject/denomalizeObject. That could easily be simplified further, to the point where those functions could easily be merged into the calling methods, as it would just be a single line of code. There is also a duplicate call to $this->normalizeObject() in normalize() that just exists to throw the LogicException for Symfony\Component\Serializer\Tests\SerializerTest::testSerializeNoNormalizer. Other tests do not except that to be thrown there, though.

Also noticed that getNormalizer()/getDenormalizer() are documented as @inheritdocs, which is a lie as they are private. Added some basic docs there.

This is performance relevant, as not having the cache in the getter methods means all normalizers are checked again to verify if a normalizer supports the data.

Commits
-------

e7389aa Move normalizer cache to getNormalier()/getDenormalizer(), use those in normalizeObject()/denormalizeObject()
2014-03-27 08:44:58 +01:00
Sascha Grossenbacher
e7389aa24c Move normalizer cache to getNormalier()/getDenormalizer(), use those in normalizeObject()/denormalizeObject() 2014-03-27 08:44:58 +01:00
Fabien Potencier
e4ff8ae22f bug #10545 [DependencyInjection] Fixed YamlFileLoader imports path (jrnickell)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] Fixed YamlFileLoader imports path

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10516
| License       | MIT
| Doc PR        | http://symfony.com/doc/current/book/service_container.html#importing-configuration-with-imports

YamlFileLoader used the resource name as the current directory during import, which can cause a failed import when using a relative path. Using the $path variable output from the locator is consistent with other loaders and fixes the bug.

Commits
-------

fd1d48b Fixed YamlFileLoader imports path
2014-03-27 08:28:37 +01:00