Commit Graph

13137 Commits

Author SHA1 Message Date
Fabien Potencier
6400b703d4 bug #18496 [Console] use ANSI escape sequences in ProgressBar overwrite method (alekitto)
This PR was squashed before being merged into the 2.7 branch (closes #18496).

Discussion
----------

[Console] use ANSI escape sequences in ProgressBar overwrite method

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

Rewritten `overwrite` method in ProgressBar class to use ANSI escape sequences to erase lines.
This removes the need to store the last message length as it is not needed to fill the buffer with spaces anymore. As a plus it correctly resets the cursor position while clearing the output

If the output is not decorated the behavior has not been changed.
Could possibly cause a BC break if testing against the decorated emitted output as binary string

Commits
-------

b6cca4c [Console] use ANSI escape sequences in ProgressBar overwrite method
2016-04-14 13:51:22 +02:00
Alessandro Chitolina
b6cca4c020 [Console] use ANSI escape sequences in ProgressBar overwrite method 2016-04-14 13:51:20 +02:00
Robin Chalas
00ae320f83 [HttpKernel] Fix wrong number of arguments in call of ExceptionListener::logException()
Remove unexpected argument from ExceptionListener::logException() method call because the signature has changed in 22f4807
2016-04-14 11:51:32 +02:00
Nicolas Grekas
da357d8424 minor #18519 [Process] Consistently use getProcess() in tests (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Process] Consistently use getProcess() in tests

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

Commits
-------

ce13fe7 [Process] Consistently use getProcess() in tests
2016-04-12 20:54:02 +02:00
Nicolas Grekas
689f27b397 bug #18491 [DependencyInjection] anonymous services are always private (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] anonymous services are always private

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

Commits
-------

0a469a4 anonymous services are always private
2016-04-12 17:22:47 +02:00
Nicolas Grekas
fd693e6997 Merge branch '2.3' into 2.7
* 2.3:
  [Filesystem] Better error handling in remove()
2016-04-12 17:21:00 +02:00
Nicolas Grekas
b848ddb7f0 [Filesystem] Better error handling in remove() 2016-04-12 17:20:10 +02:00
Nicolas Grekas
ce13fe7454 [Process] Consistently use getProcess() in tests 2016-04-12 13:52:58 +02:00
Fabien Potencier
8bf49692b6 minor #18499 [DependencyInjection] Add coverage for invalid Expression in exportParameters (JhonnyL)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] Add coverage for invalid Expression in exportParameters

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

Commits
-------

1931b14 [DependencyInjection] Add coverage for invalid Expression in exportParameters
2016-04-11 05:50:45 -07:00
Fabien Potencier
3cd380da42 Merge branch '2.3' into 2.7
* 2.3:
  [DependencyInjection] Add coverage for all invalid arguments in exportParameters
2016-04-11 05:48:18 -07:00
Fabien Potencier
302e1928b8 minor #18500 [DependencyInjection] Add coverage for all invalid arguments in exportParameters (JhonnyL)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] Add coverage for all invalid arguments in exportParameters

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

Commits
-------

87c4f23 [DependencyInjection] Add coverage for all invalid arguments in exportParameters
2016-04-11 05:47:06 -07:00
JhonnyL
1931b14a60 [DependencyInjection] Add coverage for invalid Expression in exportParameters 2016-04-11 10:53:08 +02:00
JhonnyL
87c4f23764 [DependencyInjection] Add coverage for all invalid arguments in exportParameters 2016-04-10 20:31:05 +02:00
Christian Flothmann
0a469a418f anonymous services are always private 2016-04-09 16:46:37 +02:00
Christian Flothmann
064aedf9e3 Merge branch '2.3' into 2.7
* 2.3:
  [DependencyInjection] Resolve aliases before removing abstract services + add tests
  Fix Dom Crawler select option with empty value
  Remove unnecessary option assignment
  remove unused variable
  [PropertyAccess] Fix regression
2016-04-09 12:56:56 +02:00
Fabien Potencier
416f7d751f bug #18449 [PropertyAccess] Fix regression (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[PropertyAccess] Fix regression

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

All credits go to @MisatoTremor

I don't measure any perf impact.

Commits
-------

2b30d48 [PropertyAccess] Fix regression
2016-04-07 17:14:27 +02:00
Fabien Potencier
283875b325 bug #18429 [Console] Correct time formatting. (camporter)
This PR was squashed before being merged into the 2.7 branch (closes #18429).

Discussion
----------

[Console] Correct time formatting.

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

The previous behavior caused dramatic jumps in the reported time instead of smoothly transitioning between time ranges.
Added tests around the new behavior and the transitions between seconds, minutes, and days.

Commits
-------

b264b66 [Console] Correct time formatting.
2016-04-07 17:12:31 +02:00
Cameron Porter
b264b66a90 [Console] Correct time formatting. 2016-04-07 17:12:27 +02:00
Fabien Potencier
004a6678d2 bug #18467 [DependencyInjection] Resolve aliases before removing abstract services + add tests (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] Resolve aliases before removing abstract services + add tests

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

Commits
-------

9802a41 [DependencyInjection] Resolve aliases before removing abstract services + add tests
2016-04-07 17:04:06 +02:00
Christophe Coevoet
abf4f67605 bug #18460 [DomCrawler] Fix select option with empty value (Matt Wells)
This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] Fix select option with empty value

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

While using the Laravel's testing suite which makes use of the Symfony DOM Crawler (v3.0.2). I have been populating a form with a select which has a value which can be an empty value.

For example, with this select you can choose your gender or leave it empty if you don't want to specify:

```html
<select name="gender">
  <option selected></option>
  <option>Female</option>
  <option>Male</option>
</select>
```

When the `DomCrawler\Field::getValue()` is called I was expect to get the value `''` however I was actually getting `'on'`. This is caused by the [DomCrawler\Field::buildOptionValue()](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/DomCrawler/Field/ChoiceFormField.php#L262-L271) sets the default value to 'on' when there is no value which makes sense for ratios and checkboxes but not for select.

I have tracked this bug back to v2.3 but it is still present in v3, however, the default value was changed from '1' to 'on' in v2.5 which means that this patch will conflict when merging up the maintained versions.

Commits
-------

58276a2 Fix Dom Crawler select option with empty value
2016-04-07 10:21:15 +02:00
Nicolas Grekas
9802a41b3c [DependencyInjection] Resolve aliases before removing abstract services + add tests 2016-04-06 19:38:23 +02:00
Matt Wells
58276a274e Fix Dom Crawler select option with empty value 2016-04-06 14:13:46 +01:00
Tobias Schultze
e251e36467 minor #18456 [Form] Remove unnecessary option assignment (sergeyfedotov)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Remove unnecessary option assignment

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

Option assignment is not required because the prototype inherits this option from the parent form via standard inheritance mechanism.

Related pull requests: #16959, #18317

Commits
-------

da8a197 Remove unnecessary option assignment
2016-04-06 13:21:17 +02:00
Sergey Fedotov
da8a19728b Remove unnecessary option assignment 2016-04-05 23:03:15 +03:00
Christian Flothmann
d5964aee96 remove unused variable 2016-04-05 20:29:19 +02:00
Christian Flothmann
4b78d03379 mock the proper method 2016-04-05 20:28:19 +02:00
Nicolas Grekas
2b30d486db [PropertyAccess] Fix regression 2016-04-05 18:42:48 +02:00
Fabien Potencier
034f47635c Merge branch '2.3' into 2.7
* 2.3:
  [HttpFoundation] Improve phpdoc
  [Logging] Add support for firefox in ChromePhpHandler
  [Security] Fixed SwitchUserListener when exiting an impersonication with AnonymousToken
  [Form] fix "prototype" not required when parent form is not required
2016-04-05 18:36:43 +02:00
Fabien Potencier
5b6da77a96 bug #18425 [Security] Fixed SwitchUserListener when exiting an impersonation with AnonymousToken (lyrixx)
This PR was merged into the 2.3 branch.

Discussion
----------

[Security] Fixed SwitchUserListener when exiting an impersonation with AnonymousToken

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

If you configure a firewall with switch user with `role: IS_AUTHENTICATED_ANONYMOUSLY` it's impossible to exit the
impersonation because the next line `$this->provider->refreshUser($original->getUser())` will fail. It fails because `RefreshUser`
expects an instance of `UserInterface` and here it's a string.

Therefore, it does not make sense to refresh an Anonymous Token, right ?

Commits
-------

59fea72 [Security] Fixed SwitchUserListener when exiting an impersonication with AnonymousToken
2016-04-05 18:29:34 +02:00
Fabien Potencier
134a7c9c72 bug #18317 [Form] fix "prototype" not required when parent form is not required (HeahDude)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] fix "prototype" not required when parent form is not required

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

Commits
-------

7df9ca2 [Form] fix "prototype" not required when parent form is not required
2016-04-05 18:24:57 +02:00
Matthieu Napoli
6bfbb2e25f [HttpFoundation] Improve phpdoc
Improve the phpdoc for the `$default` parameter of the `get()` method. It wasn't clear when the default value would be used (whether the key would not exist or the value was `null` or nullish).

The comment is now in sync with `Symfony\Component\HttpFoundation\ParameterBag::get()`.
2016-04-05 17:56:01 +02:00
Michele Locati
5f5a71770b Windows 10 version check in just one line 2016-04-04 19:11:39 +02:00
Nicolas Grekas
01fb26b4d2 Merge branch '2.3' into 2.7
* 2.3:
  Detect CLI color support for Windows 10 build 10586
  [EventDispatcher] Try first if the event is Stopped
  [FrameworkBundle] fixes grammar in container:debug command manual.

Conflicts:
	src/Symfony/Component/EventDispatcher/EventDispatcher.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2016-04-04 19:08:16 +02:00
Michele Locati
472a7bffee Detect CLI color support for Windows 10 build 10586 2016-04-04 19:01:16 +02:00
Grégoire Pineau
59fea72a43 [Security] Fixed SwitchUserListener when exiting an impersonication with AnonymousToken
If you configure a firewall with switch user with `role: IS_AUTHENTICATED_ANONYMOUSLY` it's impossible to exit the
impersonation because the next line `$this->provider->refreshUser($original->getUser())` will fail. It fails because `RefreshUser`
expects an instance of `UserInterface` and here it's a string.

Therefore, it does not make sense to refresh an Anonymous Token, right ?
2016-04-04 14:27:18 +02:00
Grégoire Pineau
a30e1662d8 [EventDispatcher] Try first if the event is Stopped 2016-04-04 11:22:54 +02:00
Nicolas Grekas
eb23f056f0 Merge branch '2.3' into 2.7
* 2.3:
  [travis] Disable hirak/prestissimo for deps=low/high tests
  [HttpFoundation] fix phpdoc of UploadedFile
  [ci] Skip dns-sensitive tests when DnsMock is not found
  Optimize ReplaceAliasByActualDefinitionPass
  [Process] use __METHOD__ where applicable

Conflicts:
	.travis.yml
	src/Symfony/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPass.php
	src/Symfony/Component/Process/Process.php
	src/Symfony/Component/Process/ProcessBuilder.php
2016-04-02 09:48:01 +02:00
Tobias Schultze
cbcac5632b [HttpFoundation] fix phpdoc of UploadedFile 2016-04-01 13:54:44 +02:00
Krzysztof Piasecki
d583ec3543 Lower complexity of Form:isValid() 2016-04-01 09:09:19 +02:00
Fabien Potencier
b3580ce832 minor #18398 skipped dns-sensitive tests when DnsMock is not found (2.7) (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

skipped dns-sensitive tests when DnsMock is not found (2.7)

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

Commits
-------

efc1de7 skipped dns-sensitive tests when DnsMock is not found
2016-04-01 08:18:52 +02:00
Fabien Potencier
efc1de7786 skipped dns-sensitive tests when DnsMock is not found 2016-04-01 08:10:39 +02:00
Nicolas Grekas
7e01187781 [ci] Skip dns-sensitive tests when DnsMock is not found 2016-03-31 22:06:39 +02:00
Jules Pietri
7df9ca2aeb [Form] fix "prototype" not required when parent form is not required 2016-03-31 14:29:18 +02:00
Fabien Potencier
ba1cd26237 fixed CS 2016-03-31 12:00:43 +02:00
Fabien Potencier
f03dc6eec5 minor #18257 [Routing] Don't needlessly execute strtr's as they are fairly expensive (arjenm)
This PR was merged into the 2.7 branch.

Discussion
----------

[Routing] Don't needlessly execute strtr's as they are fairly expensive

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | refactor
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | see discussion in #18230
| License       | MIT
| Doc PR        | see #18230

As requested in #18230 this is a new version of the prevention of using strtr's. I've posted some performance-numbers in that PR as well.

Commits
-------

b3da6a1 [Routing] Don't needlessly execute strtr's as they are fairly expensive
2016-03-31 11:59:59 +02:00
Fabien Potencier
9945d8a159 bug #18265 Optimize ReplaceAliasByActualDefinitionPass (ajb-in)
This PR was merged into the 2.3 branch.

Discussion
----------

Optimize ReplaceAliasByActualDefinitionPass

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

Previous implementation passed over every definition for every alias (n*m runtime).
New implementation passes once over all aliases and once over all definitions (n+m).
Also removing needless "restart" logic.

Commits
-------

ab8dc0c Optimize ReplaceAliasByActualDefinitionPass
2016-03-31 11:36:43 +02:00
Ariel J. Birnbaum
ab8dc0c9d3 Optimize ReplaceAliasByActualDefinitionPass
Previous implementation passed over every alias and every definition, for every
alias (n*(n+m) runtime). New implementation passes once over all aliases and
once over all definitions (n+m).

Also removing needless "restart" logic --- it has no real effect in either case.
2016-03-31 11:29:03 +02:00
annesosensio
5fd054e282 [Process] use __METHOD__ where applicable 2016-03-31 10:39:43 +02:00
Nicolas Grekas
2f2ce3e637 Merge branch '2.3' into 2.7
* 2.3:
  [Form] NumberToLocalizedStringTransformer should return floats when possible
  [DependencyInjection] Enabled alias for service_container

Conflicts:
	src/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php
2016-03-31 10:05:11 +02:00
Nicolas Grekas
f31e783fd4 [Process] Fix stream_select priority when writing to stdin 2016-03-30 18:29:21 +02:00