* Improve interactive package updates
* Exclude platform packages and up to date packages, follow stability flags, ignore-platform-reqs etc
* Add tests and support for lock file + empty lock/vendor
---------
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
* Add single test case for interactive `init` command
* Fix spelling + use single quotes
* Fix test expectations
---------
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
* Add `GlobalCommandTest.php`
- `testGlobal` to check `COMPOSER_HOME` is followed correctly + check
`COMPOSER` is unset.
- `testNotCreateHome` to test handling invalid `COMPOSER_HOME`.
* Add error string for non obvious test case
* Clean up env vars and minor code style changes
---------
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
* Add test case for conflicting both with `--dev` and without
* Implement interactive case
* Restrcture so that interactive case is actually interactive
I don't know why specifying `'--no-interaction' => !$isInteractive,`
didn't give the desired behavior of the prompt being interactive.
You can verify that by printing the `$appTester->getDisplay()` which
doesn't contain a prompt. In fact, it doesn't make any difference
whether I set it to true or false. The only difference is if I set it
or don't set it.
* Fix dreaded trainling comma
* AutoloadGenerator: add `Locker` parameter to the `dump` method
* AutoloadGenerator: do not create a random hash, re-use the one from the lock file if it exists
* FileSystem: make sure `safeCopy` copy also the file time metadata
* test(ArchiveCommand): Add test for ArchiveCommand with package name
* fix : using explicit variable name for eventDispatcher Mock
---------
Co-authored-by: Damien Carrier <damien.carrier@alximy.io>
* add a test case for "not provided a required parameter"
* add a test cases for "not provided locked file"
* cleanup for case provider
* add a test case for "package existence"
* add a test case for "warning when dependencies are not installed"
* fix the test case for "warning when dependencies are not installed"
* add a test case for "package was not found in the project"
* add a test cases for `why-not` command
- also they were fixed docblocks
* add a test cases for `why` command
* versions were added to dependency objects
* it was avoided HEREDOC due it seems to be failing in PHP 7.2
* it was avoided mismatches due different platforms EOL
* it was used full output instead of an array of messages (to avoid EOL isues)
* it increased code coverage to 97%
* All test case docblocks were corrected according to CR feedback
* ensure that `why-not` should say that an installed package requires an incompatible version of the inspected package
The name column was always padded to maximum width, even if no other columns were printed.
This makes it difficult to use the output e.g. in pipelines.
Fixed for all possible columns, and with tests for two cases (regular show and show outdated).
* Use static test data providers
Using non-static methods as a data providers was deprecated in phpunit
10.
* Rename abstract test class
Abstract test case classes with Test suffix are deprecated in PHPUnit
10. We also change the ArchiverTest file name to match the new class
name (ArchiverTestCase).
* https://github.com/sebastianbergmann/phpunit/issues/5132
* Adds test class boilerplate
* test: Tests warning returned with dev flag
* test: warning returned with no-suggest flag
* test: packages passed is invalid
* test: no-install flag passed
---------
Co-authored-by: alex.theobold <alex.theobold@sykescottages.co.uk>