*/
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 Symfony 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()" method at 3rd position is deprecated since Symfony 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)
+ protected function getDump($data, $key = null, $filter = 0)
{
- $h = fopen('php://memory', 'r+b');
+ $flags = getenv('DUMP_LIGHT_ARRAY') ? CliDumper::DUMP_LIGHT_ARRAY : 0;
+ $flags |= getenv('DUMP_STRING_LENGTH') ? CliDumper::DUMP_STRING_LENGTH : 0;
+
$cloner = new VarCloner();
$cloner->setMaxItems(-1);
- $dumper = new CliDumper($h);
+ $dumper = new CliDumper(null, null, $flags);
$dumper->setColors(false);
- $dumper->dump($cloner->cloneVar($data)->withRefHandles(false));
- $data = stream_get_contents($h, -1, 0);
- fclose($h);
+ $data = $cloner->cloneVar($data, $filter)->withRefHandles(false);
+ if (null !== $key && null === $data = $data->seek($key)) {
+ return;
+ }
- return rtrim($data);
+ return rtrim($dumper->dump($data, true));
}
}