Commit Graph

7373 Commits

Author SHA1 Message Date
Clement Herreman
ad07a95818 [BrowserKit] Fixed Client->back/forward/reload() not keeping all request attributes
The method used internally in these methods, Client->#requestFromRequest was badly
passing the old request parameters to the new request.
2012-03-10 16:26:36 +01:00
Victor Berchet
eee5065434 [TwigBundle] Workaround a flaw in the design of the configuration (normalization) 2012-03-09 21:13:44 +01:00
stealth35
7aad478fe2 [Locale] Prevent empty bundle 2012-03-09 16:37:22 +01:00
Pierre Minnieur
0c9b2d47b0 use SecurityContextInterface instead of SecurityContext 2012-03-09 10:08:43 +01:00
Fabien Potencier
55f962d44d merged branch Seldaek/autoload (PR #3515)
Commits
-------

d2f8aa3 Allow autoload to run without vendors being cloned

Discussion
----------

[Tests] Allow autoload to run without vendors being cloned

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
2012-03-07 11:41:14 +01:00
Fabien Potencier
3681dae8eb merged branch Seldaek/param_bag (PR #3516)
Commits
-------

a894431 [DependencyInjection] Allow parsing of parameters near escaped percent signs

Discussion
----------

[DependencyInjection] Allow parsing of parameters near escaped percent signs

Bug fix: yes
Feature addition: no
Backwards compatibility break: no (unless someone relied on the buggy behavior..)
Symfony2 tests pass: yes
2012-03-07 11:40:30 +01:00
Jordi Boggiano
d2f8aa3806 Allow autoload to run without vendors being cloned 2012-03-06 13:36:48 +01:00
Jordi Boggiano
a894431c6c [DependencyInjection] Allow parsing of parameters near escaped percent signs 2012-03-06 13:33:50 +01:00
Fabien Potencier
8e53f791c4 merged branch jcrombez/patch-1 (PR #3494)
Commits
-------

3c6a8e5 [BrowserKit] Missing @return Crawler annotation for the click() Client method.

Discussion
----------

[BrowserKit] Missing @return Crawler annotation for the click() Client method.
2012-03-03 15:08:55 +01:00
Jérémy CROMBEZ
3c6a8e53d3 [BrowserKit] Missing @return Crawler annotation for the click() Client method. 2012-03-03 14:34:04 +01:00
Fabien Potencier
77297b0602 [EventDispatcher] fixed CS 2012-03-03 01:31:12 +01:00
Fabien Potencier
f758884c2b [FrameworkBundle] ContainerAwareEventDispatcher::removeListener() (closes #3115) 2012-03-03 01:31:08 +01:00
Fabien Potencier
ffce6be671 [FrameworkBundle] fixed CS 2012-03-03 01:31:05 +01:00
Fabien Potencier
8fe6ee3d62 [Console] fixed help command when used from the shell (closes #3480) 2012-03-02 23:14:57 +01:00
Fabien Potencier
70fc80292a [BrowserKit] added a unit test (refs #3385) 2012-03-02 23:01:01 +01:00
Fabien Potencier
003c2e4175 merged branch stealth35/patch-17 (PR #3491)
Commits
-------

8fa2ff0 [FrameworkBundle] fix DependencyInjection/*FrameworkExtensionTest for Windows

Discussion
----------

[FrameworkBundle] fix DependencyInjection/*FrameworkExtensionTest for Windows
2012-03-02 19:06:02 +01:00
stealth35
8fa2ff0582 [FrameworkBundle] fix DependencyInjection/*FrameworkExtensionTest for Windows 2012-03-02 17:54:28 +01:00
Fabien Potencier
a705ee9d13 merged branch stealth35/patch-16 (PR #3487)
Commits
-------

caa44ae Only work with the cli sapi
e2fc3cd [Process] PHP_BINARY return the current process

Discussion
----------

[Process] PHP_BINARY only return the current sapi process

    Bug fix: yes
    Feature addition: no
    Backwards compatibility break: no
    Symfony2 tests pass: yes
    Fixes the following tickets: -
    Todo: -

PHP_BINARY return the current process, so under the apache module I get (on Windows) `httpd.exe`

---------------------------------------------------------------------------

by vicb at 2012-03-02T14:48:04Z

Could it be '.../php5' ?
Is it a PHP bug ?

---------------------------------------------------------------------------

by stealth35 at 2012-03-02T15:00:57Z

@vicb

> Could it be '.../php5' ?

Yes, but it's not the standard installation, you also call you php executable 'blabla.exe'

> Is it a PHP bug ?

I'don't now, I think it's get the SAPI but If it's work under Unix so yes it's a PHP Bug
http://lxr.php.net/opengrok/xref/PHP_5_4/main/main.c#binary_location

I'll test this on my Mac

---------------------------------------------------------------------------

by vicb at 2012-03-02T15:08:25Z

@stealth35

* asking about 'php5' because it seems some systems use this name,
* would testing for a cli sapi be more robust than making assumptions about the process name ?

---------------------------------------------------------------------------

by stealth35 at 2012-03-02T15:24:24Z

@vicb yes I think it's better

Anybody can test `PHP_BINARY` with some sapi like : `cgi`, `cgi-fcgi`, `fpm-fcgi` ... ?
2012-03-02 17:27:58 +01:00
stealth35
caa44aefc1 Only work with the cli sapi 2012-03-02 16:42:35 +01:00
stealth35
e2fc3cde90 [Process] PHP_BINARY return the current process 2012-03-02 14:33:12 +01:00
Fabien Potencier
241e4fccbd merged branch michal-pipa/test-fix (PR #3470)
Commits
-------

515b581 [FrameworkBundle] Fixed test

Discussion
----------

[FrameworkBundle] Fixed test on Ubuntu 10.04 LTS

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/michal-pipa/symfony.png?branch=test-fix)](http://travis-ci.org/michal-pipa/symfony)
Fixes the following tickets: -
Todo: -

Test was failing on Ubuntu 10.04 LTS because Ubuntu adds it's own PHP extra version number, which was greater than 5.3.2.

The same bug exist in master branch.
2012-03-01 00:56:40 +01:00
Michał Pipa
515b581937 [FrameworkBundle] Fixed test 2012-02-29 07:49:03 +01:00
Fabien Potencier
9e6dcf0746 merged branch beberlei/PDOSessionTest (PR #3462)
Commits
-------

5a6ce20 [Session] Add Test for PDO Session Storage with SQLite in Memory DB.

Discussion
----------

[Session] PDO Session Storage tests

The PDO Session storage was untested previously.

This test is for the 2.0 API. The methods names all changed in the master branch and have to be adjusted when 2.0 is merged into master.
2012-02-27 16:52:10 +01:00
Benjamin Eberlei
5a6ce200e2 [Session] Add Test for PDO Session Storage with SQLite in Memory DB. 2012-02-27 16:32:07 +01:00
Fabien Potencier
8bdd01f633 merged branch beberlei/PdoSessionStorageSqlSrvFix (PR #3461)
Commits
-------

dc2d5a0 [HttpFoundation][Session] Fix bug in PDO Session Storage with SQLSRV making assumptions about parameters with length being OUTPUT not INPUT parameters.

Discussion
----------

[HttpFoundation][Session] PDO session storage sql srv fix

...ing assumptions about parameters with length being OUTPUT not INPUT parameters.

See also http://social.msdn.microsoft.com/Forums/en/sqldriverforphp/thread/c7431849-8594-4da2-bef6-8702b72391cc

Addtionally PDO Session Storage has no tests on either master or 2.0, i will provide a PR with a basic coverage in a seperate commit.
2012-02-27 16:12:17 +01:00
Benjamin Eberlei
dc2d5a0581 [HttpFoundation][Session] Fix bug in PDO Session Storage with SQLSRV making assumptions about parameters with length being OUTPUT not INPUT parameters. 2012-02-27 15:57:52 +01:00
Fabien Potencier
f9f7640422 merged branch pulzarraider/fix_profiler_test (PR #3455)
Commits
-------

e8281cf SqliteProfilerStorage fix

Discussion
----------

[HttpKernel] SqliteProfilerStorage fix

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
2012-02-27 10:01:48 +01:00
Andrej Hudec
e8281cf6f5 SqliteProfilerStorage fix 2012-02-26 16:52:51 +01:00
Fabien Potencier
2d4fb8ad50 updated VERSION for 2.0.11 2012-02-24 22:59:39 +01:00
Fabien Potencier
51ba6ffc6d updated CHANGELOG for 2.0.11 2012-02-24 22:59:05 +01:00
Fabien Potencier
71b62276d3 fixed a test 2012-02-24 22:55:48 +01:00
Jordi Boggiano
3e64d36cbd [Serializer] Fix XML decoding attack vector through external entities 2012-02-24 22:50:04 +01:00
Fabien Potencier
3223f51bb1 merged branch pcampr/patch-1 (PR #3439)
Commits
-------

15910a0 fixed coding standards
24a3cd3 Finder - allow sorting when searching in multiple directories

Discussion
----------

[Finder] not searching in multiple dirs with sorting

I hit on a problem with **Finder, when using array of directories passed to ->in() together with sorting** (e.g. ->sortByName()):

*Catchable Fatal Error: Argument 1 passed to AppendIterator::append() must implement interface Iterator, instance of Symfony\Component\Finder\Iterator\SortableIterator given in ......\vendor\symfony\src\Symfony\Component\Finder\Finder.php line 421*

The problem is in Finder.php, line 419. When more than 1 directory is used, \AppendIterator is used to merge iterators for each directory. AppendIterator->append() accepts only objects implementing Iterator interface. But this is broken for SortableIterator, which implements IteratorAggregate and NOT Iterator.

My proposed solution retrieves an Iterator from IteratorAggregate, which is later valid as an input to AppendIterator->append()

(This solved the exception mentioned aboved in my testing project, not tested more.)
2012-02-24 11:34:01 +01:00
Fabien Potencier
6af6531bfb merged branch kriswallsmith/doctrine/proxy-loader-fix (PR #3419)
Commits
-------

6e75fd1 Resolves issue with spl_autoload_register creating new copies of the container and passing that into the closure.

Discussion
----------

[DoctrineBundle] fixed proxy loader memory leak

[![Build Status](https://secure.travis-ci.org/kriswallsmith/symfony.png?branch=doctrine/proxy-loader-fix)](http://travis-ci.org/kriswallsmith/symfony)

The hack for loading Doctrine proxy classes has an obscure memory leak, fixed here by @jjbohn.

## The Proof

Run this test case before and after this patch:

```php
<?php

namespace Kris\JunkBundle\Tests\Controller;

use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;

class DefaultControllerTest extends WebTestCase
{
    /**
     * @dataProvider asdf
     */
    public function testIndex()
    {
        $client = static::createClient();

        $crawler = $client->request('GET', '/hello/Fabien');

        $this->assertTrue($crawler->filter('html:contains("Hello Fabien")')->count() > 0);
    }

    public function asdf()
    {
        return array_fill(0, 500, array());
    }
}
```

### Before

```
~/Sites/symfony/standard (2.0) $ phpunit -c app/
PHPUnit 3.6.10 by Sebastian Bergmann.

Configuration read from /Users/kriswallsmith/Sites/symfony/standard/app/phpunit.xml.dist

...............................................................  63 / 500 ( 12%)
............................................................... 126 / 500 ( 25%)
............................................................... 189 / 500 ( 37%)
............................................................... 252 / 500 ( 50%)
............................................................... 315 / 500 ( 63%)
............................................................... 378 / 500 ( 75%)
............................................................... 441 / 500 ( 88%)
...........................................................

Time: 31 seconds, Memory: 289.50Mb

OK (500 tests, 500 assertions)
```

### After

```
~/Sites/symfony/standard (2.0) $ phpunit -c app/
PHPUnit 3.6.10 by Sebastian Bergmann.

Configuration read from /Users/kriswallsmith/Sites/symfony/standard/app/phpunit.xml.dist

...............................................................  63 / 500 ( 12%)
............................................................... 126 / 500 ( 25%)
............................................................... 189 / 500 ( 37%)
............................................................... 252 / 500 ( 50%)
............................................................... 315 / 500 ( 63%)
............................................................... 378 / 500 ( 75%)
............................................................... 441 / 500 ( 88%)
...........................................................

Time: 40 seconds, Memory: 51.25Mb

OK (500 tests, 500 assertions)
```

## tl;dr

Your test suite will use much less memory — 82% in this case.

```
Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
```

---------------------------------------------------------------------------

by mvrhov at 2012-02-23T06:25:57Z

IMHO this change warrants a comment inside a source code as somebody might actually try to remove the first by reference assign like stof said.

---------------------------------------------------------------------------

by lsmith77 at 2012-02-23T07:55:48Z

this autoloader sounds like something we also need in the ODM's?

---------------------------------------------------------------------------

by stof at 2012-02-23T08:23:17Z

@lsmith77 if you want to allow unserializing proxies without forcing to generate them before (which would be an issue in debug mode), yeah. But take care that each Doctrine bundle should use a different proxy namespace to allow doing the check (there was some issues for people using both the ORM and the mongo ODM because of this)

---------------------------------------------------------------------------

by lsmith77 at 2012-02-23T08:24:33Z

then maybe this could should be a static method inside the bridge?

---------------------------------------------------------------------------

by beberlei at 2012-02-23T11:50:08Z

I think another side of this problem is that ->boot() ALWAYS adds this method on the autoloading stack. So with N tests you have N more autoloaders on the stack.

---------------------------------------------------------------------------

by pminnieur at 2012-02-23T12:07:00Z

This could be an issue if you use Symfony with Leach as an application server, too. After a while, memory is exhausted in face of `gc_collect_cycles` and `$kernel->boot()` and `$kernel->shutdown()` calls in between each request - which ultimately leads to a segfault after some time. I tried to track down what causes increasing memory usage and I think this could be the error.

---------------------------------------------------------------------------

by beberlei at 2012-02-23T12:28:06Z

its definately the problem, we need to remove the autoloader in shutdown, or move it elsewhere.

---------------------------------------------------------------------------

by lsmith77 at 2012-02-23T14:58:37Z

why isnt this just a setup task for the autoloader just like the annotation registry?

---------------------------------------------------------------------------

by stof at 2012-02-23T16:52:42Z

@lsmith77 because the proxy namespace and the proxy dir are not known in the autoload.php file. They are configured in the config files

---------------------------------------------------------------------------

by fabpot at 2012-02-23T18:05:51Z

The `shutdown()` method is where the autoloader should be removed. Can we include this in this PR as well so that we fix everything once and for all?

---------------------------------------------------------------------------

by kriswallsmith at 2012-02-23T19:12:05Z

The once and for all solution is for the Doctrine O*M projects to provide a ProxyLoader class with register and unregister methods that we call in boot and shutdown. We're not solving anything specific to Symfony here.
2012-02-24 11:29:42 +01:00
Victor Berchet
66d0d3dd4b [FrameworkBundle] Fix a bug in the RedirectableUrlMatcher 2012-02-24 11:26:41 +01:00
Pavel Campr
15910a015b fixed coding standards 2012-02-24 09:04:00 +01:00
Pavel Campr
24a3cd3540 Finder - allow sorting when searching in multiple directories 2012-02-24 01:10:57 +01:00
John Bohn
6e75fd16c8 Resolves issue with spl_autoload_register creating new copies of the container and passing that into the closure. 2012-02-22 16:21:34 -08:00
Fabien Potencier
f6b4f89f8f merged branch stof/fix_monolog_processor (PR #3418)
Commits
-------

d02ca25 [MonologBundle] Fixed a bug when adding a processor on a service handler

Discussion
----------

Fix monolog processor

This is the proper bugfix replacing #3417, and adding a test for it
2012-02-23 00:10:20 +01:00
Christophe Coevoet
d02ca2512b [MonologBundle] Fixed a bug when adding a processor on a service handler 2012-02-22 22:42:42 +01:00
Fabien Potencier
2f33b5d1f2 merged branch marcw/patch-license-copyright (PR #3411)
Commits
-------

89868f7 Updated LICENSE files copyright

Discussion
----------

Updated LICENSE files copyright
2012-02-22 10:13:19 +01:00
marc.weistroff
89868f7901 Updated LICENSE files copyright 2012-02-22 10:10:37 +01:00
Fabien Potencier
ac19b206c4 merged branch adrienbrault/2.0 (PR #3386)
Commits
-------

ae8704c [Console] Fix wrong ref in phpdoc

Discussion
----------

[Console] Fix wrong ref in phpdoc

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: N/A
Todo: N/A

Hey guys, found that typo.
2012-02-17 08:19:13 +01:00
Adrien BRAULT
ae8704cdce [Console] Fix wrong ref in phpdoc 2012-02-16 22:26:30 +01:00
Fabien Potencier
54e6516d46 merged branch kriswallsmith/monolog/missing-class (PR #3368)
Commits
-------

1cec4f5 [MonologBundle] added missing class to compile

Discussion
----------

[MonologBundle] added missing class to compile

`Symfony\Bridge\Monolog\Handler\DebugHandler` extends a class which was not being included in the compiled class file.

```
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: ~
Todo: ~
```

---------------------------------------------------------------------------

by stof at 2012-02-15T14:27:29Z

@kriswallsmith Can you send the same PR to the standalone repo for 2.1 ?

---------------------------------------------------------------------------

by kriswallsmith at 2012-02-15T14:30:05Z

Can I just commit to that repository directly? /ping @Seldaek

---------------------------------------------------------------------------

by stof at 2012-02-15T14:33:51Z

yeah indeed, you have the needed permissions, and the change is OK
2012-02-16 07:22:19 +01:00
Victor Berchet
651f4c5d2d [Routing] Added a missing property declaration 2012-02-16 07:03:32 +01:00
Kris Wallsmith
1cec4f5b22 [MonologBundle] added missing class to compile 2012-02-15 06:19:20 -08:00
Eugene Babushkin
2434552aa9 [Translation] Fixed fallback location if location is longer than three characters (possibly by mistake). 2012-02-15 00:04:44 +01:00
Fabien Potencier
b86e6db035 merged branch eriksencosta/ticket_2781 (PR #3350)
Commits
-------

beb4fc0 [WIP][Locale] StubIntlDateFormatter::parse was throwing exception instead of returning Boolean false like intl implementation
b61dff7 fixed CS

Discussion
----------

[WIP][Locale] StubIntlDateFormatter::parse was throwing exception instead of returning Boolean false like intl implementation

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: ![travis.ci](https://secure.travis-ci.org/eriksencosta/symfony.png?branch=ticket_2781)
Fixes the following tickets: #2781
Todo: A test fail in 32 bit environment, executed tests only with PHP 5.3.2 and ext-intl ICU 4.2 based

Failed test:

    1) Symfony\Tests\Component\Locale\Stub\StubIntlDateFormatterTest::testFormatWithDefaultTimezoneIntl
    Failed asserting that two strings are equal.
    --- Expected
    +++ Actual
    @@ @@
    -'1969-12-31 21:00:00'
    +'1969-12-31 16:00:00'
2012-02-14 23:34:14 +01:00
Fabien Potencier
ec7fb0bdd6 [Routing] added a proper exception when a route pattern references the same variable more than once (closes #3344) 2012-02-14 11:41:45 +01:00