| by dg | CliTester: added option --version [Closes #381] | | | |
| by dg | Assert::match(): failure with a slash-delimited pattern explains it is a mask [Closes #350] | | | |
| by dg | console output is readable on a light background [Closes #417] Highlighted text in failure messages is bold instead of bright white, gray is the real gray instead of bold black, and passed tests in console-lines mode are no longer printed in silver. | | | |
| by dg | Assert: same() and equal() show where nested structures differ [Closes #320] When the one-line dump of arrays or objects hides the difference (nested [...], truncated lists, object hashes), the failure message gets a line with the path to the first differing item, e.g. at ['fields'][4]: 'foo' should be 'bar' equal() descends into properties of objects and skips back-references. Failure messages now read %% as a literal %, so that values in the path line containing %1 or %2 (as in url-encoded %20) are not replaced. | | | |
| by dg | cs | | | |
| by dg | CI: DressCode checks with the dependencies installed Without vendor/ it knows nothing of the classes of the libraries, so a call of a deprecated method passes unnoticed. | | | |
| by dg | Released version 2.7.0 | | | |
| by dg | updated DOCS | | | |
| by dg | CliTester: exits with non-zero code when no tests are found | | | |
| by dg | improved --cider mode (thx Claude) | | | |
| by dg | Environment: lock() validates that lock directory exists instead of silently creating lock at filesystem root | | | |
| by dg | added test time limit: --timeout option and @timeout annotation; hanging test process is terminated and reported as failure | | | |
| by dg | HttpAssert: added request timeout | | | |
| by dg | GitHub Actions output (-o github) is enabled automatically when running on GitHub Actions | | | |
| by dg | JUnitPrinter: reports test durations; failed and skipped tests now carry duration | | | |
| by dg | ConsolePrinter: added --slowest option printing the slowest tests after the run | | | |
| by dg | added GitHub Actions output format (-o github), failures are annotated in the PR diff view | | | |
| by dg | TestHandler: TestCase methods are discovered by jobs running in parallel with other tests instead of blocking the scheduling (speeds up cold start) | | | |
| by dg | TestHandler: caches parsed annotations, avoids re-reading each test file twice | | | |
| by dg | TestCase: data provider returning no data sets is an error A method-level data provider returning an empty array or an empty Traversable made runTest() return without calling the test method, and run() printed a passing mark. It now throws TestCaseException, the same way as an empty file-level data provider fails the test. | | | |
| by dg | TestCase: added #[Throws] and #[DataProvider] attributes as an alternative to annotations Method-level annotations only; attributes take precedence over the docblock, which stays fully functional. File-level .phpt annotations cannot be replaced (no file-level attributes in PHP, runner reads them statically before spawn). | | | |
| by dg | Assert: type 'integer' deprecated, use 'int' | | | |
| by dg | uses nette/phpstan-rules | | | |
| by dg | requires PHP 8.1 | | | |
| by dg | opened 2.7-dev | | | |
| by dg | added Environment::Version constant, no longer hard-coded in the logo | | | |
| by dg | JUnitPrinter, TapPrinter: strip ANSI sequences from output | | | |
| by dg | added upgrading.md | | | |
| by dg | FileMock: implemented stream_flush(), PHP 8.6 makes fclose() fail without it | | | |
| by dg | CliTester: error message is written to stderr even under php-cgi | | | |
| by dg | Dumper: call arguments in stack traces are kept on a single line Arguments were formatted by toLine(), whose string encoding emits the actual character after the \n, \r and \t escapes and toggles bold around them, meant for assertion messages. In a stack trace this split frames over multiple lines and left the rest of the frame bold. Arguments now use a plain variant: strings are encoded as PHP literals, exceptions and Expect are shown as objects, without their possibly multiline message or dump. | | | |
| by dg | Runner: added warning when Xdebug slows down the run | | | |