[VarDumper] Fix global dump function return value for PHP7

This commit is contained in:
Patrick Carlo-Hickman 2018-09-18 03:36:25 +00:00 committed by Nicolas Grekas
parent b4bbc254b5
commit 0def211b9b
2 changed files with 59 additions and 2 deletions

View File

@ -17,8 +17,8 @@ if (!function_exists('dump')) {
*/
function dump($var)
{
foreach (func_get_args() as $var) {
VarDumper::dump($var);
foreach (func_get_args() as $v) {
VarDumper::dump($v);
}
if (1 < func_num_args()) {

View File

@ -0,0 +1,57 @@
<?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\Tests\Dumper;
use PHPUnit\Framework\TestCase;
use Symfony\Component\VarDumper\Cloner\VarCloner;
use Symfony\Component\VarDumper\Dumper\CliDumper;
use Symfony\Component\VarDumper\VarDumper;
class FunctionsTest extends TestCase
{
public function testDumpReturnsFirstArg()
{
$this->setupVarDumper();
$var1 = 'a';
ob_start();
$return = dump($var1);
$out = ob_get_clean();
$this->assertEquals($var1, $return);
}
public function testDumpReturnsAllArgsInArray()
{
$this->setupVarDumper();
$var1 = 'a';
$var2 = 'b';
$var3 = 'c';
ob_start();
$return = dump($var1, $var2, $var3);
$out = ob_get_clean();
$this->assertEquals(array($var1, $var2, $var3), $return);
}
protected function setupVarDumper()
{
$cloner = new VarCloner();
$dumper = new CliDumper('php://output');
VarDumper::setHandler(function ($var) use ($cloner, $dumper) {
$dumper->dump($cloner->cloneVar($var));
});
}
}