merged branch eddiejaoude/master (PR #7144)

This PR was submitted for the master branch but it was merged into the 2.1 branch instead (closes #7144).

Commits
-------

448983c [YAML] Added unit tests to Dumper

Discussion
----------

[YAML] Added unit tests to Dumper

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

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

by stof at 2013-02-21T11:28:55Z

I don't like the fact that you are adding a getter for the only purpose of reaching 100% coverage (which could be achieved differently by checking that the dumper can indeed use 8 spaces when dumping)

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

by eddiejaoude at 2013-02-21T11:33:03Z

Ok, fair point, I will amend.

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

by eddiejaoude at 2013-02-21T11:35:14Z

I also thought of using reflection for the private property, as checking 8 space dump is less of a unit test as using multiple methods, thoughts?

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

by eddiejaoude at 2013-02-21T13:42:30Z

Another way to look at it, is if the property has a 'setter' why should it not have a 'getter' too? i.e. If the developer can 'set' it, why cant they 'get' it too. Just another thought, once the best way to move forward is confirmed, I will update my other tests accordingly & submit them.

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

by Baachi at 2013-02-21T13:49:25Z

Another solution would be, to extend the `Dumper` class and move the `getIndentation` to this class. This class should be located into the `tests/` folder.

@stof What do you think?

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

by stof at 2013-02-21T14:21:54Z

@Baachi IMO, the unit test should ensure that we can actually change the indentation of the dumped code (which is what we want to do). We don't bother about being able to get the indentation (we don't even have a method for it currently), we want it to be applied. The Dumper is not a configuration object. It is an object doing some work.

So testing that a new getter returns the value will not ensure that changing the indentation is working.

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

by Baachi at 2013-02-21T15:07:23Z

@stof Ah yes, I understand you. So my solution is wrong, @eddiejaoude should call `setIndentation` and check the dumped yaml` if the string has the right indentation.

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

by eddiejaoude at 2013-02-22T07:35:08Z

Ok, thanks for the clarification guys. I will get on the case shortly!
merged branch fabpot/kernel-flexibility (PR #7437)

This PR was merged into the master branch.

Commits
-------

7c3179a [HttpKernel] moved the Container compilation for more flexibility
757194c [HttpKernel] made the Kernel class more flexible (closes #7396)

Discussion
----------

[HttpKernel] made the Kernel class more flexible (closes #7396)

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

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

by jrobeson at 2013-03-20T14:04:53Z

I still (personally) think that the compile() method is still too close to the building of the container. Is there a reasonable way to move the compile() method away from the rest of the logic used to build the container?

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

by elnur at 2013-03-20T14:34:23Z

I like this one. Can't wait to see this merged.

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

by stof at 2013-03-20T14:50:22Z

@jrobeson compiling the container is part of building it (it is the step running the compiler passes)

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

by jrobeson at 2013-03-20T15:32:26Z

i read the code stof .. that is what it does :) . I just thought it'd be easier to modify the container from the kernel of the compile() call was placed after the  buildContainer() call at https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/Kernel.php#L556

This is something i had to work around when migrating to symfony. It's not a big deal to me anymore, so no worries.

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

by stof at 2013-03-20T15:36:12Z

@jrobeson the container is not fully build until you compile it. Half of the work is done by the compile() call.

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

by fabpot at 2013-03-20T15:38:24Z

I've moved the compile method as it makes things even more flexible.

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

by jrobeson at 2013-03-20T15:41:45Z

@stof : i know .. which is even better reason to move it outside that big method.

@fabpot: thanks!
[Form] made DefaultCsrfProvider using session_status() when available
[finder] Introduced AccessDeniedException

This exception is thrown when trying to open a non-readable directory.

Squashed commits:
[Finder] Fixed small errors
[Finder] small changes about AccessDeniedException
[Finder] removed unnecessary comment
[Finder] added access denied exception test
[Finder] Updated AccessDeniedException base class
[Finder] fixed access denied exception test
[Finder] native adapters now throw AccessDeniedException on stderr
merged branch bamarni/form-default-csrf-provider-session-status (PR #7449)

This PR was merged into the 2.1 branch.

Discussion
----------

[Form] made DefaultCsrfProvider using session_status() when available

| Q             | A
| ------------- | ---
| Bug fix?      | [on PHP 5.4]
| Tests pass?   | [yes]
| License       | MIT

Commits
-------

5afea04 [Form] made DefaultCsrfProvider using session_status() when available
Fixed parameters for substr() function
[DoctrineBridge] fixed failing test
merged branch hason/di_exceptions (PR #7313)

This PR was merged into the master branch.

Discussion
----------

[DependencyInjection] Added missing support for setting previous exception

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

Commits
-------

9b4cd73 [DependencyInjection] Added missing support for setting previous exception
[Yaml] fixed bugs with folded scalar parsing
merged branch ezzatron/yaml-folded-scalar (PR #7455)

This PR was merged into the 2.1 branch.

Discussion
----------

[Yaml] fixed bugs with folded scalar parsing (2.1 branch)

| 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

This is a re-do of #7445, which was submitted against 2.0, which is no longer supported. Additionally, the previous PR broke some tests because literal tabs were accidentally changed to spaces, and GitHub's diff engine seemingly ignored the change, although the differences showed up when using git diff directly. This PR leaves the literals untouched, and hence the tests should now pass.

**From the original PR:**

I found some more bugs with the parsing of folded scalars. I'd also made some mistakes in the tests introduced by me in #6785. This PR fixes the incorrect tests, and introduces more related tests.

I had to completely rewrite the `Parser::parseFoldedScalar()` method. I think it came out simpler in the end - less 'special cases'. I've done some basic profiling by running the parser tests on repeat and haven't noticed any difference in parsing performance.

Commits
-------

bbcdfe2 [Yaml] fixed bugs with folded scalar parsing
Added '@@' escaping strategy for YamlFileLoader and YamlDumper

Added the possibility to to use '@@' as an escaping strategy for
parameters that should be treated as strings but start with '@'
(i.e. safe mailer passwords).
merged branch tPl0ch/feature/yaml-parameter-escape (PR #7357)

This PR was submitted for the master branch but it was merged into the 2.1 branch instead (closes #7357).

Discussion
----------

[DependencyInjection] Added @@ escaping strategy for YamlFileLoader and YamlDumper

Added the possibility to to use ```@@``` as an escaping strategy for
parameters that should be treated as strings but start with ```@```
(i.e. safe mailer passwords).

This PR is deprecating https://github.com/symfony/symfony/pull/7307, since as a new feature it has to be compared against the master branch.

| Q | A |
| ------ | ------ |
|  Bug fix?  |  yes  |
|  New feature?  |  yes  |
|  BC breaks?  |  no  |
|  Deprecations?  |  no  |
|  Tests pass?  |  yes  |
|  Fixed tickets  |  #4889  |

Commits
-------

8cdf387 [DependencyInjection] Added '@@' escaping strategy for YamlFileLoader and YamlDumper
[Console] Progress helper enhancements
merged branch pkruithof/progress-helper-enhancements (PR #7300)

This PR was squashed before being merged into the master branch (closes #7300).

Discussion
----------

[Console] Progress helper enhancements

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

Two enhancements:

1. The progress bar clears the current line before writing the current progress. This can cause some flickering in the terminal. I've modified the write method to append whitespace to the line to be written, so it matches the previous line's length.
2. Added a `setCurrent` method to set the current progress. Rather than advancing by 1 or more steps, sometimes you want to just set the current state. For example if you are downloading a file, and a callback provides you with the current download status. A workaround for this could be to keep track of the previous event, calculate the difference, and advancing by the diff. But it's easier to just set the current progress.

Sidenotes:
* The [`overwrite`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Helper/ProgressHelper.php#L387) method copied documentation of the Output's [`write`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Output/Output.php#L139) method. The difference is, the overwrite method does not handle an array of messages. I've updated the documentation for this.
* The helper uses `strlen` to calculate line lengths. This could cause a problem when using multibyte strings. I'd change it to `mb_strlen`, but I'm not sure if the `mb_string` extension is required by Symfony.

Commits
-------

5ae76f0 [Console] Progress helper enhancements
[Console] added a note in the CHANGELOG for the previous merge, fixed some CS
updated various CHANGELOG files that were not updated when the PRs were merged
merged branch jfsimon/finder-access-denied-exception (PR #7256)

This PR was merged into the master branch.

Discussion
----------

[Finder] Adds AccessDeniedException

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #6981

Commits
-------

714ace8 [finder] Introduced AccessDeniedException
[Finder] added a CHANGELOG entry for the previous merge
#7106 - fix for ZTS builds
merged branch lizjulien/7106 (PR #7248)

This PR was submitted for the master branch but it was merged into the 2.1 branch instead (closes #7248).

Discussion
----------

#7106 - check php version for getcwd()

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

Commits
-------

11d3855  #7106 - fix for ZTS builds