Skip to content

Commit

Permalink
Fix wrapping long descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
epdenouden authored and sebastianbergmann committed Jan 15, 2019
1 parent d4836e3 commit de3fbd8
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 46 deletions.
6 changes: 2 additions & 4 deletions src/Util/Help.php
Expand Up @@ -160,11 +160,9 @@ public function __construct(?int $width = null, ?bool $withColor = null)
}

if ($width === null) {
$this->maxDescLength = $console->getNumberOfColumns() - $this->maxArgLength - 4;
} else {
// The 76 is based on the width=80 used elsewhere in the code minus the margins=4
$this->maxDescLength = 76 - $this->maxArgLength;
$width = $console->getNumberOfColumns();
}
$this->maxDescLength = $width - $this->maxArgLength - 4;
}

/**
Expand Down
105 changes: 64 additions & 41 deletions tests/end-to-end/cli/_files/output-cli-help-color.txt
Expand Up @@ -3,66 +3,81 @@
phpunit [options] <directory>

Code Coverage Options:
--coverage-clover <file>  Generate code coverage report in Clover XML
--coverage-clover <file>  Generate code coverage report in Clover
XML format
--coverage-crap4j <file>  Generate code coverage report in Crap4J
XML format
--coverage-html <dir>  Generate code coverage report in HTML
format
--coverage-crap4j <file>  Generate code coverage report in Crap4J XML
format
--coverage-html <dir>  Generate code coverage report in HTML format
--coverage-php <file>  Export PHP_CodeCoverage object to file
--coverage-text=<file>  Generate code coverage report in text format
[default: standard output]
--coverage-xml <dir>  Generate code coverage report in PHPUnit XML
format
--whitelist <dir>  Whitelist <dir> for code coverage analysis
--disable-coverage-ignore  Disable annotations for ignoring code coverage
--coverage-text=<file>  Generate code coverage report in text
format [default: standard output]
--coverage-xml <dir>  Generate code coverage report in PHPUnit
XML format
--whitelist <dir>  Whitelist <dir> for code coverage
analysis
--disable-coverage-ignore  Disable annotations for ignoring code
coverage
--no-coverage  Ignore code coverage configuration
--dump-xdebug-filter <file> Generate script to set Xdebug code coverage
filter
--dump-xdebug-filter <file> Generate script to set Xdebug code
coverage filter

Logging Options:
--log-junit <file>  Log test execution in JUnit XML format to file
--log-teamcity <file>  Log test execution in TeamCity format to file
--testdox-html <file>  Write agile documentation in HTML format to file
--testdox-text <file>  Write agile documentation in Text format to file
--testdox-xml <file>  Write agile documentation in XML format to file
--log-junit <file>  Log test execution in JUnit XML format to
file
--log-teamcity <file>  Log test execution in TeamCity format to
file
--testdox-html <file>  Write agile documentation in HTML format
to file
--testdox-text <file>  Write agile documentation in Text format
to file
--testdox-xml <file>  Write agile documentation in XML format
to file
--reverse-list  Print defects in reverse order

Test Selection Options:
--filter <pattern>  Filter which tests to run
--testsuite <name>  Filter which testsuite to run
--group <name>  Only runs tests from the specified group(s)
--group <name>  Only runs tests from the specified
group(s)
--exclude-group <name>  Exclude tests from the specified group(s)
--list-groups  List available test groups
--list-suites  List available test suites
--list-tests  List available tests
--list-tests-xml <file>  List available tests in XML format
--test-suffix <suffixes>  Only search for test in files with specified
suffix(es). Default: Test.php,.phpt
--test-suffix <suffixes>  Only search for test in files with
specified suffix(es). Default:
Test.php,.phpt

Test Execution Options:
--dont-report-useless-tests Do not report tests that do not test anything
--dont-report-useless-tests Do not report tests that do not test
anything
--strict-coverage  Be strict about @covers annotation usage
--strict-global-state  Be strict about changes to global state
--disallow-test-output  Be strict about output during tests
--disallow-resource-usage  Be strict about resource usage during small tests
--disallow-resource-usage  Be strict about resource usage during
small tests
--enforce-time-limit  Enforce time limit based on test size
--default-time-limit=<sec>  Timeout in seconds for tests without @small,
@medium or @large
--default-time-limit=<sec>  Timeout in seconds for tests without
@small, @medium or @large
--disallow-todo-tests  Disallow @todo-annotated tests

--process-isolation  Run each test in a separate PHP process
--globals-backup  Backup and restore $GLOBALS for each test
--static-backup  Backup and restore static attributes for each
test
--static-backup  Backup and restore static attributes for
each test

--colors=<flag>  Use colors in output ("never", "auto" or
"always")
--columns <n>  Number of columns to use for progress output
--columns max  Use maximum number of columns for progress output
--columns <n>  Number of columns to use for progress
output
--columns max  Use maximum number of columns for
progress output
--stderr  Write to STDERR instead of STDOUT
--stop-on-defect  Stop execution upon first not-passed test
--stop-on-error  Stop execution upon first error
--stop-on-failure  Stop execution upon first error or failure
--stop-on-failure  Stop execution upon first error or
failure
--stop-on-warning  Stop execution upon first warning
--stop-on-risky  Stop execution upon first risky test
--stop-on-skipped  Stop execution upon first skipped test
Expand All @@ -74,36 +89,44 @@

--loader <loader>  TestSuiteLoader implementation to use
--repeat <times>  Runs the test(s) repeatedly
--teamcity  Report test execution progress in TeamCity format
--testdox  Report test execution progress in TestDox format
--testdox-group  Only include tests from the specified group(s)
--teamcity  Report test execution progress in
TeamCity format
--testdox  Report test execution progress in TestDox
format
--testdox-group  Only include tests from the specified
group(s)
--testdox-exclude-group  Exclude tests from the specified group(s)
--printer <printer>  TestListener implementation to use

--order-by=<order>  Run tests in order:
default|reverse|random|defects|no-depends
--random-order-seed=<N>  Use a specific random seed <N> for random order
--random-order-seed=<N>  Use a specific random seed <N> for random
order
--cache-result  Write test results to cache file
--do-not-cache-result  Do not write test results to cache file

Configuration Options:
--prepend <file>  A PHP script that is included as early as
possible
--bootstrap <file>  A PHP script that is included before the tests
run
--bootstrap <file>  A PHP script that is included before the
tests run
-c|--configuration <file>  Read configuration from XML file
--no-configuration  Ignore default configuration file (phpunit.xml)
--no-configuration  Ignore default configuration file
(phpunit.xml)
--no-logging  Ignore logging configuration
--no-extensions  Do not load PHPUnit extensions
--include-path <path(s)>  Prepend PHP's include_path with given path(s)
--include-path <path(s)>  Prepend PHP's include_path with given
path(s)
-d <key[=value]>  Sets a php.ini value
--generate-configuration  Generate configuration file with suggested
settings
--generate-configuration  Generate configuration file with
suggested settings
--cache-result-file=<file>  Specify result cache path and filename

Miscellaneous Options:
-h|--help  Prints this usage information
--version  Prints the version and exits
--atleast-version <min>  Checks that version is greater than min and exits
--check-version  Check whether PHPUnit is the latest version
--atleast-version <min>  Checks that version is greater than min
and exits
--check-version  Check whether PHPUnit is the latest
version

2 changes: 1 addition & 1 deletion tests/end-to-end/cli/help-color.phpt
Expand Up @@ -5,7 +5,7 @@ phpunit --help
--FILE--
<?php
require __DIR__ . '/../../bootstrap.php';
$help = new \Help(200, true);
$help = new \Help(72, true);
$help->writeToConsole();
--EXPECTF_EXTERNAL--
_files/output-cli-help-color.txt

0 comments on commit de3fbd8

Please sign in to comment.