Mercurial > hg > isophonics-drupal-site
diff vendor/symfony/var-dumper/Test/VarDumperTestTrait.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 7a779792577d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,48 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Test; + +use Symfony\Component\VarDumper\Cloner\VarCloner; +use Symfony\Component\VarDumper\Dumper\CliDumper; + +/** + * @author Nicolas Grekas <p@tchwork.com> + */ +trait VarDumperTestTrait +{ + public function assertDumpEquals($dump, $data, $message = '') + { + $this->assertSame(rtrim($dump), $this->getDump($data), $message); + } + + public function assertDumpMatchesFormat($dump, $data, $message = '') + { + $this->assertStringMatchesFormat(rtrim($dump), $this->getDump($data), $message); + } + + protected function getDump($data, $key = null) + { + $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(null, null, $flags); + $dumper->setColors(false); + $data = $cloner->cloneVar($data)->withRefHandles(false); + if (null !== $key && null === $data = $data->seek($key)) { + return; + } + + return rtrim($dumper->dump($data, true)); + } +}