From 1da8e71b6ceb997b6a1ccb2bd0873102e54d02d7 Mon Sep 17 00:00:00 2001 From: Dany Maillard Date: Sun, 30 Apr 2017 15:22:14 +0200 Subject: [PATCH] Add filter in VarDumperTestTrait --- UPGRADE-4.0.md | 33 +++++++++++++++++++ .../VarDumper/Test/VarDumperTestTrait.php | 24 ++++++++++---- 2 files changed, 51 insertions(+), 6 deletions(-) diff --git a/UPGRADE-4.0.md b/UPGRADE-4.0.md index 6424371880..f49f9cd742 100644 --- a/UPGRADE-4.0.md +++ b/UPGRADE-4.0.md @@ -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 -------- diff --git a/src/Symfony/Component/VarDumper/Test/VarDumperTestTrait.php b/src/Symfony/Component/VarDumper/Test/VarDumperTestTrait.php index 40ec83d132..d41ec63087 100644 --- a/src/Symfony/Component/VarDumper/Test/VarDumperTestTrait.php +++ b/src/Symfony/Component/VarDumper/Test/VarDumperTestTrait.php @@ -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; }