-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[Console] Allow '0' as a $shortcut in InputOption.php #53516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Hey! I see that this is your first PR. That is great! Welcome! Symfony has a contribution guide which I suggest you to read. In short:
Review the GitHub status checks of your pull request and try to solve the reported issues. If some tests are failing, try to see if they are failing because of this change. When two Symfony core team members approve this change, it will be merged and you will become an official Symfony contributor! I am going to sit back now and wait for the reviews. Cheers! Carsonbot |
I added some test cases to the existing |
Thank you @lawsonjl-ornl. |
@@ -69,7 +69,7 @@ public function __construct(string $name, $shortcut = null, int $mode = null, st | |||
throw new InvalidArgumentException('An option name cannot be empty.'); | |||
} | |||
|
|||
if (empty($shortcut)) { | |||
if ('' === $shortcut || [] === $shortcut) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$shortcut === false is not handled
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you please send a PR on branch 5.4 to fix this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The documented acceptable types for $shortcut
are string
, array
, and null
, and the previously-existing test cases only covered those types, so in that sense passing false
here is an incorrect use of the API in the first place.
But passing false
happened to accidentally work before the change, so I guess it is a breaking change (to undocumented behavior).
A fix that restores the handling of false
should probably also update the types in the docstring and add a test case, so that the next person who has reason to modify this code knows that behavior should be preserved.
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [symfony/console](https://symfony.com) ([source](https://togithub.com/symfony/console)) | `6.4.2` -> `6.4.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [symfony/process](https://symfony.com) ([source](https://togithub.com/symfony/process)) | `6.4.2` -> `6.4.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>symfony/console (symfony/console)</summary> ### [`v6.4.3`](https://togithub.com/symfony/console/releases/tag/v6.4.3) [Compare Source](https://togithub.com/symfony/console/compare/v6.4.2...v6.4.3) **Changelog** (symfony/console@v6.4.2...v6.4.3) - bug [symfony/symfony#53516](https://togithub.com/symfony/symfony/issues/53516) \[Console] Allow '0' as a $shortcut in InputOption.php ([@​lawsonjl-ornl](https://togithub.com/lawsonjl-ornl)) - bug [symfony/symfony#53576](https://togithub.com/symfony/symfony/issues/53576) \[Console] Only execute additional checks for color support if the output ([@​theofidry](https://togithub.com/theofidry)) </details> <details> <summary>symfony/process (symfony/process)</summary> ### [`v6.4.3`](https://togithub.com/symfony/process/compare/v6.4.2...v6.4.3) [Compare Source](https://togithub.com/symfony/process/compare/v6.4.2...v6.4.3) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/Lendable/composer-license-checker). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [symfony/console](https://symfony.com) ([source](https://togithub.com/symfony/console)) | `6.4.4` -> `7.0.4` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [symfony/process](https://symfony.com) ([source](https://togithub.com/symfony/process)) | `6.4.4` -> `7.0.4` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>symfony/console (symfony/console)</summary> ### [`v7.0.4`](https://togithub.com/symfony/console/releases/tag/v7.0.4) [Compare Source](https://togithub.com/symfony/console/compare/v7.0.3...v7.0.4) **Changelog** (symfony/console@v7.0.3...v7.0.4) - bug [symfony/symfony#54009](https://togithub.com/symfony/symfony/issues/54009) \[Console] Fix display of vertical Table on Windows OS ([@​VincentLanglet](https://togithub.com/VincentLanglet)) - bug [symfony/symfony#54001](https://togithub.com/symfony/symfony/issues/54001) \[Console] Fix display of Table on Windows OS ([@​VincentLanglet](https://togithub.com/VincentLanglet)) - bug [symfony/symfony#53707](https://togithub.com/symfony/symfony/issues/53707) \[Console] Fix color support for TTY output ([@​theofidry](https://togithub.com/theofidry)) - bug [symfony/symfony#53711](https://togithub.com/symfony/symfony/issues/53711) \[Console] Allow false as a $shortcut in InputOption ([@​jayminsilicon](https://togithub.com/jayminsilicon)) ### [`v7.0.3`](https://togithub.com/symfony/console/releases/tag/v7.0.3) [Compare Source](https://togithub.com/symfony/console/compare/v7.0.2...v7.0.3) **Changelog** (symfony/console@v7.0.2...v7.0.3) - bug [symfony/symfony#53516](https://togithub.com/symfony/symfony/issues/53516) \[Console] Allow '0' as a $shortcut in InputOption.php ([@​lawsonjl-ornl](https://togithub.com/lawsonjl-ornl)) - bug [symfony/symfony#53576](https://togithub.com/symfony/symfony/issues/53576) \[Console] Only execute additional checks for color support if the output ([@​theofidry](https://togithub.com/theofidry)) ### [`v7.0.2`](https://togithub.com/symfony/console/releases/tag/v7.0.2) [Compare Source](https://togithub.com/symfony/console/compare/v7.0.1...v7.0.2) **Changelog** (symfony/console@v7.0.1...v7.0.2) - bug [symfony/symfony#52940](https://togithub.com/symfony/symfony/issues/52940) \[Console] Fix color support check on non-Windows platforms ([@​theofidry](https://togithub.com/theofidry)) - bug [symfony/symfony#52941](https://togithub.com/symfony/symfony/issues/52941) \[Console] Fix xterm detection ([@​theofidry](https://togithub.com/theofidry)) ### [`v7.0.1`](https://togithub.com/symfony/console/releases/tag/v7.0.1) [Compare Source](https://togithub.com/symfony/console/compare/v7.0.0...v7.0.1) **Changelog** (symfony/console@v7.0.0...v7.0.1) - no significant changes ### [`v7.0.0`](https://togithub.com/symfony/console/releases/tag/v7.0.0) [Compare Source](https://togithub.com/symfony/console/compare/v6.4.4...v7.0.0) **Changelog** (symfony/console@v7.0.0-RC2...v7.0.0) - no significant changes </details> <details> <summary>symfony/process (symfony/process)</summary> ### [`v7.0.4`](https://togithub.com/symfony/process/releases/tag/v7.0.4) [Compare Source](https://togithub.com/symfony/process/compare/v7.0.3...v7.0.4) **Changelog** (symfony/process@v7.0.3...v7.0.4) - bug [symfony/symfony#54006](https://togithub.com/symfony/symfony/issues/54006) \[Process] Fix the `command -v` exception (@​kayw-geek) - bug [symfony/symfony#53821](https://togithub.com/symfony/symfony/issues/53821) \[Process] Fix Inconsistent Exit Status in proc_get_status for PHP Versions Below 8.3 ([@​Luc45](https://togithub.com/Luc45)) ### [`v7.0.3`](https://togithub.com/symfony/process/releases/tag/v7.0.3) [Compare Source](https://togithub.com/symfony/process/compare/v7.0.2...v7.0.3) **Changelog** (symfony/process@v7.0.2...v7.0.3) - bug [symfony/symfony#53481](https://togithub.com/symfony/symfony/issues/53481) \[Process] Fix executable finder when the command starts with a dash ([@​kayw-geek](https://togithub.com/kayw-geek)) ### [`v7.0.2`](https://togithub.com/symfony/process/releases/tag/v7.0.2) [Compare Source](https://togithub.com/symfony/process/compare/v7.0.0...v7.0.2) **Changelog** (symfony/process@v7.0.1...v7.0.2) - bug [symfony/symfony#52864](https://togithub.com/symfony/symfony/issues/52864) \[HttpClient]\[Mailer]\[Process] always pass microseconds to usleep as integers ([@​xabbuh](https://togithub.com/xabbuh)) ### [`v7.0.0`](https://togithub.com/symfony/process/releases/tag/v7.0.0) [Compare Source](https://togithub.com/symfony/process/compare/v6.4.4...v7.0.0) **Changelog** (symfony/process@v7.0.0-RC2...v7.0.0) - no significant changes </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/Lendable/composer-license-checker). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Fixes some comparisons to no longer erroneously disallow
'0'
/'-0'
as a shortcut value.