feature #22588 [VarDumper] Add filter in VarDumperTestTrait (maidmaid)
This PR was merged into the 3.4 branch.
Discussion
----------
[VarDumper] Add filter in VarDumperTestTrait
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets | /
| License | MIT
| Doc PR | /
Many casters uses ``EXCLUDE_*`` flags in their cast method. It would be usefull to use this flags directly with ``VarDumperTestTrait`` to tests many cases.
Commits
-------
1da8e71
Add filter in VarDumperTestTrait
This commit is contained in:
commit
5a3abf5e82
@ -567,6 +567,39 @@ Validator
|
|||||||
changed to `true` as of 4.0. If you need the previous behaviour ensure to
|
changed to `true` as of 4.0. If you need the previous behaviour ensure to
|
||||||
set the option to `false`.
|
set the option to `false`.
|
||||||
|
|
||||||
|
VarDumper
|
||||||
|
---------
|
||||||
|
|
||||||
|
* The `VarDumperTestTrait::assertDumpEquals()` method expects a 3rd `$context = null`
|
||||||
|
argument and moves `$message = ''` argument at 4th position.
|
||||||
|
|
||||||
|
Before:
|
||||||
|
|
||||||
|
```php
|
||||||
|
VarDumperTestTrait::assertDumpEquals($dump, $data, $message = '');
|
||||||
|
```
|
||||||
|
|
||||||
|
After:
|
||||||
|
|
||||||
|
```php
|
||||||
|
VarDumperTestTrait::assertDumpEquals($dump, $data, $filter = 0, $message = '');
|
||||||
|
```
|
||||||
|
|
||||||
|
* The `VarDumperTestTrait::assertDumpMatchesFormat()` method expects a 3rd `$context = null`
|
||||||
|
argument and moves `$message = ''` argument at 4th position.
|
||||||
|
|
||||||
|
Before:
|
||||||
|
|
||||||
|
```php
|
||||||
|
VarDumperTestTrait::assertDumpMatchesFormat($dump, $data, $message = '');
|
||||||
|
```
|
||||||
|
|
||||||
|
After:
|
||||||
|
|
||||||
|
```php
|
||||||
|
VarDumperTestTrait::assertDumpMatchesFormat($dump, $data, $filter = 0, $message = '');
|
||||||
|
```
|
||||||
|
|
||||||
Workflow
|
Workflow
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
@ -19,17 +19,29 @@ use Symfony\Component\VarDumper\Dumper\CliDumper;
|
|||||||
*/
|
*/
|
||||||
trait VarDumperTestTrait
|
trait VarDumperTestTrait
|
||||||
{
|
{
|
||||||
public function assertDumpEquals($dump, $data, $message = '')
|
public function assertDumpEquals($dump, $data, $filter = 0, $message = '')
|
||||||
{
|
{
|
||||||
$this->assertSame(rtrim($dump), $this->getDump($data), $message);
|
if (is_string($filter)) {
|
||||||
|
@trigger_error(sprintf('The $message argument of the "%s()" method at 3rd position is deprecated since version 3.4 and will be moved at 4th position in 4.0.', __METHOD__), E_USER_DEPRECATED);
|
||||||
|
$message = $filter;
|
||||||
|
$filter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function assertDumpMatchesFormat($dump, $data, $message = '')
|
$this->assertSame(rtrim($dump), $this->getDump($data, null, $filter), $message);
|
||||||
{
|
|
||||||
$this->assertStringMatchesFormat(rtrim($dump), $this->getDump($data), $message);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getDump($data, $key = null)
|
public function assertDumpMatchesFormat($dump, $data, $filter = 0, $message = '')
|
||||||
|
{
|
||||||
|
if (is_string($filter)) {
|
||||||
|
@trigger_error(sprintf('The $message argument of the "%s()" method at 3rd position is deprecated since version 3.4 and will be moved at 4th position in 4.0.', __METHOD__), E_USER_DEPRECATED);
|
||||||
|
$message = $filter;
|
||||||
|
$filter = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->assertStringMatchesFormat(rtrim($dump), $this->getDump($data, null, $filter), $message);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getDump($data, $key = null, $filter = 0)
|
||||||
{
|
{
|
||||||
$flags = getenv('DUMP_LIGHT_ARRAY') ? CliDumper::DUMP_LIGHT_ARRAY : 0;
|
$flags = getenv('DUMP_LIGHT_ARRAY') ? CliDumper::DUMP_LIGHT_ARRAY : 0;
|
||||||
$flags |= getenv('DUMP_STRING_LENGTH') ? CliDumper::DUMP_STRING_LENGTH : 0;
|
$flags |= getenv('DUMP_STRING_LENGTH') ? CliDumper::DUMP_STRING_LENGTH : 0;
|
||||||
@ -38,7 +50,7 @@ trait VarDumperTestTrait
|
|||||||
$cloner->setMaxItems(-1);
|
$cloner->setMaxItems(-1);
|
||||||
$dumper = new CliDumper(null, null, $flags);
|
$dumper = new CliDumper(null, null, $flags);
|
||||||
$dumper->setColors(false);
|
$dumper->setColors(false);
|
||||||
$data = $cloner->cloneVar($data)->withRefHandles(false);
|
$data = $cloner->cloneVar($data, $filter)->withRefHandles(false);
|
||||||
if (null !== $key && null === $data = $data->seek($key)) {
|
if (null !== $key && null === $data = $data->seek($key)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user