Commit Graph

2854 Commits

Author SHA1 Message Date
Fabien Potencier
656fc3b82a Simplify code 2020-09-09 07:14:52 +02:00
Fabien Potencier
5ad8c2a630 Merge branch '3.4' into 4.4
* 3.4:
  Fix tests on 5.6
  [Debug] Skip a test that was meant for HHVM.
  [Console] Silence warnings on sapi_windows_cp_set() call
  guard $argv + $token against null, preventing unnecessary exceptions
2020-09-09 07:14:20 +02:00
Fabien Potencier
336946a499 Fix tests on 5.6 2020-09-09 07:09:37 +02:00
Robin Chalas
2a57ba5267 [Console] Silence warnings on sapi_windows_cp_set() call 2020-09-08 23:46:32 +02:00
bilogic
dbe335d9be guard $argv + $token against null, preventing unnecessary exceptions 2020-09-08 22:57:41 +02:00
Christian Flothmann
261a939ea6 Merge branch '3.4' into 4.4
* 3.4:
  Prevent parsing invalid octal digits as octal numbers
  [DI] fix ContainerBuilder on PHP8
  [Console] Make sure $maxAttempts is an int or null.
  [VarDumper] Fix caster for invalid SplFileInfo objects on php 8.
  [Intl] Skip test cases that produce a TypeError on php 8.
  [PhpUnitBridge] Adjust output parsing for PHPUnit 9.3.
  [PhpUnitBridge] CoverageListenerTrait update for PHPUnit 8.5/9.x
  add bosnian (bs) translation
  [Debug] Parse "x not found" errors correctly on php 8.
2020-09-08 13:16:46 +02:00
Alexander M. Turek
4fcd4916ed [Console] Make sure $maxAttempts is an int or null. 2020-09-07 07:00:31 +02:00
Nicolas Grekas
6c2a1c9a57 Merge branch '3.4' into 4.4
* 3.4:
  Enable "native_constant_invocation" CS rule
  Make AbstractPhpFileCacheWarmer public
2020-09-02 18:08:58 +02:00
Nicolas Grekas
4351a70637 Enable "native_constant_invocation" CS rule 2020-09-02 18:06:40 +02:00
Fabien Potencier
bca14aa5f8 Merge branch '3.4' into 4.4
* 3.4:
  Fix undefined index for inconsistent command name definition
2020-09-02 09:07:21 +02:00
Robin Chalas
d59140e857 Fix undefined index for inconsistent command name definition 2020-09-01 20:06:56 +02:00
Fabien Potencier
85090fcfb8 Fix CS 2020-08-17 09:39:58 +02:00
Jelle Raaijmakers
17263ca14d Revert changes to Table->fillCells()
These changes were introduced in https://github.com/symfony/symfony/pull/37731
but no longer contributed to the actual fix, which was to perform a
->copyRow().
2020-08-11 19:02:45 +02:00
Fabien Potencier
0f92b9a584 bug #37731 [Console] Table: support cells with newlines after a cell with colspan >= 2 (GMTA)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Console] Table: support cells with newlines after a cell with colspan >= 2

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | N/A
| License       | MIT
| Doc PR        | N/A

When rendering a table with a cell containing newlines after a cell with
colspan set to at least 2, every line in the cell with newlines except the
first one fails to render.

This case is fixed by calling `->fillCells()` on the unmerged rows and
implementing support for rows that start with a non-zero index for the columns.

While fixing this, I discovered another issue with colspan: if a cell following a
colspanned cell contains enough newlines to make the contents extend further
than the colspanned cell's contents, the cells become misaligned. This is now
also fixed.

Commits
-------

ca11772e3f [Console] Table: support cells with newlines after a cell with colspan >= 2
2020-08-11 09:29:54 +02:00
Jelle Raaijmakers
ca11772e3f [Console] Table: support cells with newlines after a cell with colspan >= 2 2020-08-11 09:29:48 +02:00
Fabien Potencier
3a04739a83 Merge branch '3.4' into 4.4
* 3.4:
  Add Tagalog translations for validator messages 94, 95, 96 and 99
  PHPUnit's assertContains() performs strict comparisons now.
  [ClassLoader][Routing] Fix namespace parsing on php 8.
  Fix deprecated libxml_disable_entity_loader
  Made reference to PHPUnit\Util\XML::loadfile php5-compatible.
  [Validator] Add missing translations for german and vietnamese
  Modernized deprecated PHPUnit assertion calls
  [Console] The message of "class not found" errors has changed in php 8.
  The PHPUnit\Util\XML class has been removed in PHPUnit 9.3.
  [Console] Make sure we pass a numeric array of arguments to call_user_func_array().
  [Serializer] Fix that it will never reach DOMNode
  [Validator] sync translations
  [VarDumper] Improve previous fix on light array coloration
  [Cache] Fix #37667
2020-08-10 09:27:51 +02:00
Fabien Potencier
83b1d71f7f bug #37774 [Console] Make sure we pass a numeric array of arguments to call_user_func_array() (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Make sure we pass a numeric array of arguments to call_user_func_array()

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | N/A
| License       | MIT
| Doc PR        | N/A

On php 8, the unit tests fail with the following error:

```
ArgumentCountError: array_merge() does not accept unknown named parameters
```

This PR should fix the issue.

Commits
-------

67102c32e6 [Console] Make sure we pass a numeric array of arguments to call_user_func_array().
2020-08-09 10:16:57 +02:00
Fabien Potencier
5c6727211d minor #37773 Modernized deprecated PHPUnit assertion calls (derrabus)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

Modernized deprecated PHPUnit assertion calls

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Part of #37564
| License       | MIT
| Doc PR        | N/A

Some assertions have been renamed in PHPUnit 9. PhpUnitBridge should already have polyfills in place for those methods, so it should be save to use them.

Commits
-------

ab417f7040 Modernized deprecated PHPUnit assertion calls
2020-08-09 10:13:56 +02:00
Alexander M. Turek
ab417f7040 Modernized deprecated PHPUnit assertion calls 2020-08-09 10:13:48 +02:00
Alexander M. Turek
8bd861bbc6 [Console] The message of "class not found" errors has changed in php 8. 2020-08-08 21:42:49 +02:00
Alexander M. Turek
67102c32e6 [Console] Make sure we pass a numeric array of arguments to call_user_func_array(). 2020-08-08 17:34:42 +02:00
Nicolas Grekas
2f65991a9d Merge branch '3.4' into 4.4
* 3.4:
  [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows
  fix handling null as empty data
  No need to create an issue when creating a PR
  [Console] Fixes question input encoding on Windows
2020-07-06 15:18:39 +02:00
Robin Chalas
4297897869 bug #37385 [Console] Fixes question input encoding on Windows (YaFou)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Fixes question input encoding on Windows

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #35842, Fix #36324, Fix #37495 and Fix #37278 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | no <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/releases):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too.)
 - Features and deprecations must be submitted against branch master.
-->

To ask a question to a user, the [QuestionHelper](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Helper/QuestionHelper.php) use [`fgets`](https://www.php.net/manual/en/function.fgets.php). However, special characters are not supported on Windows with this function (like accents: `é`, `à`, `ö`). The solution is to set a special encoding with [`sapi_windows_cp_get`](https://www.php.net/manual/en/function.sapi-windows-cp-get).

> Before
```php
$stream = fopen('php://stdin', 'r');
$input = fgets($stream);
echo $input;

// input: "Bonjour à tous"
// output: 'Bonjour \ tous" or "Bonjour   tous"
```

> After
```php
// Check if the function exists because it only exists on Windows
if(function_exists('sapi_windows_cp_set')) {
    sapi_windows_cp_get(437);
}

$stream = fopen('php://stdin', 'r');
$input = fgets($stream);
echo $input;

// input: "Bonjour à tous"
// output: 'Bonjour à tous"
```

*Thanks to @bnjmnfnk for the solution 😉*

Commits
-------

4288df4f74 [Console] Fixes question input encoding on Windows
2020-07-06 10:57:31 +02:00
Nicolas Grekas
5da153603b [Console] fix reading from STDIN 2020-07-04 11:30:27 +02:00
Nicolas Grekas
fec23313e7 bug #37469 [Console] always use stty when possible to ask hidden questions (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] always use stty when possible to ask hidden questions

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #36565, replaces #36590
| License       | MIT
| Doc PR        | -

The current code doesn't make much sense: we check `hasSttyAvailable()`, and if the answer is `false`, we still use `stty` directly.

This PR relies on `stream_isatty` and equivalent fallback checks to decide if the password can be hidden or not.

Best reviewed [ignoring whitespaces](https://github.com/symfony/symfony/pull/37469/files?w=1).

Commits
-------

055b605e30 [Console] always use stty when possible to ask hidden questions
2020-07-03 20:04:21 +02:00
Nicolas Grekas
659699b9ce Merge branch '3.4' into 4.4
* 3.4:
  [Console] Do not check for "stty" using "exec" if that function is disabled
2020-07-01 19:14:21 +02:00
Michael Voříšek
02124b6b3b [Console] Do not check for "stty" using "exec" if that function is disabled 2020-07-01 19:13:52 +02:00
Nicolas Grekas
055b605e30 [Console] always use stty when possible to ask hidden questions 2020-07-01 17:27:01 +02:00
YaFou
4288df4f74
[Console] Fixes question input encoding on Windows 2020-07-01 11:10:10 +02:00
Nicolas Grekas
450034c986 Merge branch '3.4' into 4.4
* 3.4:
  [ErrorHandler] fix throwing from __toString()
  Removed comments and requirements relative to php <5.5 (not supported anymore)
  fix validating lazy properties that evaluate to null
2020-06-30 19:40:09 +02:00
Grégoire Pineau
5c5ea7500e Removed comments and requirements relative to php <5.5 (not supported anymore) 2020-06-30 14:50:28 +02:00
Fabien Potencier
378894d64d Merge branch '3.4' into 4.4
* 3.4:
  Fixed typo in test name
  [HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3"
  [VarDumper] Support for cURL handler objects.
  [DI][FrameworkBundle] Remove whitelist occurrences
  Avoid accessibility errors on debug toolbar
2020-06-24 15:34:53 +02:00
Robin Chalas
968bd0ffec Fixed typo in test name 2020-06-23 14:31:34 +02:00
Nicolas Grekas
867642e337 [Console] Reset question validator attempts only for actual stdin (bis) 2020-06-15 14:37:55 +02:00
Gabriel Ostrolucký
8fe7be4212 Reset question validator attempts only for actual stdin 2020-06-14 17:02:32 +02:00
Nicolas Grekas
282cafb093 Merge branch '3.4' into 4.4
* 3.4:
  Various cleanups
2020-05-30 22:06:45 +02:00
Nicolas Grekas
d8f282edca Various cleanups 2020-05-30 20:58:05 +02:00
Nicolas Grekas
255e9117a0 Merge branch '3.4' into 4.4
* 3.4:
  Fixes sprintf(): Too few arguments in form transformer
  [Console] Fix QuestionHelper::disableStty()
  validate subforms in all validation groups
  Update Hungarian translations
  Add meaningful message when Process is not installed (ProcessHelper)
  [PropertyAccess] Fix TypeError parsing again.
  [Form] add missing Czech validators translation
  [Validator] add missing Czech translations
  never directly validate Existence (Required/Optional) constraints
2020-05-30 20:50:54 +02:00
Robin Chalas
5d93b61278 [Console] Fix QuestionHelper::disableStty() 2020-05-29 16:49:42 +02:00
Laurent VOULLEMIER
3ab76e40ff Add meaningful message when Process is not installed (ProcessHelper) 2020-05-29 05:22:46 +02:00
Alexander M. Turek
9d702fd94b Parse and render anonymous classes correctly on php 8 2020-05-24 10:33:35 +02:00
Nicolas Grekas
f8aa0873cf Use ">=" for the "php" requirement 2020-05-20 10:37:50 +02:00
Nicolas Grekas
da8b9552ad Merge branch '3.4' into 4.4
* 3.4:
  [3.4] CS fixes
2020-05-08 12:54:34 +02:00
Nicolas Grekas
02b378f248 [3.4] CS fixes 2020-05-08 12:38:31 +02:00
Nicolas Grekas
6d089ac437 [Console] fix "data lost during stream conversion" with QuestionHelper 2020-05-05 13:09:20 +02:00
Gabriel Ostrolucký
ee7fc5544e
[Console] Default hidden question to 1 attempt for non-tty session 2020-04-27 05:08:14 +02:00
Nicolas Grekas
78c0bcb302 Merge branch '3.4' into 4.4
* 3.4:
  Fix versions
  [Security/Http] Allow setting cookie security settings for delete_cookies
  [FrameworkBundle] revert to legacy wiring of the session when circular refs are detected
  bumped Symfony version to 3.4.40
  updated VERSION for 3.4.39
  update CONTRIBUTORS for 3.4.39
  updated CHANGELOG for 3.4.39
  update Italian translation
  [Validator] Add missing Hungarian translations
  [Validator] Add the missing translations for the Arabic (ar) locale
  [Validator] Add missing vietnamese translations
  [Console] Fix OutputStream for PHP 7.4
  add German translations
  bug #36157 [Validator] Assert Valid with many groups
  [Validator] Add missing Lithuanian translations
  Fixed some typos
  Add french "at least" constraint translations
2020-03-30 13:41:10 +02:00
Guillaume Pédelagrabe
b375f93ed7 [Console] Fix OutputStream for PHP 7.4 2020-03-27 18:07:22 +01:00
Tobias Schultze
d4c052a2fa add missing gitattributes for phpunit-bridge 2020-03-27 17:54:36 +01:00
Fabien Potencier
09ee51aa4d Merge branch '3.4' into 4.4
* 3.4:
  Fix quotes in exception messages
2020-03-16 09:56:54 +01:00