Add filter in VarDumperTestTrait

This commit is contained in:
Dany Maillard 2017-04-30 15:22:14 +02:00
parent e9e19e7f4d
commit 1da8e71b6c
2 changed files with 51 additions and 6 deletions

View File

@ -540,6 +540,39 @@ Validator
changed to `true` as of 4.0. If you need the previous behaviour ensure to
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
--------

View File

@ -19,17 +19,29 @@ use Symfony\Component\VarDumper\Dumper\CliDumper;
*/
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() 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->assertSame(rtrim($dump), $this->getDump($data, null, $filter), $message);
}
public function assertDumpMatchesFormat($dump, $data, $message = '')
public function assertDumpMatchesFormat($dump, $data, $filter = 0, $message = '')
{
$this->assertStringMatchesFormat(rtrim($dump), $this->getDump($data), $message);
if (is_string($filter)) {
@trigger_error(sprintf('The $message argument of the %s() 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)
protected function getDump($data, $key = null, $filter = 0)
{
$flags = getenv('DUMP_LIGHT_ARRAY') ? CliDumper::DUMP_LIGHT_ARRAY : 0;
$flags |= getenv('DUMP_STRING_LENGTH') ? CliDumper::DUMP_STRING_LENGTH : 0;
@ -38,7 +50,7 @@ trait VarDumperTestTrait
$cloner->setMaxItems(-1);
$dumper = new CliDumper(null, null, $flags);
$dumper->setColors(false);
$data = $cloner->cloneVar($data)->withRefHandles(false);
$data = $cloner->cloneVar($data, $filter)->withRefHandles(false);
if (null !== $key && null === $data = $data->seek($key)) {
return;
}