Commit Graph

17748 Commits

Author SHA1 Message Date
Fabien Potencier 6f72d6346e minor #16580 Add missing exclusions from phpunit.xml.dist (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

Add missing exclusions from phpunit.xml.dist

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

Commits
-------

d4880c4 Add missing exclusions from phpunit.xml.dist
2015-11-18 11:16:24 +01:00
Fabien Potencier a4ea881109 minor #16566 [HttpFoundation] Fix undefined array $server (belka-ew)
This PR was submitted for the 2.8 branch but it was merged into the 2.3 branch instead (closes #16566).

Discussion
----------

[HttpFoundation] Fix undefined array $server

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

$server variable isn't defined in the test /src/Symfony/Component/HttpFoundation/Tests/RequestTest.php:RequestTest

Commits
-------

75aa6f6 Fix undefined array $server
2015-11-18 11:13:04 +01:00
Eugene Wissner 75aa6f68f8 Fix undefined array $server 2015-11-18 11:13:04 +01:00
Nicolas Grekas 040b4095fa minor #16553 [ProxyManager] Tmp fix composer reqs issue in ZF (nicolas-grekas)
This PR was submitted for the 2.8 branch but it was merged into the 2.3 branch instead (closes #16553).

Discussion
----------

[ProxyManager] Tmp fix composer reqs issue in ZF

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

See https://github.com/Ocramius/ProxyManager/issues/260#issuecomment-156962918

Commits
-------

0125145 [ProxyManager] Tmp fix composer reqs issue in ZF
2015-11-18 10:04:25 +01:00
Nicolas Grekas 01251455c0 [ProxyManager] Tmp fix composer reqs issue in ZF 2015-11-18 10:04:13 +01:00
Nicolas Grekas d4880c4785 Add missing exclusions from phpunit.xml.dist 2015-11-18 09:19:46 +01:00
Fabien Potencier c0f7463c3e bug #16352 Fix the server variables in the router_*.php files (leofeyer)
This PR was squashed before being merged into the 2.3 branch (closes #16352).

Discussion
----------

Fix the server variables in the router_*.php files

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

The built-in web server automatically rewrites everything to the `app_dev.php` script, but it does not adjust the server variables accordingly.

Here is the output of `print_r($_SERVER)` on Apache with mod_rewrite enabled (relevant lines only):

```
Array
(
    [REQUEST_URI] => /text-elements.html
    [SCRIPT_NAME] => /app_dev.php
    [PHP_SELF] => /app_dev.php
)
```

And here is the output of the exact same script on the built-in server:

```
Array
(
    [REQUEST_URI] => /text-elements.html
    [SCRIPT_NAME] => /text-elements.html
    [PHP_SELF] => /text-elements.html
)
```

And here is the return value of Symfony's `Request::getScriptName()` method:

```php
// Apache: http://localhost/text-elements.html
echo $this->container->get('request_stack')->getCurrentRequest()->getScriptName(); // /app_dev.php

// Built-in web server: http://127.0.0.1:8000/text-elements.html
echo $this->container->get('request_stack')->getCurrentRequest()->getScriptName(); // /text-elements.html
```

This PR fixes the two server variables in the `router_dev.php` script.

Commits
-------

4923411 Fix the server variables in the router_*.php files
2015-11-13 09:09:50 +01:00
Leo Feyer 4923411062 Fix the server variables in the router_*.php files 2015-11-13 09:09:48 +01:00
Fabien Potencier f2e87224e0 bug #16537 [Validator] Allow an empty path with a non empty fragment or a query (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validator] Allow an empty path with a non empty fragment or a query

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

#16259 didn't fully fix the issue.

Commits
-------

2d0af8e [Validator] Allow an empty path with a non empty fragment or a query
2015-11-13 09:06:49 +01:00
Jakub Zalas 2d0af8e719 [Validator] Allow an empty path with a non empty fragment or a query 2015-11-13 07:29:58 +00:00
Fabien Potencier ec39f9da5d bug #16528 [Translation] Add support for Armenian pluralization. (marcosdsanchez)
This PR was submitted for the 2.8 branch but it was merged into the 2.3 branch instead (closes #16528).

Discussion
----------

[Translation] Add support for Armenian pluralization.

According to http://www.unicode.org/cldr/charts/27/supplemental/language_plural_rules.html#hy
Armenian has 2 forms of pluralization for cardinal numbers.

| 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

Commits
-------

5f1980b The following change adds support for Armenian pluralization.
2015-11-12 10:09:49 +01:00
Marcos Sánchez 5f1980ba5c The following change adds support for Armenian pluralization.
According to http://www.unicode.org/cldr/charts/27/supplemental/language_plural_rules.html#hy
Armenian has 2 forms of pluralization.
2015-11-12 10:09:48 +01:00
Nicolas Grekas ab3c8f891a bug #16510 [2.3][Process] fix Proccess run with pts enabled (ewgRa)
This PR was squashed before being merged into the 2.3 branch (closes #16510).

Discussion
----------

[2.3][Process] fix Proccess run with pts enabled

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

Commits
-------

9cf90fb [2.3][Process] fix Proccess run with pts enabled
2015-11-10 11:50:50 +01:00
Evgeniy Sokolov 9cf90fbcbf [2.3][Process] fix Proccess run with pts enabled 2015-11-10 11:49:25 +01:00
Nicolas Grekas f107a0a98e minor #16507 [ci] Tmp force phpunit/phpunit-mock-objects <= 3.0.0 (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[ci] Tmp force phpunit/phpunit-mock-objects <= 3.0.0

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

To make tests green again until https://github.com/sebastianbergmann/phpunit-mock-objects/pull/272 or https://github.com/sebastianbergmann/phpunit-mock-objects/pull/268 is merged+tagged.

Commits
-------

1b428df [ci] Tmp force phpunit/phpunit-mock-objects <= 3.0.0
2015-11-09 17:22:04 +01:00
Nicolas Grekas 1b428df90f [ci] Tmp force phpunit/phpunit-mock-objects <= 3.0.0 2015-11-09 17:10:51 +01:00
Nicolas Grekas 3d41d9368a minor #16503 [ci] Add version tag in phpunit wrapper to trigger cache-reset on demand (nicolas-grekas, emil-nasso)
This PR was merged into the 2.3 branch.

Discussion
----------

[ci] Add version tag in phpunit wrapper to trigger cache-reset on demand

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

Commits
-------

f93e0c2 [ci] Phpunit tests wont run if composer is installed in a wrapper
481bf66 [ci] Add version tag in phpunit wrapper to trigger cache-reset on demand
2015-11-09 13:32:25 +01:00
Emil Andersson f93e0c23d1 [ci] Phpunit tests wont run if composer is installed in a wrapper 2015-11-09 13:13:34 +01:00
Nicolas Grekas 481bf6603d [ci] Add version tag in phpunit wrapper to trigger cache-reset on demand 2015-11-09 13:13:33 +01:00
Fabien Potencier 6d46a186a6 bug #16292 fix race condition at mkdir (#16258) (ewgRa)
This PR was submitted for the 2.8 branch but it was merged into the 2.3 branch instead (closes #16292).

Discussion
----------

fix race condition at mkdir (#16258)

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

Commits
-------

2c2836c fix race condition at mkdir (#16258)
2015-11-07 09:38:45 +01:00
Evgeniy Sokolov 2c2836c599 fix race condition at mkdir (#16258) 2015-11-07 09:38:45 +01:00
Fabien Potencier 4f7fd74257 bug #16462 [PropertyAccess] Fix dynamic property accessing. (dunglas)
This PR was merged into the 2.3 branch.

Discussion
----------

[PropertyAccess] Fix dynamic property accessing.

| 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 regarding dynamic properties access introduced by #16294.

Commits
-------

916f9e0 [PropertyAccess] Test access to dynamic properties
352dfb9 [PropertyAccess] Fix dynamic property accessing.
2015-11-05 14:31:32 +01:00
Kévin Dunglas 916f9e0671 [PropertyAccess] Test access to dynamic properties 2015-11-04 20:02:36 +01:00
Nicolas Grekas 218200d8f3 minor #16468 [DI] Clean a phpdoc (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[DI] Clean a phpdoc

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

Be carefull when merging into 2.7: the ContainerAwareTrait also needs the same fix

Commits
-------

2030f62 [DI] Clean a phpdoc
2015-11-04 19:47:31 +01:00
Nicolas Grekas 2030f62bb5 [DI] Clean a phpdoc 2015-11-04 19:12:53 +01:00
Kévin Dunglas 352dfb9890 [PropertyAccess] Fix dynamic property accessing. 2015-11-04 16:07:49 +01:00
Nicolas Grekas 5298940707 minor #16456 [HttpKernel] Clean clock-mock injection, replaced by #16455 (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] Clean clock-mock injection, replaced by #16455

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

I really hope this PR is the last one on the clock-mocking topic!

Commits
-------

388534e [HttpKernel] Clean clock-mock injection, replaced by #16455
2015-11-04 10:23:27 +01:00
Nicolas Grekas 388534ecbf [HttpKernel] Clean clock-mock injection, replaced by #16455 2015-11-04 10:02:52 +01:00
Fabien Potencier 38a92c825f minor #16443 [travis] session.gc_probability=0 to fix transient tests on hhvm (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[travis] session.gc_probability=0 to fix transient tests on hhvm

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

Should fix tests failing with:
`ps_files_cleanup_dir: opendir(/var/lib/hhvm/sessions) failed: Permission denied (13)`

Commits
-------

b4dd254 [travis] session.gc_probability=0 to fix transient tests on hhvm
2015-11-04 01:15:33 +01:00
Nicolas Grekas b4dd254774 [travis] session.gc_probability=0 to fix transient tests on hhvm 2015-11-03 16:54:52 +01:00
Nicolas Grekas 27f7be6322 minor #16439 [HttpKernel] Fix time-sensitive test case (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] Fix time-sensitive test case

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

Fixes these kind of failures:
```
1) Symfony\Component\HttpKernel\Tests\Fragment\FragmentHandlerTest::testRender
Expectation failed for method name is equal to <string:render> when invoked zero or more times

Parameter 1 for invocation Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface::render('/', Symfony\Component\HttpFoundation\Request Object (...), Array (...)) does not match expected value.

Failed asserting that two objects are equal.
--- Expected
+++ Actual
@@ @@
             'SERVER_PROTOCOL' => 'HTTP/1.1'
-            'REQUEST_TIME' => 1446551470
+            'REQUEST_TIME' => 1446551469
             'PATH_INFO' => ''
             'REQUEST_METHOD' => 'GET'
```

Commits
-------

c188b35 [HttpKernel] Fix time-sensitive test case
2015-11-03 15:23:57 +01:00
Nicolas Grekas c188b35b18 [HttpKernel] Fix time-sensitive test case 2015-11-03 14:01:13 +01:00
Nicolas Grekas c4a31787a8 minor #16341 [travis] Fail early when an invalid composer.json is found (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[travis] Fail early when an invalid composer.json is found

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

It happens :)

Commits
-------

437e268 [travis] Fail early when an invalid composer.json is found
2015-11-03 09:49:28 +01:00
Fabien Potencier 30bd397366 minor #16414 removed all @covers annotations (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

removed all @covers annotations

| 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

Some unit tests have a `@covers` PHPUnit annotations. Most of them were added a very long time ago, but since then, we did not use them anymore and the existing ones are not maintained (see #16413). So, I propose to remove them all.

Commits
-------

1e0af36 removed all @covers annotations
2015-11-02 19:22:02 +01:00
Fabien Potencier 1e0af36c7d removed all @covers annotations 2015-11-01 14:17:24 -08:00
Fabien Potencier 3b2d0100ac bug #16294 [PropertyAccess] Major performance improvement (dunglas)
This PR was squashed before being merged into the 2.3 branch (closes #16294).

Discussion
----------

[PropertyAccess] Major performance improvement

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

This PR improves performance of the PropertyAccess component of ~70%.

The two main changes are:

* caching the `PropertyPath` initialization
* caching the guessed access strategy

This is especially important for the `ObjectNormalizer` (Symfony Serializer) and the JSON-LD normalizer ([API Platform](https://api-platform.com)) because they use the `PropertyAccessor` class in large loops (ex: normalization of a list of entities).

Here is the Blackfire comparison: https://blackfire.io/profiles/compare/c42fd275-2b0c-4ce5-8bf3-84762054d31e/graph

The code of the benchmark I've used (with Symfony 2.3 as dependency):

```php
<?php

require 'vendor/autoload.php';

class Foo
{
    private $baz;
    public $bar;

    public function getBaz()
    {
        return $this->baz;
    }

    public function setBaz($baz)
    {
        $this->baz = $baz;
    }
}

use Symfony\Component\PropertyAccess\PropertyAccess;

$accessor = PropertyAccess::createPropertyAccessor();

$start = microtime(true);

for ($i = 0; $i < 10000; ++$i) {
    $foo = new Foo();
    $accessor->setValue($foo, 'bar', 'Lorem');
    $accessor->setValue($foo, 'baz', 'Ipsum');
    $accessor->getValue($foo, 'bar');
    $accessor->getValue($foo, 'baz');
}

echo 'Time: '.(microtime(true) - $start).PHP_EOL;
```

This PR also adds an optional support for Doctrine cache to keep access information across requests and improve the overall application performance (even outside of loops).

Commits
-------

284dc75 [PropertyAccess] Major performance improvement
2015-10-30 15:37:44 -07:00
Kévin Dunglas 284dc75796 [PropertyAccess] Major performance improvement 2015-10-30 15:36:27 -07:00
Fabien Potencier ebd55fcb38 minor #16397 added the new Composer exclude-from-classmap option (annesosensio)
This PR was merged into the 2.3 branch.

Discussion
----------

added the new Composer exclude-from-classmap option

| 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

Commits
-------

65bef75 added the new Composer exclude-from-classmap option
2015-10-30 13:03:18 -07:00
Anne-Sophie Bachelard 65bef75bef added the new Composer exclude-from-classmap option 2015-10-30 12:48:51 -07:00
Fabien Potencier cd6351f2cd bug #16331 fixed Twig deprecation notices (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

fixed Twig deprecation notices

| 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

To avoid deprecation notices when upgrading to Twig 1.23.

Commits
-------

1bdd127 fixed Twig deprecation notices
2015-10-30 10:50:46 -07:00
Fabien Potencier f59286bbc1 minor #16373 [HttpFoundation] fix expected argument type docblock (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpFoundation] fix expected argument type docblock

| Q             | A
| ------------- | ---
| Fixed tickets |
| License       | MIT

Commits
-------

1c01ebc fix expected argument type docblock
2015-10-29 15:36:51 -07:00
Christian Flothmann 1c01ebc48d fix expected argument type docblock 2015-10-29 19:47:17 +01:00
Fabien Potencier eed6a68f91 minor #16380 Set back libxml settings after testings. (SpacePossum)
This PR was merged into the 2.3 branch.

Discussion
----------

Set back libxml settings after testings.

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

Tests that change the `libxml_use_internal_errors` should set back the flag to the previous setting when done testing.

Commits
-------

29d6969 Set back libxml settings after testings.
2015-10-29 11:36:05 -07:00
Possum 29d696944c Set back libxml settings after testings. 2015-10-29 11:26:44 +01:00
Tobias Schultze e62d98ef30 minor #16370 [HttpFoundation] don't call constructors on Mongo mock objects (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpFoundation] don't call constructors on Mongo mock objects

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

Calling the parent constructor of the mocked `Mongo` class tries to
connect to a local MongoDB server which fails in case no local server
was configured.

Similarly, when the parent constructor of the mocked `MongoCollection`
class is called it performs checks on the passed arguments which fails
again when a connection was not established successfully before.

Commits
-------

6541b8b don't call constructors on Mongo mock objects
2015-10-28 22:52:08 +01:00
Christian Flothmann 6541b8b726 don't call constructors on Mongo mock objects
Calling the parent constructor of the mocked `Mongo` class tries to
connect to a local MongoDB server which fails in case no local server
was configured.

Similarly, when the parent constructor of the mocked `MongoCollection`
class is called it performs checks on the passed arguments which fails
again when a connection was not established successfully before.
2015-10-28 22:19:48 +01:00
Fabien Potencier 87c08d5fe5 added missing quotes in YAML files 2015-10-27 21:13:05 -07:00
Fabien Potencier 373dacda40 minor #16362 [HttpKernel] Add `@group time-sensitive` on some transient tests (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] Add `@group time-sensitive` on some transient tests

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

Commits
-------

6a7d270 [HttpKernel] Add `@group time-sensitive` on some transient tests
2015-10-27 20:50:59 -07:00
Nicolas Grekas 6a7d270820 [HttpKernel] Add `@group time-sensitive` on some transient tests 2015-10-28 04:01:13 +01:00
Fabien Potencier bca80ae820 bug #16306 [DoctrineBridge] Fix issue which prevent the profiler to explain a query (Baachi)
This PR was submitted for the 2.8 branch but it was merged into the 2.3 branch instead (closes #16306).

Discussion
----------

[DoctrineBridge] Fix issue which prevent the profiler to explain a query

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

We currently develop a application which only use the doctrine/dbal and not the orm. And we run into a issue that the profiler can't explained any query.
This is because the `SQLLogger` will pass `null` instead of an empty array. And the `sanitizeQuery` method will currently transform this to `array(null)` which leads to an error.

I created an fork, so everyone can reproduce this.
https://github.com/Baachi/symfony-standard

Commits
-------

3490e98 [DoctrineBridge] Fix issue which prevent the profiler to explain a query
2015-10-27 19:18:52 -07:00