1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
namespace yiiunit\framework\helpers;
use yii\helpers\VarDumper;
use yiiunit\TestCase;
/**
* @group helpers
*/
class VarDumperTest extends TestCase
{
public function testDumpObject()
{
$obj = new \StdClass();
ob_start();
VarDumper::dump($obj);
$this->assertEquals("stdClass#1\n(\n)", ob_get_contents());
ob_end_clean();
}
/**
* Data provider for [[testExport()]]
* @return array test data
*/
public function dataProviderExport()
{
// Regular :
$data = [
[
'test string',
var_export('test string', true)
],
[
75,
var_export(75, true)
],
[
7.5,
var_export(7.5, true)
],
[
null,
'null'
],
[
true,
'true'
],
[
false,
'false'
],
[
[],
'[]'
],
];
// Arrays :
$var = [
'key1' => 'value1',
'key2' => 'value2',
];
$expectedResult = <<<RESULT
[
'key1' => 'value1',
'key2' => 'value2',
]
RESULT;
$data[] = [$var, $expectedResult];
$var = [
'value1',
'value2',
];
$expectedResult = <<<RESULT
[
'value1',
'value2',
]
RESULT;
$data[] = [$var, $expectedResult];
// Objects :
$var = new \StdClass();
$var->testField = 'Test Value';
$expectedResult = "unserialize('" . serialize($var) . "')";
$data[] = [$var, $expectedResult];
return $data;
}
/**
* @dataProvider dataProviderExport
*
* @param mixed $var
* @param string $expectedResult
*/
public function testExport($var, $expectedResult)
{
$exportResult = VarDumper::export($var);
$this->assertEquals($expectedResult, $exportResult);
$this->assertEquals($var, eval('return ' . $exportResult . ';'));
}
}