Commit Graph

36 Commits

Author SHA1 Message Date
Christian Flothmann
f574330be4 remove BC breaking argument 2016-06-16 10:59:45 +02:00
Robin Chalas
54d3d63cf1 Centralize input stream in base Input class
Add StreamableInputInterface

Removed commented code

Prevent BC by looking for QuestionHelper::

Logic fixes

Check for that  implements StreamableInputInterface

Rollback E_USER_DEPRECATED notice in getInputStream

Remove legacy tests to avoid KO because of deprecations

Add missing use

Keep old tests marked as legacy

Undeprecate getInputStream, CS Fixes

Move legacy tests in separated class

Revert separated legacy test class

Keep legacy createInputInterfaceMock()

Depreciate QuestionHelper::getInputStream()
2016-06-15 10:18:17 +02:00
Nicolas Grekas
9617b77a9c Merge branch '2.8' into 3.0
* 2.8:
  [Console] remove readline support
  [Routing] added a suggestion to add the HttpFoundation component.
  [travis] Add some comments
  changed operator from and to &&
  Fixed the Bootstrap form theme for inlined checkbox/radio
2016-02-04 13:12:16 +01:00
Christian Flothmann
0e45a4a5de [Console] remove readline support 2016-02-03 19:01:35 +01:00
Fabien Potencier
67df429d99 Merge branch '2.8' into 3.0
* 2.8: (48 commits)
  [Process] Use stream based storage to avoid memory issues
  Fix upgrade guides concerning erroneous removal of assets helper
  [Process] Remove a misleading comment
  Fix markdown typo
  ChooseBaseUrl should return an index
  [Form] ChoiceType: Fix a notice when 'choices' normalizer is replaced
  Improve the phpdoc of SplFileInfo methods
  [Process] Use stream based storage to avoid memory issues
  [FrameworkBundle] Don't log twice with the error handler
  synchronize 2.8 and 3.0 upgrade files
  Remove useless is_object condition
  [Process] Fix typo, no arguments needed anymore
  [Serializer] Introduce constants for context keys
  Fixed the documentation of VoterInterface::supportsAttribute
  Fixed Bootstrap form theme form "reset" buttons
  Fixed the form profiler when using long form types
  [PropertyInfo] PhpDocExtractor: Fix a notice when the property doesn't exist
  Remove useless duplicated tests
  [FrameworkBundle] Optimize framework extension tests
  synchronize 2.7 and 3.0 upgrade files
  ...
2016-01-20 13:18:23 +01:00
Nicolas Grekas
45feb164c2 bug #17253 [Console] HHVM read input stream bug (mbutkereit)
This PR was squashed before being merged into the 2.8 branch (closes #17253).

Discussion
----------

[Console] HHVM read input stream bug

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

HHVM readline() function requires a parameter  see:

https://github.com/facebook/hhvm/blob/master/hphp/runtime/ext/readline/ext_readline.php

But the php readline does not require one.
```
In   Symfony\Component\Console\Helper\QuestionHelper
 …
 readFromInput($stream)
 …
```
we use readline() without a parameter.

HHVM Version:
```
HipHop VM 3.10.1 (rel)
Compiler: tags/HHVM-3.10.1-0-g689b4969a141620ee5a282ce0dbf72278c84d44b
Repo schema: 6c99ee1f98340f6f3ef397a332583f0e843a627d
```

Docker Container:
```
docker run --rm -it -v `pwd`:`pwd` -w `pwd` brunoric/hhvm:deb hhvm test.php ls
```
Test.php
```
<?php
use Symfony\Component\Console\Application;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Question\Question;

use Symfony\Component\Console\Helper\QuestionHelper;

require_once  "vendor/autoload.php";

$console = new Application();

$console
    ->register('ls')
    ->setDescription('Try input')
    ->setCode(function (InputInterface $input, OutputInterface $output) {

        $question = new Question('Your email address: ');
        $question->setValidator(
            function ($answer) {
                return $answer;
            }
        );
        $question->setMaxAttempts(5);
		    $helper = new QuestionHelper();
	      $email = $helper->ask($input, $output, $question);

        $output->writeln(sprintf('Email Adress: <info>%s</info>', $email));
    })
;
$console->run();
```

composer.json
```
{
    "require": {
        "symfony/console": "^3.0"
    }
}
```

Result:
No input is possible and you got a warning
```
Your email address:
Warning: readline() expects exactly 1 parameter, 0 given in /clitest/vendor/symfony/console/Helper/QuestionHelper.php on line 436
Email Adress:
```

Fix:
Add a empty string parameter to  readline() or use fgets() for hhvm.

Commits
-------

e7f17a7 [Console] HHVM read input stream bug
2016-01-14 09:33:16 +01:00
Marvin Butkereit
e7f17a794a [Console] HHVM read input stream bug 2016-01-14 09:33:14 +01:00
Fabien Potencier
c3003468e2 Merge branch '2.8' into 3.0
* 2.8:
  Fix max width for multibyte keys in choice question
  [Console] Display console application name even when no version set
  Remove empty statements.
2016-01-14 09:27:24 +01:00
Fabien Potencier
8d53763a74 Merge branch '2.7' into 2.8
* 2.7:
  Fix max width for multibyte keys in choice question
  [Console] Display console application name even when no version set
  Remove empty statements.
2016-01-14 09:26:52 +01:00
Marek Pietrzak
5d2463b925 Fix max width for multibyte keys in choice question 2016-01-14 09:06:07 +01:00
Nicolas Grekas
7685cddf95 Add more callable type hints 2015-10-05 18:52:37 +02:00
Fabien Potencier
a5c65c1786 Merge branch '2.8'
* 2.8:
  [Console] Add domain exceptions to replace generic exceptions
  Implement service-based Resource (cache) validation
2015-09-25 12:59:21 +02:00
Jérôme Tamarelle
dd17dc00ee [Console] Add domain exceptions to replace generic exceptions 2015-09-25 08:44:39 +02:00
Nicolas Grekas
111bdc5294 Merge branch '2.8'
* 2.8:
  Added the right revision date for status code registry
  [Config] Fix enum default value in Yaml dumper
  fixed typo.
  [Translation][File dumper] allow get file content without writing in file.
  Finnish translation fix
  [CssSelector] Optimize regexs matching simple selectors
  Fix the phpdoc in the CssSelector TranslatorInterface
  [Console] Add clock mock to fix transient test on HHVM
  [DomCrawler] Optimize the regex used to find namespace prefixes
  [VarDumper] Add EnumStub for dumping virtual collections with casters
  [Finder] Deprecate adapters and related classes
  [EventDispatcher] skip one lazy loading call
  [EventDispatcher] fix memory leak in a getListeners
  [WebProfilerBundle] added btn-link.
  Remove duplication of the handling of regex filters in the Finder
  Default to stderr for console helpers (only merge if #15794 gets merged)

Conflicts:
	src/Symfony/Component/Console/Tests/Helper/LegacyProgressHelperTest.php
	src/Symfony/Component/EventDispatcher/EventDispatcher.php
	src/Symfony/Component/VarDumper/Tests/CliDumperTest.php
	src/Symfony/Component/VarDumper/Tests/HtmlDumperTest.php
2015-09-22 16:11:08 +02:00
Nicolas Grekas
b75755cdde Merge branch '2.7' into 2.8
* 2.7:
  [Config] Fix enum default value in Yaml dumper
  Finnish translation fix
  [CssSelector] Optimize regexs matching simple selectors
  Fix the phpdoc in the CssSelector TranslatorInterface
  [Console] Add clock mock to fix transient test on HHVM
  [DomCrawler] Optimize the regex used to find namespace prefixes
  [EventDispatcher] skip one lazy loading call
  [EventDispatcher] fix memory leak in a getListeners
  Default to stderr for console helpers (only merge if #15794 gets merged)
2015-09-22 15:49:41 +02:00
Rob Bast
90c2a96936 Default to stderr for console helpers (only merge if #15794 gets merged) 2015-09-14 23:39:58 +02:00
Fabien Potencier
c0e4495b66 fixes CS 2015-08-24 09:13:45 +02:00
Nicolas Grekas
352d8954e9 Merge branch '2.8'
* 2.8:
  [travis] Build standalone phpunit without symfony/yaml
  Clean wrong whitespaces
  [travis] Build phpunit with local components
  [Console] Handle false return value from readline
  do not remove space between attributes
  [HttpFoundation] fixed the check of 'proxy-revalidate' in Response::mustRevalidate()
  Allow to define Enum nodes with 1 single element
  Fix "[Form] Add flexibility for EntityType"
  Remove the duplicated rendering of deprecation messages in the profiler
  Fix the retrieval of the default value for variadic arguments
  Annotated routes with a variadic parameter
  [Locale] Fix Intl requirement
  Fixing DbalSessionHandler to work with a Oracle "limitation" or bug?
  Update EngineInterface.php
  [Form] Add flexibility for EntityType
  [Console] Fix Symfony coding standards violations
  [Console] Use readline for user input when available
  Better Iban Validation
  Added a way to define the priority of service decoration
  let Travis builds fail when PHP 7 jobs fail

Conflicts:
	.travis.yml
	UPGRADE-2.8.md
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Bundle/TwigBundle/composer.json
	src/Symfony/Component/Locale/composer.json
2015-08-06 10:40:33 +02:00
Michaël Perrin
f5ca270e75 [Console] Handle false return value from readline
"readline()" returns "false" when the user presses CTRL+D.
2015-08-04 17:59:05 +02:00
Michaël Perrin
05348991c2 [Console] Fix Symfony coding standards violations 2015-08-01 11:47:02 +02:00
Michaël Perrin
8b63d6209d [Console] Use readline for user input when available
This allows to use arrow keys in the terminal instead of having weird characters
2015-08-01 11:46:56 +02:00
Diego Saint Esteben
38f32c199c $this can be used inside a closure in PHP >= 5.4 2015-05-15 11:20:47 -03:00
Fabien Potencier
d67f017fab Merge branch '2.7'
* 2.7:
  [RFC][Console] Added console style guide helpers (v2)
  [Validator] Add missing pt_BR translations
  [Translation][Profiler] Added a Translation profiler.
  Add parsing of hexadecimal strings for PHP 7
  [VarDumper] Add filters to casters
  Trim final stop from deprecation message
  [Configuration] improve description for ignoreExtraKeys on ArrayNodeDefinition
  [Validator] Added missing Hungarian translation
  [Validator] Fixed grammar in Hungarian translation
  CS: Unary operators should be placed adjacent to their operands
  CS: Binary operators should be arounded by at least one space
  remove useless tests that fail in php 7
  [Translator] fix test for php 7 compatibility
  [VarDumper] Add VarDumperTestCase and related trait
  Update phpdoc of ProcessBuilder#setPrefix()

Conflicts:
	src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/Fixtures/php/lazy_service.php
	src/Symfony/Component/Routing/Matcher/ApacheUrlMatcher.php
	src/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php
	src/Symfony/Component/VarDumper/Cloner/AbstractCloner.php
2015-03-30 17:59:03 +02:00
Kevin Bond
96b4210de5 [RFC][Console] Added console style guide helpers (v2) 2015-03-30 17:51:02 +02:00
Fabien Potencier
929f1d9213 Merge branch '2.7'
* 2.7:
  Use PHPUnit ini_set wrapper in tests
  [Process] Added a test skip check for Windows
  [Process] Removed unused variable assignment
  Fixes various phpdoc and coding standards.
  Fixes Issue #13184 - incremental output getters now return empty strings
  Updated copyright to 2015
  Updated copyright to 2015
  Updated copyright to 2015
  [VarDumper] increase debug.max_items to 2500
  [Debug] Update exception messages.
  use value of DIRECTORY_SEPARATOR to detect Windows
  force ExpressionLanguage version >= 2.6
  [Debug] fixes ClassNotFoundFatalErrorHandler to correctly handle class not found errors with Symfony ClassLoader component autoloaders.
  Clarify a comment.
  use PHP_WINDOWS_VERSION_BUILD to detect Windows
  Check if a field type_class is defined before using it.
  Currently if you want to use inline bootstrap form rendering, this is usually enough:
  Add deprecation warning to LegacyPdoSessionHandler

Conflicts:
	src/Symfony/Bridge/Monolog/Logger.php
	src/Symfony/Bridge/Swiftmailer/LICENSE
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php
2015-01-03 09:04:30 +01:00
Christian Flothmann
559273ec1c use PHP_WINDOWS_VERSION_BUILD to detect Windows
This commit unifies the detection of Windows builds across the Symfony
codebase.
2014-12-30 14:45:54 +01:00
Saro0h
7b33d1a060 Removed all $that variables 2014-12-21 13:10:13 +01:00
Saro0h
111b1948f2 Added information when an error occured during validation of an answer of a question 2014-12-08 09:28:21 +01:00
Graham Campbell
ed4fb54901 CS fixes 2014-12-04 20:26:11 +00:00
Fabien Potencier
b91866f6c1 Merge branch '2.4' into 2.5
* 2.4:
  fixed CS
  [Process] fixed some volatile tests
  [HttpKernel] fixed a volatile test
  [HttpFoundation] fixed some volatile tests
  [Tests] PHPUnit Optimizations
  Use getPathname() instead of string casting to get BinaryFileReponse file path

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/full.php
	src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/SessionController.php
	src/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php
	src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
	src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
	src/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php
	src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
	src/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php
	src/Symfony/Component/Process/Tests/AbstractProcessTest.php
	src/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
	src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
	src/Symfony/Component/Security/Acl/Dbal/MutableAclProvider.php
	src/Symfony/Component/Security/Core/Authentication/Provider/PreAuthenticatedAuthenticationProvider.php
	src/Symfony/Component/Security/Http/Tests/Firewall/SwitchUserListenerTest.php
	src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
	src/Symfony/Component/Translation/Tests/Dumper/IcuResFileDumperTest.php
	src/Symfony/Component/Validator/Constraints/ChoiceValidator.php
	src/Symfony/Component/Validator/Constraints/CollectionValidator.php
	src/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/IsbnValidatorTest.php
	src/Symfony/Component/Validator/Tests/ValidationVisitorTest.php
	src/Symfony/Component/Yaml/Parser.php
2014-09-22 11:14:18 +02:00
florianv
9fe4b88aaa [Console] Fixed notice in QuestionHelper 2014-06-19 01:05:50 +02:00
Romain Neutron
3a5a525aee [Console] Fix #10795: Allow instancing Console Application when STDIN is not declared 2014-04-28 14:32:01 +02:00
Fabien Potencier
f72eb34fc4 fixed types in phpdocs 2014-04-16 12:36:34 +02:00
Romain Neutron
099e480c1c Fix travis build 2014-04-02 18:54:39 +02:00
Romain Neutron
336bba2fd8 [Console] Add docblocks and unit tests to QuestionHelper 2014-04-02 17:11:48 +02:00
Fabien Potencier
c413f89723 [Console] added a better way to ask questions to the user 2014-04-01 14:31:41 +02:00