Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 57da9ae

Browse files
[VarDumper] Add VarDumperTestCase and related trait
1 parent d23b38a commit 57da9ae

File tree

3 files changed

+97
-27
lines changed

3 files changed

+97
-27
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <[email protected]>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Component\VarDumper\Test;
13+
14+
use Symfony\Component\VarDumper\Cloner\VarCloner;
15+
use Symfony\Component\VarDumper\Dumper\CliDumper;
16+
17+
/**
18+
* @author Nicolas Grekas <[email protected]>
19+
*/
20+
abstract class VarDumperTestCase extends \PHPUnit_Framework_TestCase
21+
{
22+
public function assertDumpEquals($dump, $data, $message = '')
23+
{
24+
$this->assertSame($dump, $this->getVarDumperDump($data), $message);
25+
}
26+
27+
public function assertDumpMatchesFormat($dump, $data, $message = '')
28+
{
29+
$this->assertStringMatchesFormat($dump, $this->getVarDumperDump($data), $message);
30+
}
31+
32+
private function getVarDumperDump($data)
33+
{
34+
$h = fopen('php://memory', 'r+b');
35+
$cloner = new VarCloner();
36+
$dumper = new CliDumper($h);
37+
$dumper->setColors(false);
38+
$dumper->dump($cloner->cloneVar($data)->withRefHandles(false));
39+
fseek($h, 0);
40+
$data = stream_get_contents($h);
41+
fclose($h);
42+
43+
return $data;
44+
}
45+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <[email protected]>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Component\VarDumper\Test;
13+
14+
use Symfony\Component\VarDumper\Cloner\VarCloner;
15+
use Symfony\Component\VarDumper\Dumper\CliDumper;
16+
17+
/**
18+
* @author Nicolas Grekas <[email protected]>
19+
*/
20+
trait VarDumperTestTrait
21+
{
22+
public function assertDumpEquals($dump, $data, $message = '')
23+
{
24+
$this->assertSame($dump, $this->getVarDumperDump($data), $message);
25+
}
26+
27+
public function assertDumpMatchesFormat($dump, $data, $message = '')
28+
{
29+
$this->assertStringMatchesFormat($dump, $this->getVarDumperDump($data), $message);
30+
}
31+
32+
private function getVarDumperDump($data)
33+
{
34+
$h = fopen('php://memory', 'r+b');
35+
$cloner = new VarCloner();
36+
$dumper = new CliDumper($h);
37+
$dumper->setColors(false);
38+
$dumper->dump($cloner->cloneVar($data)->withRefHandles(false));
39+
fseek($h, 0);
40+
$data = stream_get_contents($h);
41+
fclose($h);
42+
43+
return $data;
44+
}
45+
}

src/Symfony/Component/VarDumper/Tests/CliDumperTest.php

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313

1414
use Symfony\Component\VarDumper\Cloner\VarCloner;
1515
use Symfony\Component\VarDumper\Dumper\CliDumper;
16+
use Symfony\Component\VarDumper\Test\VarDumperTestCase;
1617

1718
/**
1819
* @author Nicolas Grekas <[email protected]>
1920
*/
20-
class CliDumperTest extends \PHPUnit_Framework_TestCase
21+
class CliDumperTest extends VarDumperTestCase
2122
{
2223
public function testGet()
2324
{
@@ -115,21 +116,10 @@ public function testXmlResource()
115116
}
116117

117118
$var = xml_parser_create();
118-
$ref = (int) $var;
119119

120-
$dumper = new CliDumper();
121-
$dumper->setColors(false);
122-
$cloner = new VarCloner();
123-
124-
$data = $cloner->cloneVar($var);
125-
$out = fopen('php://memory', 'r+b');
126-
$dumper->dump($data, $out);
127-
rewind($out);
128-
$out = stream_get_contents($out);
129-
130-
$this->assertSame(
120+
$this->assertDumpEquals(
131121
<<<EOTXT
132-
:xml {@{$ref}
122+
:xml {
133123
current_byte_index: 0
134124
current_column_number: 1
135125
current_line_number: 1
@@ -138,7 +128,7 @@ public function testXmlResource()
138128
139129
EOTXT
140130
,
141-
$out
131+
$var
142132
);
143133
}
144134

@@ -190,7 +180,7 @@ public function testThrowingCaster()
190180
191181
EOTXT
192182
,
193-
$out
183+
$var
194184
);
195185
}
196186

@@ -206,17 +196,7 @@ public function testSpecialVars56()
206196

207197
$var = $this->getSpecialVars();
208198

209-
$dumper = new CliDumper();
210-
$dumper->setColors(false);
211-
$cloner = new VarCloner();
212-
213-
$data = $cloner->cloneVar($var);
214-
$out = fopen('php://memory', 'r+b');
215-
$dumper->dump($data, $out);
216-
rewind($out);
217-
$out = stream_get_contents($out);
218-
219-
$this->assertSame(
199+
$this->assertDumpEquals(
220200
<<<EOTXT
221201
array:3 [
222202
0 => array:1 [

0 commit comments

Comments
 (0)