%A%
+ XX,
+ Dumper::toHtml(fopen(__FILE__, 'r'), $options),
+);
// no lazy dump and collapse
-Assert::match(<<<'XX'
-
Test #%d%
- x:
array (2)
-
| 0 => 10
- | 1 => null
-
y:
'hello'
-
z:
30.0
-
-XX
- , Dumper::toHtml(new Test, $options + [Dumper::COLLAPSE => true]));
+Assert::match(
+ <<<'XX'
+
Test #%d%
+ x:
array (2)
+
| 0 => 10
+ | 1 => null
+
y:
'hello'
+
z:
30.0
+
+ XX,
+ Dumper::toHtml(new Test, $options + [Dumper::COLLAPSE => true]),
+);
// no lazy dump & location
-Assert::match(<<<'XX'
-
Dumper::toHtml(new Test, $options + ['location' => … N_CLASS])) 📍Test #%d%
- x:
array (2)
-
| 0 => 10
- | 1 => null
-
y:
'hello'
-
z:
30.0
-
-XX
- , Dumper::toHtml(new Test, $options + ['location' => Dumper::LOCATION_SOURCE | Dumper::LOCATION_CLASS]));
+Assert::match(
+ <<<'XX'
+
Dumper::toHtml(new Test, $options + ['location' => … ON_CLASS]) 📍Test #%d%
+ x:
array (2)
+
| 0 => 10
+ | 1 => null
+
y:
'hello'
+
z:
30.0
+
+ XX,
+ Dumper::toHtml(new Test, $options + ['location' => Dumper::LOCATION_SOURCE | Dumper::LOCATION_CLASS]),
+);
// recursion
$arr = [1, 2, 3];
$arr[] = &$arr;
-Assert::match(<<<'XX'
-
array (4)
- 0 =>
1
-
1 =>
2
-
2 =>
3
-
3 =>
&1 array (4)
-
| 0 => 1
- | 1 => 2
- | 2 => 3
- | 3 => &1 array (4) RECURSION
-
-XX
- , Dumper::toHtml($arr, $options));
+Assert::match(
+ <<<'XX'
+
array (4)
+ 0 =>
1
+
1 =>
2
+
2 =>
3
+
3 =>
&1 array (4)
+
| 0 => 1
+ | 1 => 2
+ | 2 => 3
+ | 3 => &1 array (4) RECURSION
+
+ XX,
+ Dumper::toHtml($arr, $options),
+);
$obj = new stdClass;
$obj->x = $obj;
-Assert::match(<<<'XX'
-
stdClass #%d%
- x: stdClass #%d% RECURSION
-
-XX
- , Dumper::toHtml($obj, $options));
+Assert::match(
+ <<<'XX'
+
stdClass #%d%
+ x: stdClass #%d% RECURSION
+
+ XX,
+ Dumper::toHtml($obj, $options),
+);
// max depth
$arr = [1, [2, [3, [4, [5, [6]]]]], 3];
-Assert::match(<<<'XX'
-
array (3)
- 0 =>
1
-
1 =>
array (2)
-
| 0 =>
2
-
| 1 =>
array (2)
-
| | 0 =>
3
-
| | 1 =>
array (2)
-
| | | 0 => 4
- | | | 1 => array (2) …
-
2 =>
3
-
-XX
- , Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4]));
+Assert::match(
+ <<<'XX'
+
array (3)
+ 0 =>
1
+
1 =>
array (2)
+
| 0 =>
2
+
| 1 =>
array (2)
+
| | 0 =>
3
+
| | 1 =>
array (2)
+
| | | 0 => 4
+ | | | 1 => array (2) …
+
2 =>
3
+
+ XX,
+ Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4]),
+);
$obj = new stdClass;
$obj->a = new stdClass;
@@ -136,13 +150,15 @@ $obj->a->b = new stdClass;
$obj->a->b->c = new stdClass;
$obj->a->b->c->d = new stdClass;
$obj->a->b->c->d->e = new stdClass;
-Assert::match(<<<'XX'
-
stdClass #%d%
- a:
stdClass #%d%
-
| b:
stdClass #%d%
-
| | c:
stdClass #%d%
-
| | | d: stdClass #%d% …
-
-XX
- , Dumper::toHtml($obj, $options + [Dumper::DEPTH => 4]));
+Assert::match(
+ <<<'XX'
+
stdClass #%d%
+ a:
stdClass #%d%
+
| b:
stdClass #%d%
+
| | c:
stdClass #%d%
+
| | | d: stdClass #%d% …
+
+ XX,
+ Dumper::toHtml($obj, $options + [Dumper::DEPTH => 4]),
+);
diff --git a/tests/Tracy/Dumper.toHtml().lazy.phpt b/tests/Tracy/Dumper.toHtml().lazy.phpt
index 60fb1c903..a515e6c00 100644
--- a/tests/Tracy/Dumper.toHtml().lazy.phpt
+++ b/tests/Tracy/Dumper.toHtml().lazy.phpt
@@ -26,77 +26,97 @@ Assert::match('
array\\x00","length":1}]]'>
-XX
- , Dumper::toHtml([null, true, false, 'string', "'&\"", "\x00"], $options));
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml([null, true, false, 'string', "'&\"", "\x00"], $options),
+);
// lazy dump of numbers
-Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml([0, 0.0, 1, 1.0, 9007199254740999, -9007199254740999, INF, -INF, NAN], $options));
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml([0, 0.0, 1, 1.0, 9_007_199_254_740_999, -9_007_199_254_740_999, INF, -INF, NAN], $options),
+);
// live dump of object
-Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml(new stdClass, $options));
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml(new stdClass, $options),
+);
// twice with different identity
-Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml(new stdClass, $options)); // different object
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml(new stdClass, $options),
+); // different object
- // lazy dump and resource
- Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml(fopen(__FILE__, 'r'), $options));
+// lazy dump and resource
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml(fopen(__FILE__, 'r'), $options),
+);
// lazy dump and collapse
-Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml(new Test, $options + [Dumper::COLLAPSE => true]));
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml(new Test, $options + [Dumper::COLLAPSE => true]),
+);
// lazy dump & location
-Assert::match(<<<'XX'
-
Dumper::toHtml(new Test, $options + ['location' => … N_CLASS])) 📍
-XX
- , Dumper::toHtml(new Test, $options + ['location' => Dumper::LOCATION_SOURCE | Dumper::LOCATION_CLASS]));
+Assert::match(
+ <<<'XX'
+
Dumper::toHtml(new Test, $options + ['location' => … ON_CLASS]) 📍
+ XX,
+ Dumper::toHtml(new Test, $options + ['location' => Dumper::LOCATION_SOURCE | Dumper::LOCATION_CLASS]),
+);
// lazy dump & recursion
$arr = [1, 2, 3];
$arr[] = &$arr;
-Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml($arr, $options));
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml($arr, $options),
+);
$obj = new stdClass;
$obj->x = $obj;
-Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml($obj, $options));
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml($obj, $options),
+);
// lazy dump & max depth
$arr = [1, [2, [3, [4, [5, [6]]]]], 3];
-Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4]));
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4]),
+);
$obj = new stdClass;
$obj->a = new stdClass;
@@ -104,23 +124,29 @@ $obj->a->b = new stdClass;
$obj->a->b->c = new stdClass;
$obj->a->b->c->d = new stdClass;
$obj->a->b->c->d->e = new stdClass;
-Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml($obj, $options + [Dumper::DEPTH => 4]));
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml($obj, $options + [Dumper::DEPTH => 4]),
+);
// lazy dump & max string length
$arr = [str_repeat('x', 80)];
-Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml($arr, $options + [Dumper::TRUNCATE => 50]));
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml($arr, $options + [Dumper::TRUNCATE => 50]),
+);
// lazy dump & max items
$arr = [1, 2, 3, 4, 5, 6, 7, 8];
-Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml([$arr, (object) $arr], $options + [Dumper::ITEMS => 5]));
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml([$arr, (object) $arr], $options + [Dumper::ITEMS => 5]),
+);
diff --git a/tests/Tracy/Dumper.toHtml().live.phpt b/tests/Tracy/Dumper.toHtml().live.phpt
index 6743fa22c..25e946304 100644
--- a/tests/Tracy/Dumper.toHtml().live.phpt
+++ b/tests/Tracy/Dumper.toHtml().live.phpt
@@ -36,20 +36,20 @@ Assert::same([], Dumper::$liveSnapshot[0]);
// live dump of array
Assert::match(
'
\\\\x00","length":1}],[8,{"number":"INF"}],[9,{"number":"-INF"}],[10,{"number":"NAN"}]]\'>
',
- Dumper::toHtml([null, true, false, 0, 0.0, 'string', "'&\"", "\x00", INF, -INF, NAN], $options)
+ Dumper::toHtml([null, true, false, 0, 0.0, 'string', "'&\"", "\x00", INF, -INF, NAN], $options),
);
// live dump of object
Assert::match(
'
',
- Dumper::toHtml(new stdClass, $options)
+ Dumper::toHtml(new stdClass, $options),
);
// twice with different identity
Assert::match(
'
',
- Dumper::toHtml(new stdClass, $options) // different object
+ Dumper::toHtml(new stdClass, $options), // different object
);
Assert::equal([
['object' => 'stdClass', 'items' => []],
@@ -65,7 +65,7 @@ Assert::match('
null
Dumper::$liveSnapshot = [];
Assert::match(
'',
- Dumper::toHtml(fopen(__FILE__, 'r'), $options)
+ Dumper::toHtml(fopen(__FILE__, 'r'), $options),
);
Assert::count(1, Dumper::$liveSnapshot[0]);
@@ -74,7 +74,7 @@ Assert::count(1, Dumper::$liveSnapshot[0]);
Dumper::$liveSnapshot = [];
Assert::match(
'',
- Dumper::toHtml(new Test, $options + [Dumper::COLLAPSE => true])
+ Dumper::toHtml(new Test, $options + [Dumper::COLLAPSE => true]),
);
@@ -82,7 +82,7 @@ Assert::match(
Dumper::$liveSnapshot = [];
Assert::match(
'',
- Dumper::toHtml(new Test, $options)
+ Dumper::toHtml(new Test, $options),
);
Assert::equal([
@@ -99,12 +99,14 @@ Assert::equal([
// live dump & location
Dumper::$liveSnapshot = [];
-Assert::match(<<<'XX'
-Dumper::toHtml(new Test, $options + ['location' => … N_CLASS])) 📍
-XX
- , Dumper::toHtml(new Test, $options + ['location' => Dumper::LOCATION_SOURCE | Dumper::LOCATION_CLASS]));
+Assert::match(
+ <<<'XX'
+ Dumper::toHtml(new Test, $options + ['location' => … ON_CLASS]) 📍
+ XX,
+ Dumper::toHtml(new Test, $options + ['location' => Dumper::LOCATION_SOURCE | Dumper::LOCATION_CLASS]),
+);
Assert::equal([
[
@@ -129,7 +131,7 @@ $arr = [1, 2, 3];
$arr[] = &$arr;
Assert::match(
'',
- Dumper::toHtml($arr, $options)
+ Dumper::toHtml($arr, $options),
);
Assert::equal([
[
@@ -143,7 +145,7 @@ $obj = new stdClass;
$obj->x = $obj;
Assert::match(
'',
- Dumper::toHtml($obj, $options)
+ Dumper::toHtml($obj, $options),
);
@@ -152,7 +154,7 @@ Dumper::$liveSnapshot = [];
$arr = [1, [2, [3, [4, [5, [6]]]]], 3];
Assert::match(
'',
- Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4])
+ Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4]),
);
Assert::same([], Dumper::$liveSnapshot[0]);
@@ -160,7 +162,7 @@ Assert::same([], Dumper::$liveSnapshot[0]);
$arr = [1, [2, [3, [4, []]]], 3];
Assert::match(
'',
- Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4])
+ Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4]),
);
Assert::same([], Dumper::$liveSnapshot[0]);
@@ -173,5 +175,5 @@ $obj->a->b->c->d = new stdClass;
$obj->a->b->c->d->e = new stdClass;
Assert::match(
'',
- Dumper::toHtml($obj, $options + [Dumper::DEPTH => 4])
+ Dumper::toHtml($obj, $options + [Dumper::DEPTH => 4]),
);
diff --git a/tests/Tracy/Dumper.toHtml().locale.phpt b/tests/Tracy/Dumper.toHtml().locale.phpt
index 03c300560..8447ac1ae 100644
--- a/tests/Tracy/Dumper.toHtml().locale.phpt
+++ b/tests/Tracy/Dumper.toHtml().locale.phpt
@@ -14,11 +14,13 @@ require __DIR__ . '/../bootstrap.php';
setlocale(LC_ALL, 'czech');
-Assert::match(<<<'XX'
-array (2)
- 0 => -10.0
- 1 => 10.3
-
-XX
- , Dumper::toHtml([-10.0, 10.3]));
+Assert::match(
+ <<<'XX'
+ array (2)
+ 0 => -10.0
+ 1 => 10.3
+
+ XX,
+ Dumper::toHtml([-10.0, 10.3]),
+);
diff --git a/tests/Tracy/Dumper.toHtml().location.phpt b/tests/Tracy/Dumper.toHtml().location.phpt
index 8a5c980eb..1044100e8 100644
--- a/tests/Tracy/Dumper.toHtml().location.phpt
+++ b/tests/Tracy/Dumper.toHtml().location.phpt
@@ -15,44 +15,54 @@ require __DIR__ . '/../bootstrap.php';
Assert::same("
\n", substr(Dumper::toHtml(true, ['location' => true]), -7));
-Assert::match(<<<'XX'
-
Dumper::toHtml([1], ['location' => true])) 📍array (1)
- 0 => 1
-
-XX
- , Dumper::toHtml([1], ['location' => true]));
+Assert::match(
+ <<<'XX'
+
Dumper::toHtml([1], ['location' => true]) 📍array (1)
+ 0 => 1
+
+ XX,
+ Dumper::toHtml([1], ['location' => true]),
+);
class Test
{
}
-Assert::match(<<<'XX'
-
Dumper::toHtml(new Test, ['location' => true])) 📍Test #%d%
-XX
- , Dumper::toHtml(new Test, ['location' => true]));
-
-
-Assert::match(<<<'XX'
-
Test #%d%
-XX
- , Dumper::toHtml(new Test, ['location' => false]));
-
-
-Assert::match(<<<'XX'
-
Dumper::toHtml(new Test, ['location' => Dumper::LOCATION_SOURCE])) 📍Test #%d%
-XX
- , Dumper::toHtml(new Test, ['location' => Dumper::LOCATION_SOURCE]));
-
-
-Assert::match(<<<'XX'
-
Test #%d%
-XX
- , Dumper::toHtml(new Test, ['location' => Dumper::LOCATION_CLASS]));
+Assert::match(
+ <<<'XX'
+
Dumper::toHtml(new Test, ['location' => true]) 📍Test #%d%
+ XX,
+ Dumper::toHtml(new Test, ['location' => true]),
+);
+
+
+Assert::match(
+ <<<'XX'
+
Test #%d%
+ XX,
+ Dumper::toHtml(new Test, ['location' => false]),
+);
+
+
+Assert::match(
+ <<<'XX'
+
Dumper::toHtml(new Test, ['location' => Dumper::LOCATION_SOURCE]) 📍Test #%d%
+ XX,
+ Dumper::toHtml(new Test, ['location' => Dumper::LOCATION_SOURCE]),
+);
+
+
+Assert::match(
+ <<<'XX'
+
Test #%d%
+ XX,
+ Dumper::toHtml(new Test, ['location' => Dumper::LOCATION_CLASS]),
+);
diff --git a/tests/Tracy/Dumper.toHtml().phpt b/tests/Tracy/Dumper.toHtml().phpt
index 28b377cf8..418a69406 100644
--- a/tests/Tracy/Dumper.toHtml().phpt
+++ b/tests/Tracy/Dumper.toHtml().phpt
@@ -51,65 +51,73 @@ Assert::same(str_replace(
"\r",
'',
<<<'XX'
-
array (1)
- 0 => 1
-
+
array (1)
+ 0 => 1
+
-XX
+ XX,
), Dumper::toHtml([1]));
// multiline
-Assert::match(<<<'XX'
-
array (3)
- 0 =>
'hello'
-
1 =>
string
-
| 'a\n
- | b'
-
2 =>
array (1)
-
| 0 =>
string
-
| | 'a\n
- | | b'
-
-XX
- , Dumper::toHtml(['hello', "a\nb", ["a\nb"]]));
+Assert::match(
+ <<<'XX'
+
array (3)
+ 0 =>
'hello'
+
1 =>
string
+
| 'a\n
+ | b'
+
2 =>
array (1)
+
| 0 =>
string
+
| | 'a\n
+ | | b'
+
+ XX,
+ Dumper::toHtml(['hello', "a\nb", ["a\nb"]]),
+);
// array (with snapshot)
-Assert::match(<<<'XX'
-
array (5)
- 0 =>
1
-
1 =>
'hello'
-
2 =>
array (0)
-
3 =>
array (2)
-
| 0 => 1
- | 1 => 2
-
4 =>
array (7)
-
-XX
- , Dumper::toHtml([1, 'hello', [], [1, 2], [1 => 1, 2, 3, 4, 5, 6, 7]]));
+Assert::match(
+ <<<'XX'
+
array (5)
+ 0 =>
1
+
1 =>
'hello'
+
2 =>
array (0)
+
3 =>
array (2)
+
| 0 => 1
+ | 1 => 2
+
4 =>
array (7)
+
+ XX,
+ Dumper::toHtml([1, 'hello', [], [1, 2], [1 => 1, 2, 3, 4, 5, 6, 7]]),
+);
// object
-Assert::match(<<<'XX'
-
stdClass #%d%
-XX
- , Dumper::toHtml(new stdClass));
-
-Assert::match(<<<'XX'
-
Test #%d%
- x:
array (2)
-
| 0 => 10
- | 1 => null
-
y:
'hello'
-
z:
30.0
-
-XX
- , Dumper::toHtml(new Test));
+Assert::match(
+ <<<'XX'
+
stdClass #%d%
+ XX,
+ Dumper::toHtml(new stdClass),
+);
+
+Assert::match(
+ <<<'XX'
+
Test #%d%
+ x:
array (2)
+
| 0 => 10
+ | 1 => null
+
y:
'hello'
+
z:
30.0
+
+ XX,
+ Dumper::toHtml(new Test),
+);
$obj = new Child;
$obj->new = 7;
@@ -119,57 +127,60 @@ $obj->{''} = 10;
$obj->{"a\x00\n"} = 11;
$obj->{"a\xA0"} = 12;
-Assert::match(<<<'XX'
-
Child #%d%
- new: 7
- 0: 8
- 1: 9
- '': 10
- 'a\x00\n': 11
- 'a\xA0': 12
- x: 1
- y: 2
- z: 3
- x2: 4
- y2: 5
- z2: 6
- y: 'hello'
-
-XX
- , Dumper::toHtml($obj));
-
-
-if (PHP_VERSION_ID >= 70400) {
- require __DIR__ . '/fixtures/DumpClass.74.php';
-
- Assert::match(<<<'XX'
-
Test74 #%d%
- x: 1
- y: unset
- z: unset
-
-XX
- , Dumper::toHtml(new Test74));
-
-
- $obj = new Child74;
- $obj->new = 7;
- unset($obj->unset1, $obj->unset2);
-
-
- Assert::match(<<<'XX'
-
Child74 #%d%
- new: 7
- x: 2
- y: unset
- z: unset
- unset1: unset
- unset2: unset
- y: unset
-
-XX
- , Dumper::toHtml($obj));
-}
+Assert::match(
+ <<<'XX'
+
Child #%d%
+ new: 7
+ 0: 8
+ 1: 9
+ '': 10
+ 'a\x00\n': 11
+ 'a\xA0': 12
+ x: 1
+ y: 2
+ z: 3
+ x2: 4
+ y2: 5
+ z2: 6
+ y: 'hello'
+
+ XX,
+ Dumper::toHtml($obj),
+);
+
+
+// PHP 7.4 features
+Assert::match(
+ <<<'XX'
+
Test74 #%d%
+ x: 1
+ y: unset
+ z: unset
+
+ XX,
+ Dumper::toHtml(new Test74),
+);
+
+
+$obj = new Child74;
+$obj->new = 7;
+unset($obj->unset1, $obj->unset2);
+
+
+Assert::match(
+ <<<'XX'
+
Child74 #%d%
+ new: 7
+ x: 2
+ y: unset
+ z: unset
+ unset1: unset
+ unset2: unset
+ y: unset
+
+ XX,
+ Dumper::toHtml($obj),
+);
diff --git a/tests/Tracy/Dumper.toHtml().recursion.phpt b/tests/Tracy/Dumper.toHtml().recursion.phpt
index f41cd9e39..7cc4a2a88 100644
--- a/tests/Tracy/Dumper.toHtml().recursion.phpt
+++ b/tests/Tracy/Dumper.toHtml().recursion.phpt
@@ -14,30 +14,34 @@ require __DIR__ . '/../bootstrap.php';
$arr = [1, 2, 3];
$arr[] = &$arr;
-Assert::match(<<<'XX'
-
array (4)
- 0 =>
1
-
1 =>
2
-
2 =>
3
-
3 =>
&1 array (4)
-
| 0 => 1
- | 1 => 2
- | 2 => 3
- | 3 => &1 array (4) RECURSION
-
-XX
- , Dumper::toHtml($arr));
+Assert::match(
+ <<<'XX'
+
array (4)
+ 0 =>
1
+
1 =>
2
+
2 =>
3
+
3 =>
&1 array (4)
+
| 0 => 1
+ | 1 => 2
+ | 2 => 3
+ | 3 => &1 array (4) RECURSION
+
+ XX,
+ Dumper::toHtml($arr),
+);
$arr = (object) ['x' => 1, 'y' => 2];
$arr->z = &$arr;
-Assert::match(<<<'XX'
-
stdClass #%d%
- x: 1
- y: 2
- z: &1 stdClass #%d% RECURSION
-
-XX
- , Dumper::toHtml($arr));
+Assert::match(
+ <<<'XX'
+
stdClass #%d%
+ x: 1
+ y: 2
+ z: &1 stdClass #%d% RECURSION
+
+ XX,
+ Dumper::toHtml($arr),
+);
diff --git a/tests/Tracy/Dumper.toHtml().references.phpt b/tests/Tracy/Dumper.toHtml().references.phpt
index 8100de373..dc46d6641 100644
--- a/tests/Tracy/Dumper.toHtml().references.phpt
+++ b/tests/Tracy/Dumper.toHtml().references.phpt
@@ -17,22 +17,24 @@ $a = 1;
$b = 2;
$obj = (object) [&$a, $a, &$b, $b, (object) [&$a, &$b], (object) [$a, $b], [&$b, &$a]];
-Assert::match(<<<'XX'
-
stdClass #%d%
- 0:
&1 1
-
1:
1
-
2:
&2 2
-
3:
2
-
4:
stdClass #%d%
-
| 0: &1 1
- | 1: &2 2
-
5:
stdClass #%d%
-
| 0: 1
- | 1: 2
-
6:
array (2)
-
| 0 => &2 2
- | 1 => &1 1
-
-XX
- , Dumper::toHtml($obj));
+Assert::match(
+ <<<'XX'
+
stdClass #%d%
+ 0:
&1 1
+
1:
1
+
2:
&2 2
+
3:
2
+
4:
stdClass #%d%
+
| 0: &1 1
+ | 1: &2 2
+
5:
stdClass #%d%
+
| 0: 1
+ | 1: 2
+
6:
array (2)
+
| 0 => &2 2
+ | 1 => &1 1
+
+ XX,
+ Dumper::toHtml($obj),
+);
diff --git a/tests/Tracy/Dumper.toHtml().see.phpt b/tests/Tracy/Dumper.toHtml().see.phpt
index 1a36cd948..c85812127 100644
--- a/tests/Tracy/Dumper.toHtml().see.phpt
+++ b/tests/Tracy/Dumper.toHtml().see.phpt
@@ -39,61 +39,63 @@ $var = [
$file,
];
-Assert::match(<<<'XX'
-
array (8)
- 0 =>
Test #%d%
-
| a:
array (1)
-
| | 1 =>
array (1)
-
| | | 2 => array (1) …
-
'a' =>
stdClass #%d%
-
| b:
array (1)
-
| | 'c' =>
array (5)
-
| | | 0 =>
Test #%d% see below
-
| | | 1 =>
Test #%d% …
-
| | | 2 =>
&%d% array (1)
see below
-
| | | 3 =>
array (1) …
-
| | | 4 =>
stream resource @%d%
-
| | | | timed_out: false
- | | | | blocked: true
- | | | | eof: false
- | | | | wrapper_type: 'plainfile'
- | | | | stream_type: 'STDIO'
- | | | | mode: 'r'
- | | | | unread_bytes: 0
- | | | | seekable: true
- | | | | uri: '%a%'
-
| 0:
Test #%d% see below
-
| 1:
Test #%d% see above
-
| 2:
Test #%d%
-
| | a:
array (1)
-
| | | 1 => array (1) …
-
| 3:
&1 array (1)
see below
-
| 4:
array (1)
-
| | 1 =>
array (1)
-
| | | 2 => array (1) …
-
| 5:
stream resource @%d% see above
-
1 =>
Test #%d%
-
| a:
array (1)
-
| | 1 =>
array (1)
-
| | | 2 => array (1) …
-
2 =>
Test #%d% see above
-
3 =>
Test #%d%
-
| a:
array (1)
-
| | 1 =>
array (1)
-
| | | 2 => array (1) …
-
4 =>
&1 array (1)
-
| 1 =>
array (1)
-
| | 2 =>
array (1)
-
| | | 3 => 'item'
-
5 =>
array (1)
-
| 1 =>
array (1)
-
| | 2 =>
array (1)
-
| | | 3 => 'item'
-
6 =>
stream resource @%d% see above
-
-XX
- , Dumper::toHtml($var, [Dumper::DEPTH => 4, Dumper::LAZY => false]));
+Assert::match(
+ <<<'XX'
+
array (8)
+ 0 =>
Test #%d%
+
| a:
array (1)
+
| | 1 =>
array (1)
+
| | | 2 => array (1) …
+
'a' =>
stdClass #%d%
+
| b:
array (1)
+
| | 'c' =>
array (5)
+
| | | 0 =>
Test #%d% see below
+
| | | 1 =>
Test #%d% …
+
| | | 2 =>
&%d% array (1)
see below
+
| | | 3 =>
array (1) …
+
| | | 4 =>
stream resource @%d%
+
| | | | timed_out: false
+ | | | | blocked: true
+ | | | | eof: false
+ | | | | wrapper_type: 'plainfile'
+ | | | | stream_type: 'STDIO'
+ | | | | mode: 'r'
+ | | | | unread_bytes: 0
+ | | | | seekable: true
+ | | | | uri: '%a%'
+
| 0:
Test #%d% see below
+
| 1:
Test #%d% see above
+
| 2:
Test #%d%
+
| | a:
array (1)
+
| | | 1 => array (1) …
+
| 3:
&1 array (1)
see below
+
| 4:
array (1)
+
| | 1 =>
array (1)
+
| | | 2 => array (1) …
+
| 5:
stream resource @%d% see above
+
1 =>
Test #%d%
+
| a:
array (1)
+
| | 1 =>
array (1)
+
| | | 2 => array (1) …
+
2 =>
Test #%d% see above
+
3 =>
Test #%d%
+
| a:
array (1)
+
| | 1 =>
array (1)
+
| | | 2 => array (1) …
+
4 =>
&1 array (1)
+
| 1 =>
array (1)
+
| | 2 =>
array (1)
+
| | | 3 => 'item'
+
5 =>
array (1)
+
| 1 =>
array (1)
+
| | 2 =>
array (1)
+
| | | 3 => 'item'
+
6 =>
stream resource @%d% see above
+
+ XX,
+ Dumper::toHtml($var, [Dumper::DEPTH => 4, Dumper::LAZY => false]),
+);
// no above or below in lazy mode
@@ -108,16 +110,18 @@ $var = [
$obj2,
];
-Assert::match(<<<'XX'
-
array (4)
- 0 =>
Test #%d%
-
| a: array (1)
-
'a' =>
stdClass #%d%
-
| b: array (1)
-
1 =>
Test #%d%
-
| a: array (1)
-
2 =>
Test #%d%
-
-XX
- , Dumper::toHtml($var, [Dumper::DEPTH => 4]));
+Assert::match(
+ <<<'XX'
+
array (4)
+ 0 =>
Test #%d%
+
| a: array (1)
+
'a' =>
stdClass #%d%
+
| b: array (1)
+
1 =>
Test #%d%
+
| a: array (1)
+
2 =>
Test #%d%
+
+ XX,
+ Dumper::toHtml($var, [Dumper::DEPTH => 4]),
+);
diff --git a/tests/Tracy/Dumper.toHtml().snapshot.phpt b/tests/Tracy/Dumper.toHtml().snapshot.phpt
index b05978efc..19b348a2f 100644
--- a/tests/Tracy/Dumper.toHtml().snapshot.phpt
+++ b/tests/Tracy/Dumper.toHtml().snapshot.phpt
@@ -35,22 +35,24 @@ Assert::same([], $snapshot[0]);
// snapshot dump of array
-Assert::match(<<<'XX'
-
-XX
- , Dumper::toHtml([null, true, false, 0, 0.0, 'string', "'&\"", "\x00", INF, -INF, NAN], $options));
+Assert::match(
+ <<<'XX'
+
+ XX,
+ Dumper::toHtml([null, true, false, 0, 0.0, 'string', "'&\"", "\x00", INF, -INF, NAN], $options),
+);
// snapshot dump of object
Assert::match(
'
',
- Dumper::toHtml(new stdClass, $options)
+ Dumper::toHtml(new stdClass, $options),
);
// twice with different identity
Assert::match(
'
',
- Dumper::toHtml(new stdClass, $options) // different object
+ Dumper::toHtml(new stdClass, $options), // different object
);
Assert::equal([
['object' => 'stdClass', 'items' => []],
@@ -66,7 +68,7 @@ Assert::match('
null
$snapshot = [];
Assert::match(
'',
- Dumper::toHtml(fopen(__FILE__, 'r'), $options)
+ Dumper::toHtml(fopen(__FILE__, 'r'), $options),
);
Assert::count(1, $snapshot[0]);
@@ -75,7 +77,7 @@ Assert::count(1, $snapshot[0]);
$snapshot = [];
Assert::match(
'',
- Dumper::toHtml(new Test, $options + [Dumper::COLLAPSE => true])
+ Dumper::toHtml(new Test, $options + [Dumper::COLLAPSE => true]),
);
@@ -83,7 +85,7 @@ Assert::match(
$snapshot = [];
Assert::match(
'',
- Dumper::toHtml(new Test, $options)
+ Dumper::toHtml(new Test, $options),
);
Assert::equal([
@@ -100,12 +102,14 @@ Assert::equal([
// snapshot & location
$snapshot = [];
-Assert::match(<<<'XX'
-Dumper::toHtml(new Test, $options + ['location' => … N_CLASS])) 📍
-XX
- , Dumper::toHtml(new Test, $options + ['location' => Dumper::LOCATION_SOURCE | Dumper::LOCATION_CLASS]));
+Assert::match(
+ <<<'XX'
+ Dumper::toHtml(new Test, $options + ['location' => … ON_CLASS]) 📍
+ XX,
+ Dumper::toHtml(new Test, $options + ['location' => Dumper::LOCATION_SOURCE | Dumper::LOCATION_CLASS]),
+);
Assert::equal([
[
@@ -130,7 +134,7 @@ $arr = [1, 2, 3];
$arr[] = &$arr;
Assert::match(
'',
- Dumper::toHtml($arr, $options)
+ Dumper::toHtml($arr, $options),
);
Assert::equal([
[
@@ -144,7 +148,7 @@ $obj = new stdClass;
$obj->x = $obj;
Assert::match(
'',
- Dumper::toHtml($obj, $options)
+ Dumper::toHtml($obj, $options),
);
@@ -153,7 +157,7 @@ $snapshot = [];
$arr = [1, [2, [3, [4, [5, [6]]]]], 3];
Assert::match(
'',
- Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4])
+ Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4]),
);
Assert::same([], $snapshot[0]);
@@ -161,7 +165,7 @@ Assert::same([], $snapshot[0]);
$arr = [1, [2, [3, [4, []]]], 3];
Assert::match(
'',
- Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4])
+ Dumper::toHtml($arr, $options + [Dumper::DEPTH => 4]),
);
Assert::same([], $snapshot[0]);
@@ -174,7 +178,7 @@ $obj->a->b->c->d = new stdClass;
$obj->a->b->c->d->e = new stdClass;
Assert::match(
'',
- Dumper::toHtml($obj, $options + [Dumper::DEPTH => 4])
+ Dumper::toHtml($obj, $options + [Dumper::DEPTH => 4]),
);
@@ -183,10 +187,10 @@ $a = ['a'];
$b = ['b'];
Assert::match(
'',
- Dumper::toHtml([&$a, &$b], $options)
+ Dumper::toHtml([&$a, &$b], $options),
);
Assert::match(
'',
- Dumper::toHtml([&$b, &$a], $options)
+ Dumper::toHtml([&$b, &$a], $options),
);
diff --git a/tests/Tracy/Dumper.toHtml().specialChars.phpt b/tests/Tracy/Dumper.toHtml().specialChars.phpt
index fe444f711..140305b76 100644
--- a/tests/Tracy/Dumper.toHtml().specialChars.phpt
+++ b/tests/Tracy/Dumper.toHtml().specialChars.phpt
@@ -12,32 +12,33 @@ use Tracy\Dumper;
require __DIR__ . '/../bootstrap.php';
-Assert::match(<<<'XX'
-array (14)
- 0 =>
''
-
1 =>
' '
-
2 =>
'\x00'
-
3 =>
'\xFF'
-
4 =>
'Iñtërnâtiônàlizætiøn'
-
5 =>
string
-
| 'utf \n
- | \r\t \e\x00 Iñtër\n'
-
6 =>
'utf \n\r\t\xab Iñtër'
-
7 =>
string
-
| 'binary \n
- | \r\t \e\x00 I\xC3\xB1t\xC3\xABr \xA0'
-
8 =>
'binary \n\r\t\xab I\xC3\xB1t\xC3\xABr \xA0'
-
'utf \n\r\t\xab Iñtër' =>
1
-
'utf \n
- \r\t \e\x00 Iñtër' =>
2
-
'utf \n
- \r\t \e\x00 I\xC3\xB1t\xC3\xABr \xA0' =>
3
-
'<div> &' =>
'<div> &'
-
9 =>
'\u{FEFF}'
-
-XX
- , Dumper::toHtml([
+Assert::match(
+ <<<'XX'
+ array (14)
+ 0 =>
''
+
1 =>
' '
+
2 =>
'\x00'
+
3 =>
'\xFF'
+
4 =>
'Iñtërnâtiônàlizætiøn'
+
5 =>
string
+
| 'utf \n
+ | \r\t \e\x00 Iñtër\n'
+
6 =>
'utf \n\r\t\xab Iñtër'
+
7 =>
string
+
| 'binary \n
+ | \r\t \e\x00 I\xC3\xB1t\xC3\xABr \xA0'
+
8 =>
'binary \n\r\t\xab I\xC3\xB1t\xC3\xABr \xA0'
+
'utf \n\r\t\xab Iñtër' =>
1
+
'utf \n
+ \r\t \e\x00 Iñtër' =>
2
+
'utf \n
+ \r\t \e\x00 I\xC3\xB1t\xC3\xABr \xA0' =>
3
+
'<div> &' =>
'<div> &'
+
9 =>
'\u{FEFF}'
+
+ XX,
+ Dumper::toHtml([
'',
' ',
"\x00",
@@ -52,4 +53,5 @@ XX
"utf \n\r\t\e\x00 Iñtër \xA0" => 3, // binary + control chars in key,
' &' => '
&', // HTML
"\xEF\xBB\xBF", // BOM
- ], [Dumper::COLLAPSE => false]));
+ ], [Dumper::COLLAPSE => false]),
+);
diff --git a/tests/Tracy/Dumper.toHtml().specials.phpt b/tests/Tracy/Dumper.toHtml().specials.phpt
index 54f72320f..a4217a3a7 100644
--- a/tests/Tracy/Dumper.toHtml().specials.phpt
+++ b/tests/Tracy/Dumper.toHtml().specials.phpt
@@ -14,61 +14,75 @@ require __DIR__ . '/../bootstrap.php';
// resource
$f = fopen(__FILE__, 'r');
-Assert::match(<<<'XX'
-
stream resource @%d%
- %a%:
%a%%A%
-XX
- , Dumper::toHtml($f));
+Assert::match(
+ <<<'XX'
+
stream resource @%d%
+ %a%:
%a%%A%
+ XX,
+ Dumper::toHtml($f),
+);
fclose($f);
-Assert::match(<<<'XX'
-
closed resource @%d%
-XX
- , Dumper::toHtml($f));
+Assert::match(
+ <<<'XX'
+
closed resource @%d%
+ XX,
+ Dumper::toHtml($f),
+);
// closure
-Assert::match(<<<'XX'
-
Closure() #%d%
-XX
- , Dumper::toHtml(function () {}));
-
-
-Assert::match(<<<'XX'
-
Closure() #%d%
- file: '%a%:%d%'
-
-XX
- , Dumper::toHtml(function () {}, [Dumper::LOCATION => Dumper::LOCATION_CLASS]));
-
-
-Assert::match(<<<'XX'
-
Closure($x, $y) #%d%
- use: $use
-
-XX
- , Dumper::toHtml(function ($x, int $y = 1) use (&$use) {}));
+Assert::match(
+ <<<'XX'
+
Closure() #%d%
+ XX,
+ Dumper::toHtml(function () {}),
+);
+
+
+Assert::match(
+ <<<'XX'
+
Closure() #%d%
+ file: '%a%:%d%'
+
+ XX,
+ Dumper::toHtml(function () {}, [Dumper::LOCATION => Dumper::LOCATION_CLASS]),
+);
+
+
+Assert::match(
+ <<<'XX'
+
Closure($x, $y) #%d%
+ use: $use
+
+ XX,
+ Dumper::toHtml(function ($x, int $y = 1) use (&$use) {}),
+);
// new class
-Assert::match(<<<'XX'
-
class@anonymous #%d%
-XX
- , Dumper::toHtml(new class {
- }));
+Assert::match(
+ <<<'XX'
+
class@anonymous #%d%
+ XX,
+ Dumper::toHtml(new class {
+ }),
+);
// SplFileInfo
-Assert::match(<<<'XX'
-
SplFileInfo #%d%
- path: '%a%'
-
-XX
- , Dumper::toHtml(new SplFileInfo(__FILE__)));
+Assert::match(
+ <<<'XX'
+
SplFileInfo #%d%
+ path: '%a%'
+
+ XX,
+ Dumper::toHtml(new SplFileInfo(__FILE__)),
+);
// SplObjectStorage
@@ -81,33 +95,37 @@ $objStorage[$o2] = 'o2';
$objStorage->next();
$key = $objStorage->key();
-Assert::match(<<<'XX'
-
SplObjectStorage #%d%
- 0:
array (2)
-
| 'object' => stdClass #%d%
- | 'data' => 'o1'
-
1:
array (2)
-
| 'object' => stdClass #%d%
- | 'data' => 'o2'
-
-XX
- , Dumper::toHtml($objStorage));
+Assert::match(
+ <<<'XX'
+
SplObjectStorage #%d%
+ 0:
array (2)
+
| 'object' => stdClass #%d%
+ | 'data' => 'o1'
+
1:
array (2)
+
| 'object' => stdClass #%d%
+ | 'data' => 'o2'
+
+ XX,
+ Dumper::toHtml($objStorage),
+);
Assert::same($key, $objStorage->key());
// ArrayObject
$obj = new ArrayObject(['a' => 1, 'b' => 2]);
-Assert::match(<<<'XX'
-
ArrayObject #%d%
- storage:
array (2)
-
| 'a' => 1
- | 'b' => 2
-
-XX
- , Dumper::toHtml($obj));
+Assert::match(
+ <<<'XX'
+
ArrayObject #%d%
+ storage:
array (2)
+
| 'a' => 1
+ | 'b' => 2
+
+ XX,
+ Dumper::toHtml($obj),
+);
class ArrayObjectChild extends ArrayObject
{
@@ -115,13 +133,15 @@ class ArrayObjectChild extends ArrayObject
}
$obj = new ArrayObjectChild(['a' => 1, 'b' => 2]);
-Assert::match(<<<'XX'
-
ArrayObjectChild #%d%
- prop:
123
-
storage:
array (2)
-
| 'a' => 1
- | 'b' => 2
-
-XX
- , Dumper::toHtml($obj));
+Assert::match(
+ <<<'XX'
+
ArrayObjectChild #%d%
+ prop:
123
+
storage:
array (2)
+
| 'a' => 1
+ | 'b' => 2
+
+ XX,
+ Dumper::toHtml($obj),
+);
diff --git a/tests/Tracy/Dumper.toTerminal().phpt b/tests/Tracy/Dumper.toTerminal().phpt
index 54957e7bd..18365fe16 100644
--- a/tests/Tracy/Dumper.toTerminal().phpt
+++ b/tests/Tracy/Dumper.toTerminal().phpt
@@ -16,17 +16,19 @@ require __DIR__ . '/fixtures/DumpClass.php';
Assert::match("\e[1;33mnull\e[0m", Dumper::toTerminal(null));
-Assert::match(<<
\e[1;32m1
-\e[1;30m \e[1;32m1\e[0m => \e[1;36m\e[0m'\e[1;36mhello\e[0m'\e[1;36m
-\e[1;30m \e[1;32m2\e[0m => \e[1;31marray\e[0m (0)
-\e[1;30m \e[1;32m3\e[0m => \e[1;31marray\e[0m (2)
-\e[1;30m | \e[1;32m0\e[0m => \e[1;33mtrue
-\e[1;30m | \e[1;32m1\e[0m => \e[1;33mnull
-\e[0m
-XX
- , Dumper::toTerminal([1, 'hello', [], [true, null]]));
+Assert::match(
+ << \e[1;32m1
+ \e[1;30m \e[1;32m1\e[0m => \e[1;36m\e[0m'\e[1;36mhello\e[0m'\e[1;36m
+ \e[1;30m \e[1;32m2\e[0m => \e[1;31marray\e[0m (0)
+ \e[1;30m \e[1;32m3\e[0m => \e[1;31marray\e[0m (2)
+ \e[1;30m | \e[1;32m0\e[0m => \e[1;33mtrue
+ \e[1;30m | \e[1;32m1\e[0m => \e[1;33mnull
+ \e[0m
+ XX,
+ Dumper::toTerminal([1, 'hello', [], [true, null]]),
+);
$obj = new Child;
@@ -35,31 +37,35 @@ $obj->{0} = 8;
$obj->{1} = 9;
$obj->{''} = 10;
-Assert::match(<< 1, 'y' => 2];
$arr->z = &$arr;
-Assert::match(<< 'Nette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette Framework ... Framework'
- 0 => array (1)
- | 0 => array (1)
- | | 0 => array (1)
- | | | 'hello' => 'world'
- 'long2' => 'Nette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette Framework ... Framework'
- 1 => stdClass #%a%
- | 0: stdClass #%a%
- | | 0: stdClass #%a%
- | | | hello: 'world'
-XX
- , Dumper::toText($arr));
-
-
-Assert::match(<<<'XX'
-array (4)
- 'long' => 'Nette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette Framework'
- 0 => array (1)
- | 0 => array (1)
- | | 0 => array (1)
- | | | 'hello' => 'world'
- 'long2' => 'Nette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette Framework'
- 1 => stdClass #%a% ...
-XX
- , Dumper::toText($arr, [Dumper::DEPTH => 0, Dumper::TRUNCATE => 0]));
-
-
-Assert::match(<<<'XX'
-array (4)
- 'long' => 'Nette FrameworkNette FrameworkNette FrameworkNette ... Framework'
- 0 => array (1)
- | 0 => array (1) ...
- 'long2' => 'Nette FrameworkNette FrameworkNette FrameworkNette ... Framework'
- 1 => stdClass #%a%
- | 0: stdClass #%a% ...
-XX
- , Dumper::toText($arr, [Dumper::DEPTH => 2, Dumper::TRUNCATE => 50]));
+Assert::match(
+ <<<'XX'
+ array (4)
+ 'long' => 'Nette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette Framework ... Framework'
+ 0 => array (1)
+ | 0 => array (1)
+ | | 0 => array (1)
+ | | | 'hello' => 'world'
+ 'long2' => 'Nette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette Framework ... Framework'
+ 1 => stdClass #%a%
+ | 0: stdClass #%a%
+ | | 0: stdClass #%a%
+ | | | hello: 'world'
+ XX,
+ Dumper::toText($arr),
+);
+
+
+Assert::match(
+ <<<'XX'
+ array (4)
+ 'long' => 'Nette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette Framework'
+ 0 => array (1)
+ | 0 => array (1)
+ | | 0 => array (1)
+ | | | 'hello' => 'world'
+ 'long2' => 'Nette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette FrameworkNette Framework'
+ 1 => stdClass #%a% ...
+ XX,
+ Dumper::toText($arr, [Dumper::DEPTH => 0, Dumper::TRUNCATE => 0]),
+);
+
+
+Assert::match(
+ <<<'XX'
+ array (4)
+ 'long' => 'Nette FrameworkNette FrameworkNette FrameworkNette ... Framework'
+ 0 => array (1)
+ | 0 => array (1) ...
+ 'long2' => 'Nette FrameworkNette FrameworkNette FrameworkNette ... Framework'
+ 1 => stdClass #%a%
+ | 0: stdClass #%a% ...
+ XX,
+ Dumper::toText($arr, [Dumper::DEPTH => 2, Dumper::TRUNCATE => 50]),
+);
$arr = [1, 2, 3, 4];
-Assert::match(<<<'XX'
-array (4)
- 0 => 1
- 1 => 2
- 2 => 3
- 3 => 4
-XX
- , Dumper::toText($arr, [Dumper::ITEMS => 0]));
-
-Assert::match(<<<'XX'
-array (4)
- 0 => 1
- 1 => 2
- 2 => 3
- 3 => 4
-XX
- , Dumper::toText($arr, [Dumper::ITEMS => 2]));
-
-Assert::match(<<<'XX'
-stdClass #%d%
- 0: 1
- 1: 2
- 2: 3
- 3: 4
-XX
- , Dumper::toText((object) $arr, [Dumper::ITEMS => 2]));
-
-Assert::match(<<<'XX'
-array (2)
- 0 => array (4)
- | 0 => 1
- | 1 => 2
- | ...
- 1 => stdClass #%d%
- | 0: 1
- | 1: 2
- | ...
-XX
- , Dumper::toText([$arr, (object) $arr], [Dumper::ITEMS => 2]));
+Assert::match(
+ <<<'XX'
+ array (4)
+ 0 => 1
+ 1 => 2
+ 2 => 3
+ 3 => 4
+ XX,
+ Dumper::toText($arr, [Dumper::ITEMS => 0]),
+);
+
+Assert::match(
+ <<<'XX'
+ array (4)
+ 0 => 1
+ 1 => 2
+ 2 => 3
+ 3 => 4
+ XX,
+ Dumper::toText($arr, [Dumper::ITEMS => 2]),
+);
+
+Assert::match(
+ <<<'XX'
+ stdClass #%d%
+ 0: 1
+ 1: 2
+ 2: 3
+ 3: 4
+ XX,
+ Dumper::toText((object) $arr, [Dumper::ITEMS => 2]),
+);
+
+Assert::match(
+ <<<'XX'
+ array (2)
+ 0 => array (4)
+ | 0 => 1
+ | 1 => 2
+ | ...
+ 1 => stdClass #%d%
+ | 0: 1
+ | 1: 2
+ | ...
+ XX,
+ Dumper::toText([$arr, (object) $arr], [Dumper::ITEMS => 2]),
+);
diff --git a/tests/Tracy/Dumper.toText().enumProperty.PhpToken.phpt b/tests/Tracy/Dumper.toText().enumProperty.PhpToken.phpt
new file mode 100644
index 000000000..af0415f49
--- /dev/null
+++ b/tests/Tracy/Dumper.toText().enumProperty.PhpToken.phpt
@@ -0,0 +1,54 @@
+ PhpToken #%d%
+ | id: T_OPEN_TAG (%d%)
+ | text: ' PhpToken #%d%
+ | id: T_ECHO (%d%)
+ | text: 'echo'
+ | line: 1
+ | pos: 6
+ 2 => PhpToken #%d%
+ | id: 40
+ | text: '('
+ | line: 1
+ | pos: 10
+ 3 => PhpToken #%d%
+ | id: T_LNUMBER (%d%)
+ | text: '10'
+ | line: 1
+ | pos: 11
+ 4 => PhpToken #%d%
+ | id: 41
+ | text: ')'
+ | line: 1
+ | pos: 13
+ 5 => PhpToken #%d%
+ | id: 59
+ | text: ';'
+ | line: 1
+ | pos: 14
+ XX,
+ Dumper::toText($tokens),
+);
diff --git a/tests/Tracy/Dumper.toText().enumProperty.phpt b/tests/Tracy/Dumper.toText().enumProperty.phpt
new file mode 100644
index 000000000..dce593b1b
--- /dev/null
+++ b/tests/Tracy/Dumper.toText().enumProperty.phpt
@@ -0,0 +1,105 @@
+flag = $child::B;
+$child->flags = $child::A | $child::B;
+
+Assert::match(
+ <<<'XX'
+ Child #%d%
+ flag: self::B (2)
+ flags: self::A | self::B (3)
+ XX,
+ Dumper::toText($child),
+);
+
+
+// all
+$child = new Child;
+$child->flags = $child::All;
+
+Assert::match(
+ <<<'XX'
+ Child #%d%
+ flag: unset
+ flags: self::All (7)
+ XX,
+ Dumper::toText($child),
+);
+
+
+// null
+$child = new Child;
+$child->flag = 0;
+$child->flags = 0;
+
+Assert::match(
+ <<<'XX'
+ Child #%d%
+ flag: self::Null (0)
+ flags: 0
+ XX,
+ Dumper::toText($child),
+);
+
+
+// invalid
+$child = new Child;
+$child->flag = 16;
+$child->flags = 16;
+
+Assert::match(
+ <<<'XX'
+ Child #%d%
+ flag: 16
+ flags: 16
+ XX,
+ Dumper::toText($child),
+);
+
+
+// mixed
+$child = new Child;
+$child->flags = $child::B | $child::A | 16;
+
+Assert::match(
+ <<<'XX'
+ Child #%d%
+ flag: unset
+ flags: self::A | self::B | 16 (19)
+ XX,
+ Dumper::toText($child),
+);
diff --git a/tests/Tracy/Dumper.toText().locale.phpt b/tests/Tracy/Dumper.toText().locale.phpt
index 3724c2b53..2afe50e0e 100644
--- a/tests/Tracy/Dumper.toText().locale.phpt
+++ b/tests/Tracy/Dumper.toText().locale.phpt
@@ -14,9 +14,11 @@ require __DIR__ . '/../bootstrap.php';
setlocale(LC_ALL, 'czech');
-Assert::match(<<<'XX'
-array (2)
- 0 => -10.0
- 1 => 10.3
-XX
- , Dumper::toText([-10.0, 10.3]));
+Assert::match(
+ <<<'XX'
+ array (2)
+ 0 => -10.0
+ 1 => 10.3
+ XX,
+ Dumper::toText([-10.0, 10.3]),
+);
diff --git a/tests/Tracy/Dumper.toText().nohash.phpt b/tests/Tracy/Dumper.toText().nohash.phpt
index 2cec53f63..b215635f0 100644
--- a/tests/Tracy/Dumper.toText().nohash.phpt
+++ b/tests/Tracy/Dumper.toText().nohash.phpt
@@ -14,39 +14,45 @@ require __DIR__ . '/../bootstrap.php';
$arr = [1, 2, 3];
$arr[] = &$arr;
-Assert::match(<<<'XX'
-array (4)
- 0 => 1
- 1 => 2
- 2 => 3
- 3 => array (4)
- | 0 => 1
- | 1 => 2
- | 2 => 3
- | 3 => array (4) RECURSION
-XX
- , Dumper::toText($arr, [Dumper::HASH => false]));
+Assert::match(
+ <<<'XX'
+ array (4)
+ 0 => 1
+ 1 => 2
+ 2 => 3
+ 3 => array (4)
+ | 0 => 1
+ | 1 => 2
+ | 2 => 3
+ | 3 => array (4) RECURSION
+ XX,
+ Dumper::toText($arr, [Dumper::HASH => false]),
+);
$arr = (object) ['x' => 1, 'y' => 2];
$arr->z = &$arr;
-Assert::match(<<<'XX'
-stdClass
- x: 1
- y: 2
- z: stdClass RECURSION
-XX
- , Dumper::toText($arr, [Dumper::HASH => false]));
+Assert::match(
+ <<<'XX'
+ stdClass
+ x: 1
+ y: 2
+ z: stdClass RECURSION
+ XX,
+ Dumper::toText($arr, [Dumper::HASH => false]),
+);
$obj = (object) ['a' => 1];
-Assert::match(<<<'XX'
-array (3)
- 0 => stdClass
- | a: 1
- 1 => stdClass
- | a: 1
- 2 => stdClass
- | a: 1
-XX
- , Dumper::toText([$obj, $obj, $obj], [Dumper::HASH => false]));
+Assert::match(
+ <<<'XX'
+ array (3)
+ 0 => stdClass
+ | a: 1
+ 1 => stdClass
+ | a: 1
+ 2 => stdClass
+ | a: 1
+ XX,
+ Dumper::toText([$obj, $obj, $obj], [Dumper::HASH => false]),
+);
diff --git a/tests/Tracy/Dumper.toText().phpt b/tests/Tracy/Dumper.toText().phpt
index c003f56f0..6e1f210ce 100644
--- a/tests/Tracy/Dumper.toText().phpt
+++ b/tests/Tracy/Dumper.toText().phpt
@@ -50,65 +50,73 @@ Assert::same(str_replace(
"\r",
'',
<<<'XX'
-array (1)
- 0 => 1
+ array (1)
+ 0 => 1
-XX
+ XX,
), Dumper::toText([1]));
-Assert::match(<<<'XX'
-array (5)
- 0 => 1
- 1 => 'hello'
- 2 => array (0)
- 3 => array (2)
- | 0 => 1
- | 1 => 2
- 4 => array (7)
- | 1 => 1
- | 2 => 2
- | 3 => 3
- | 4 => 4
- | 5 => 5
- | 6 => 6
- | 7 => 7
-XX
- , Dumper::toText([1, 'hello', [], [1, 2], [1 => 1, 2, 3, 4, 5, 6, 7]]));
+Assert::match(
+ <<<'XX'
+ array (5)
+ 0 => 1
+ 1 => 'hello'
+ 2 => array (0)
+ 3 => array (2)
+ | 0 => 1
+ | 1 => 2
+ 4 => array (7)
+ | 1 => 1
+ | 2 => 2
+ | 3 => 3
+ | 4 => 4
+ | 5 => 5
+ | 6 => 6
+ | 7 => 7
+ XX,
+ Dumper::toText([1, 'hello', [], [1, 2], [1 => 1, 2, 3, 4, 5, 6, 7]]),
+);
// multiline
-Assert::match(<<<'XX'
-array (3)
- 0 => 'hello'
- 1 => string
- | 'a\n
- | b'
- 2 => array (1)
- | 0 => string
- | | 'a\n
- | | b'
-XX
- , Dumper::toText(['hello', "a\nb", ["a\nb"]]));
+Assert::match(
+ <<<'XX'
+ array (3)
+ 0 => 'hello'
+ 1 => string
+ | 'a\n
+ | b'
+ 2 => array (1)
+ | 0 => string
+ | | 'a\n
+ | | b'
+ XX,
+ Dumper::toText(['hello', "a\nb", ["a\nb"]]),
+);
// object
Assert::match('stdClass #%d%', Dumper::toText(new stdClass));
-Assert::match(<<<'XX'
-stdClass #%d%
- '': 'foo'
-XX
- , Dumper::toText((object) ['' => 'foo']));
+Assert::match(
+ <<<'XX'
+ stdClass #%d%
+ '': 'foo'
+ XX,
+ Dumper::toText((object) ['' => 'foo']),
+);
-Assert::match(<<<'XX'
-Test #%d%
- x: array (2)
- | 0 => 10
- | 1 => null
- y: 'hello'
- z: 30.0
-XX
- , Dumper::toText(new Test));
+Assert::match(
+ <<<'XX'
+ Test #%d%
+ x: array (2)
+ | 0 => 10
+ | 1 => null
+ y: 'hello'
+ z: 30.0
+ XX,
+ Dumper::toText(new Test),
+);
$obj = new Child;
@@ -117,49 +125,52 @@ $obj->{0} = 8;
$obj->{1} = 9;
$obj->{''} = 10;
-Assert::match(<<<'XX'
-Child #%d%
- new: 7
- 0: 8
- 1: 9
- '': 10
- x: 1
- y: 2
- z: 3
- x2: 4
- y2: 5
- z2: 6
- y: 'hello'
-XX
- , Dumper::toText($obj));
-
-
-if (PHP_VERSION_ID >= 70400) {
- require __DIR__ . '/fixtures/DumpClass.74.php';
-
- Assert::match(<<<'XX'
-Test74 #%d%
- x: 1
- y: unset
- z: unset
-XX
- , Dumper::toText(new Test74));
-
-
- $obj = new Child74;
- $obj->new = 7;
- unset($obj->unset1, $obj->unset2);
-
-
- Assert::match(<<<'XX'
-Child74 #%d%
- new: 7
- x: 2
- y: unset
- z: unset
- unset1: unset
- unset2: unset
- y: unset
-XX
- , Dumper::toText($obj));
-}
+Assert::match(
+ <<<'XX'
+ Child #%d%
+ new: 7
+ 0: 8
+ 1: 9
+ '': 10
+ x: 1
+ y: 2
+ z: 3
+ x2: 4
+ y2: 5
+ z2: 6
+ y: 'hello'
+ XX,
+ Dumper::toText($obj),
+);
+
+
+// PHP 7.4 features
+Assert::match(
+ <<<'XX'
+ Test74 #%d%
+ x: 1
+ y: unset
+ z: unset
+ XX,
+ Dumper::toText(new Test74),
+);
+
+
+$obj = new Child74;
+$obj->new = 7;
+unset($obj->unset1, $obj->unset2);
+
+
+Assert::match(
+ <<<'XX'
+ Child74 #%d%
+ new: 7
+ x: 2
+ y: unset
+ z: unset
+ unset1: unset
+ unset2: unset
+ y: unset
+ XX,
+ Dumper::toText($obj),
+);
diff --git a/tests/Tracy/Dumper.toText().recursion.phpt b/tests/Tracy/Dumper.toText().recursion.phpt
index 8aec242df..68d5d0b82 100644
--- a/tests/Tracy/Dumper.toText().recursion.phpt
+++ b/tests/Tracy/Dumper.toText().recursion.phpt
@@ -14,26 +14,30 @@ require __DIR__ . '/../bootstrap.php';
$arr = [1, 2, 3];
$arr[] = &$arr;
-Assert::match(<<<'XX'
-array (4)
- 0 => 1
- 1 => 2
- 2 => 3
- 3 => &1 array (4)
- | 0 => 1
- | 1 => 2
- | 2 => 3
- | 3 => &1 array (4) RECURSION
-XX
- , Dumper::toText($arr));
+Assert::match(
+ <<<'XX'
+ array (4)
+ 0 => 1
+ 1 => 2
+ 2 => 3
+ 3 => &1 array (4)
+ | 0 => 1
+ | 1 => 2
+ | 2 => 3
+ | 3 => &1 array (4) RECURSION
+ XX,
+ Dumper::toText($arr),
+);
$arr = (object) ['x' => 1, 'y' => 2];
$arr->z = &$arr;
-Assert::match(<<<'XX'
-stdClass #%d%
- x: 1
- y: 2
- z: &1 stdClass #%d% RECURSION
-XX
- , Dumper::toText($arr));
+Assert::match(
+ <<<'XX'
+ stdClass #%d%
+ x: 1
+ y: 2
+ z: &1 stdClass #%d% RECURSION
+ XX,
+ Dumper::toText($arr),
+);
diff --git a/tests/Tracy/Dumper.toText().references.phpt b/tests/Tracy/Dumper.toText().references.phpt
index 0324ae8cc..a5936d54f 100644
--- a/tests/Tracy/Dumper.toText().references.phpt
+++ b/tests/Tracy/Dumper.toText().references.phpt
@@ -17,20 +17,22 @@ $a = 1;
$b = 2;
$obj = (object) [&$a, $a, &$b, $b, (object) [&$a, &$b], (object) [$a, $b], [&$b, &$a]];
-Assert::match(<<<'XX'
-stdClass #%d%
- 0: &1 1
- 1: 1
- 2: &2 2
- 3: 2
- 4: stdClass #%d%
- | 0: &1 1
- | 1: &2 2
- 5: stdClass #%d%
- | 0: 1
- | 1: 2
- 6: array (2)
- | 0 => &2 2
- | 1 => &1 1
-XX
- , Dumper::toText($obj));
+Assert::match(
+ <<<'XX'
+ stdClass #%d%
+ 0: &1 1
+ 1: 1
+ 2: &2 2
+ 3: 2
+ 4: stdClass #%d%
+ | 0: &1 1
+ | 1: &2 2
+ 5: stdClass #%d%
+ | 0: 1
+ | 1: 2
+ 6: array (2)
+ | 0 => &2 2
+ | 1 => &1 1
+ XX,
+ Dumper::toText($obj),
+);
diff --git a/tests/Tracy/Dumper.toText().see.phpt b/tests/Tracy/Dumper.toText().see.phpt
index 6603ac80c..0174796f1 100644
--- a/tests/Tracy/Dumper.toText().see.phpt
+++ b/tests/Tracy/Dumper.toText().see.phpt
@@ -40,56 +40,58 @@ $var = [
];
-Assert::match(<<<'XX'
-array (8)
- 0 => Test #%d%
- | a: array (1)
- | | 1 => array (1)
- | | | 2 => array (1) ...
- 'a' => stdClass #%d%
- | b: array (1)
- | | 'c' => array (5)
- | | | 0 => Test #%d% see below
- | | | 1 => Test #%d% ...
- | | | 2 => &1 array (1) see below
- | | | 3 => array (1) ...
- | | | 4 => stream resource @%d%
- | | | | timed_out: false
- | | | | blocked: true
- | | | | eof: false
- | | | | wrapper_type: 'plainfile'
- | | | | stream_type: 'STDIO'
- | | | | mode: 'r'
- | | | | unread_bytes: 0
- | | | | seekable: true
- | | | | uri: '%a%'
- | 0: Test #%d% see below
- | 1: Test #%d% see above
- | 2: Test #%d%
- | | a: array (1)
- | | | 1 => array (1) ...
- | 3: &1 array (1) see below
- | 4: array (1)
- | | 1 => array (1)
- | | | 2 => array (1) ...
- | 5: stream resource @%d% see above
- 1 => Test #%d%
- | a: array (1)
- | | 1 => array (1)
- | | | 2 => array (1) ...
- 2 => Test #%d% see above
- 3 => Test #%d%
- | a: array (1)
- | | 1 => array (1)
- | | | 2 => array (1) ...
- 4 => &1 array (1)
- | 1 => array (1)
- | | 2 => array (1)
- | | | 3 => 'item'
- 5 => array (1)
- | 1 => array (1)
- | | 2 => array (1)
- | | | 3 => 'item'
- 6 => stream resource @%d% see above
-XX
- , Dumper::toText($var, [Dumper::DEPTH => 4]));
+Assert::match(
+ <<<'XX'
+ array (8)
+ 0 => Test #%d%
+ | a: array (1)
+ | | 1 => array (1)
+ | | | 2 => array (1) ...
+ 'a' => stdClass #%d%
+ | b: array (1)
+ | | 'c' => array (5)
+ | | | 0 => Test #%d% see below
+ | | | 1 => Test #%d% ...
+ | | | 2 => &1 array (1) see below
+ | | | 3 => array (1) ...
+ | | | 4 => stream resource @%d%
+ | | | | timed_out: false
+ | | | | blocked: true
+ | | | | eof: false
+ | | | | wrapper_type: 'plainfile'
+ | | | | stream_type: 'STDIO'
+ | | | | mode: 'r'
+ | | | | unread_bytes: 0
+ | | | | seekable: true
+ | | | | uri: '%a%'
+ | 0: Test #%d% see below
+ | 1: Test #%d% see above
+ | 2: Test #%d%
+ | | a: array (1)
+ | | | 1 => array (1) ...
+ | 3: &1 array (1) see below
+ | 4: array (1)
+ | | 1 => array (1)
+ | | | 2 => array (1) ...
+ | 5: stream resource @%d% see above
+ 1 => Test #%d%
+ | a: array (1)
+ | | 1 => array (1)
+ | | | 2 => array (1) ...
+ 2 => Test #%d% see above
+ 3 => Test #%d%
+ | a: array (1)
+ | | 1 => array (1)
+ | | | 2 => array (1) ...
+ 4 => &1 array (1)
+ | 1 => array (1)
+ | | 2 => array (1)
+ | | | 3 => 'item'
+ 5 => array (1)
+ | 1 => array (1)
+ | | 2 => array (1)
+ | | | 3 => 'item'
+ 6 => stream resource @%d% see above
+ XX,
+ Dumper::toText($var, [Dumper::DEPTH => 4]),
+);
diff --git a/tests/Tracy/Dumper.toText().specialChars.phpt b/tests/Tracy/Dumper.toText().specialChars.phpt
index 9aa1db39c..0aba0ee78 100644
--- a/tests/Tracy/Dumper.toText().specialChars.phpt
+++ b/tests/Tracy/Dumper.toText().specialChars.phpt
@@ -12,30 +12,31 @@ use Tracy\Dumper;
require __DIR__ . '/../bootstrap.php';
-Assert::match(<<<'XX'
-array (14)
- 0 => ''
- 1 => ' '
- 2 => '\x00'
- 3 => '\xFF'
- 4 => 'Iñtërnâtiônàlizætiøn'
- 5 => string
- | 'utf \n
- | \r\t \e\x00 Iñtër\n'
- 6 => 'utf \n\r\t\xab Iñtër'
- 7 => string
- | 'binary \n
- | \r\t \e\x00 I\xC3\xB1t\xC3\xABr \xA0'
- 8 => 'binary \n\r\t\xab I\xC3\xB1t\xC3\xABr \xA0'
- 'utf \n\r\t\xab Iñtër' => 1
- 'utf \n
- \r\t \e\x00 Iñtër' => 2
- 'utf \n
- \r\t \e\x00 I\xC3\xB1t\xC3\xABr \xA0' => 3
- ' &' => '
&'
- 9 => '\u{FEFF}'
-XX
- , Dumper::toText([
+Assert::match(
+ <<<'XX'
+ array (14)
+ 0 => ''
+ 1 => ' '
+ 2 => '\x00'
+ 3 => '\xFF'
+ 4 => 'Iñtërnâtiônàlizætiøn'
+ 5 => string
+ | 'utf \n
+ | \r\t \e\x00 Iñtër\n'
+ 6 => 'utf \n\r\t\xab Iñtër'
+ 7 => string
+ | 'binary \n
+ | \r\t \e\x00 I\xC3\xB1t\xC3\xABr \xA0'
+ 8 => 'binary \n\r\t\xab I\xC3\xB1t\xC3\xABr \xA0'
+ 'utf \n\r\t\xab Iñtër' => 1
+ 'utf \n
+ \r\t \e\x00 Iñtër' => 2
+ 'utf \n
+ \r\t \e\x00 I\xC3\xB1t\xC3\xABr \xA0' => 3
+ '
&' => '
&'
+ 9 => '\u{FEFF}'
+ XX,
+ Dumper::toText([
'',
' ',
"\x00",
@@ -50,4 +51,5 @@ XX
"utf \n\r\t\e\x00 Iñtër \xA0" => 3, // binary + control chars in key
'
&' => '
&', // HTML
"\xEF\xBB\xBF", // BOM
- ]));
+ ]),
+);
diff --git a/tests/Tracy/Dumper.toText().specials.dom.phpt b/tests/Tracy/Dumper.toText().specials.dom.phpt
index e63f84702..b964d0896 100644
--- a/tests/Tracy/Dumper.toText().specials.dom.phpt
+++ b/tests/Tracy/Dumper.toText().specials.dom.phpt
@@ -21,117 +21,127 @@ $namedNodeMap = $nodeList->item(0)->attributes;
$element = $nodeList->item(0);
-Assert::match(<<<'XX'
-DOMDocument #%d%
- actualEncoding: null
- attributes: null
- baseURI: null
-%A%
- doctype: DOMDocumentType #%d%
- | attributes: null
- | baseURI: null
- | childNodes: %a%
- | entities: DOMNamedNodeMap #%d% ...
- | firstChild: null
- | internalSubset: null
- | lastChild: null
- | localName: null
- | name: 'html'
- | namespaceURI: null
- | nextSibling: DOMElement #%d% see below
- | nodeName: 'html'
- | nodeType: 10
- | nodeValue: null
- | notations: DOMNamedNodeMap #%d% ...
- | ownerDocument: DOMDocument #%d% RECURSION
- | parentNode: DOMDocument #%d% RECURSION
- | prefix: ''
- | previousSibling: null
- | publicId: ''
- | systemId: ''
- | textContent: ''
- documentElement: DOMElement #%d%
- | attributes: DOMNamedNodeMap #%d% ...
-%A%
- localName: null
- namespaceURI: null
- nextSibling: null
- nodeName: '#document'
- nodeType: 13
- nodeValue: null
- ownerDocument: null
- parentNode: null
- prefix: ''
- preserveWhiteSpace: true
- previousSibling: null
- recover: false
- resolveExternals: false
- standalone: true
- strictErrorChecking: true
- substituteEntities: false
- textContent: 'Ahoj'
- validateOnParse: false
- version: null
- xmlEncoding: null
- xmlStandalone: true
- xmlVersion: null
-XX
- , Dumper::toText($dom, [Dumper::DEPTH => 2]));
-
-
-Assert::match(<<<'XX'
-DOMNodeList #%d%
- length: 1
- items: array (1)
- | 0 => DOMElement #%d% ...
-XX
- , Dumper::toText($nodeList, [Dumper::DEPTH => 2]));
-
-
-Assert::match(<<<'XX'
-DOMNamedNodeMap #%d%
- length: 1
- items: array (1)
- | 'class' => DOMAttr #%d%
- | | attributes: null
- | | baseURI: null
- | | childNodes: DOMNodeList #%d% ...
- | | firstChild: DOMText #%d% ...
- | | lastChild: DOMText #%d% ...
- | | localName: 'class'
- | | name: 'class'
- | | namespaceURI: null
- | | nextSibling: null
- | | nodeName: 'class'
- | | nodeType: 2
- | | nodeValue: 'a'
- | | ownerDocument: DOMDocument #%d% ...
- | | ownerElement: DOMElement #%d% ...
- | | parentNode: DOMElement #%d% ...
- | | prefix: ''
- | | previousSibling: null
- | | schemaTypeInfo: null
- | | specified: true
- | | textContent: 'a'
- | | value: 'a'
-XX
- , Dumper::toText($namedNodeMap, [Dumper::DEPTH => 3]));
-
-
-Assert::match(<<<'XX'
-DOMElement #%d%
- attributes: DOMNamedNodeMap #%d% ...
- baseURI: null
-%A%
- previousSibling: null
- schemaTypeInfo: null
- tagName: 'li'
- textContent: 'Ahoj'
-XX
- , Dumper::toText($element, [Dumper::DEPTH => 1]));
-
-
-Assert::match(<<<'XX'
-DOMXPath #%d%%A%
-XX
- , Dumper::toText($xpath, [Dumper::DEPTH => 1]));
+Assert::match(
+ <<<'XX'
+ DOMDocument #%d%
+ actualEncoding: null
+ attributes: null
+ baseURI: null
+ %A%
+ doctype: DOMDocumentType #%d%
+ | attributes: null
+ | baseURI: null
+ | childNodes: %a%
+ | entities: DOMNamedNodeMap #%d% ...
+ | firstChild: null
+ | internalSubset: null
+ | lastChild: null
+ | localName: null
+ | name: 'html'
+ | namespaceURI: null
+ | nextSibling: DOMElement #%d% see below
+ | nodeName: 'html'
+ | nodeType: 10
+ | nodeValue: null
+ | notations: DOMNamedNodeMap #%d% ...
+ | ownerDocument: DOMDocument #%d% RECURSION
+ | parentNode: DOMDocument #%d% RECURSION
+ | prefix: ''
+ | previousSibling: null
+ | publicId: ''
+ | systemId: ''
+ | textContent: ''
+ documentElement: DOMElement #%d%
+ | attributes: DOMNamedNodeMap #%d% ...
+ %A%
+ localName: null
+ namespaceURI: null
+ nextSibling: null
+ nodeName: '#document'
+ nodeType: 13
+ nodeValue: null
+ ownerDocument: null
+ parentNode: null
+ prefix: ''
+ preserveWhiteSpace: true
+ previousSibling: null
+ recover: false
+ resolveExternals: false
+ standalone: true
+ strictErrorChecking: true
+ substituteEntities: false
+ textContent: 'Ahoj'
+ validateOnParse: false
+ version: null
+ xmlEncoding: null
+ xmlStandalone: true
+ xmlVersion: null
+ XX,
+ Dumper::toText($dom, [Dumper::DEPTH => 2]),
+);
+
+
+Assert::match(
+ <<<'XX'
+ DOMNodeList #%d%
+ length: 1
+ items: array (1)
+ | 0 => DOMElement #%d% ...
+ XX,
+ Dumper::toText($nodeList, [Dumper::DEPTH => 2]),
+);
+
+
+Assert::match(
+ <<<'XX'
+ DOMNamedNodeMap #%d%
+ length: 1
+ items: array (1)
+ | 'class' => DOMAttr #%d%
+ | | attributes: null
+ | | baseURI: null
+ | | childNodes: DOMNodeList #%d% ...
+ | | firstChild: DOMText #%d% ...
+ | | lastChild: DOMText #%d% ...
+ | | localName: 'class'
+ | | name: 'class'
+ | | namespaceURI: null
+ | | nextSibling: null
+ | | nodeName: 'class'
+ | | nodeType: 2
+ | | nodeValue: 'a'
+ | | ownerDocument: DOMDocument #%d% ...
+ | | ownerElement: DOMElement #%d% ...
+ | | parentNode: DOMElement #%d% ...
+ | | prefix: ''
+ | | previousSibling: null
+ | | schemaTypeInfo: null
+ | | specified: true
+ | | textContent: 'a'
+ | | value: 'a'
+ XX,
+ Dumper::toText($namedNodeMap, [Dumper::DEPTH => 3]),
+);
+
+
+Assert::match(
+ <<<'XX'
+ DOMElement #%d%
+ attributes: DOMNamedNodeMap #%d% ...
+ baseURI: null
+ %A%
+ previousSibling: null
+ schemaTypeInfo: null
+ tagName: 'li'
+ textContent: 'Ahoj'
+ XX,
+ Dumper::toText($element, [Dumper::DEPTH => 1]),
+);
+
+
+Assert::match(
+ <<<'XX'
+ DOMXPath #%d%%A%
+ XX,
+ Dumper::toText($xpath, [Dumper::DEPTH => 1]),
+);
diff --git a/tests/Tracy/Dumper.toText().specials.ds.phpt b/tests/Tracy/Dumper.toText().specials.ds.phpt
index a99533276..b2460650b 100644
--- a/tests/Tracy/Dumper.toText().specials.ds.phpt
+++ b/tests/Tracy/Dumper.toText().specials.ds.phpt
@@ -14,19 +14,23 @@ require __DIR__ . '/../bootstrap.php';
$collection = new Ds\Vector(['value']);
-Assert::match(<<<'XX'
-Ds\Vector #%d%
- 0: 'value'
-XX
- , Dumper::toText($collection));
+Assert::match(
+ <<<'XX'
+ Ds\Vector #%d%
+ 0: 'value'
+ XX,
+ Dumper::toText($collection),
+);
$map = new Ds\Map;
$map->put('key', 'value');
-Assert::match(<<<'XX'
-Ds\Map #%d%
- 0: Ds\Pair #%d%
- | key: 'key'
- | value: 'value'
-XX
- , Dumper::toText($map));
+Assert::match(
+ <<<'XX'
+ Ds\Map #%d%
+ 0: Ds\Pair #%d%
+ | key: 'key'
+ | value: 'value'
+ XX,
+ Dumper::toText($map),
+);
diff --git a/tests/Tracy/Dumper.toText().specials.enum.phpt b/tests/Tracy/Dumper.toText().specials.enum.phpt
index 2bdc78e04..10c522ae6 100644
--- a/tests/Tracy/Dumper.toText().specials.enum.phpt
+++ b/tests/Tracy/Dumper.toText().specials.enum.phpt
@@ -27,11 +27,13 @@ enum Methods: string
case POST = 'post';
}
-Assert::match(<<<'XX'
-array (3)
- 0 => Suit::Clubs #%d%
- 1 => Methods::GET #%d%
- | value: 'get'
- 2 => Methods::GET #%d% see above
-XX
- , Dumper::toText([Suit::Clubs, Methods::GET, Methods::GET]));
+Assert::match(
+ <<<'XX'
+ array (3)
+ 0 => Suit::Clubs #%d%
+ 1 => Methods::GET #%d%
+ | value: 'get'
+ 2 => Methods::GET #%d% see above
+ XX,
+ Dumper::toText([Suit::Clubs, Methods::GET, Methods::GET]),
+);
diff --git a/tests/Tracy/Dumper.toText().specials.fiber.phpt b/tests/Tracy/Dumper.toText().specials.fiber.phpt
index 0a8361b7e..285e4de3a 100644
--- a/tests/Tracy/Dumper.toText().specials.fiber.phpt
+++ b/tests/Tracy/Dumper.toText().specials.fiber.phpt
@@ -20,12 +20,14 @@ $fiber = new Fiber(function (): void {
Assert::match('Fiber (not started) #%d%', Dumper::toText($fiber));
$fiber->start();
-Assert::match(<<<'XX'
-Fiber #%d%
- file: '%a%:%d%'
- callable: Closure() #%d%
-XX
- , Dumper::toText($fiber));
+Assert::match(
+ <<<'XX'
+ Fiber #%d%
+ file: '%a%:%d%'
+ callable: Closure() #%d%
+ XX,
+ Dumper::toText($fiber),
+);
$fiber->resume();
Assert::match('Fiber (terminated) #%d%', Dumper::toText($fiber));
diff --git a/tests/Tracy/Dumper.toText().specials.generator.phpt b/tests/Tracy/Dumper.toText().specials.generator.phpt
index 555ed9e71..18b08a5b9 100644
--- a/tests/Tracy/Dumper.toText().specials.generator.phpt
+++ b/tests/Tracy/Dumper.toText().specials.generator.phpt
@@ -20,12 +20,14 @@ function gen()
$gen = gen();
-Assert::match(<<<'XX'
-Generator #%d%
- file: '%a%:%d%'
- this: null
-XX
- , Dumper::toText($gen));
+Assert::match(
+ <<<'XX'
+ Generator #%d%
+ file: '%a%:%d%'
+ this: null
+ XX,
+ Dumper::toText($gen),
+);
$gen->next();
Assert::match('Generator (terminated) #%d%', Dumper::toText($gen));
@@ -40,9 +42,11 @@ function gen2()
$gen = gen2();
-Assert::match(<<<'XX'
-Generator #%d%
- file: '%a%:%d%'
- this: null
-XX
- , Dumper::toText($gen));
+Assert::match(
+ <<<'XX'
+ Generator #%d%
+ file: '%a%:%d%'
+ this: null
+ XX,
+ Dumper::toText($gen),
+);
diff --git a/tests/Tracy/Dumper.toText().specials.phpt b/tests/Tracy/Dumper.toText().specials.phpt
index 587e827d9..ecda7d269 100644
--- a/tests/Tracy/Dumper.toText().specials.phpt
+++ b/tests/Tracy/Dumper.toText().specials.phpt
@@ -21,19 +21,23 @@ Assert::match('closed resource @%d%', Dumper::toText($f));
// closure
-Assert::match(<<<'XX'
-Closure() #%d%
-XX
- , Dumper::toText(function () {}));
+Assert::match(
+ <<<'XX'
+ Closure() #%d%
+ XX,
+ Dumper::toText(function () {}),
+);
-Assert::match(<<<'XX'
-Closure($x, $y) #%d%
- file: '%a%:%d%'
- use: $use
- | $use: null
-XX
- , Dumper::toText(function ($x, int $y = 1) use (&$use) {}, [Dumper::LOCATION => Dumper::LOCATION_CLASS]));
+Assert::match(
+ <<<'XX'
+ Closure($x, $y) #%d%
+ file: '%a%:%d%'
+ use: $use
+ | $use: null
+ XX,
+ Dumper::toText(function ($x, int $y = 1) use (&$use) {}, [Dumper::LOCATION => Dumper::LOCATION_CLASS]),
+);
// new class
@@ -57,30 +61,34 @@ $objStorage[$o2] = 'o2';
$objStorage->next();
$key = $objStorage->key();
-Assert::match(<<<'XX'
-SplObjectStorage #%d%
- 0: array (2)
- | 'object' => stdClass #%d%
- | 'data' => 'o1'
- 1: array (2)
- | 'object' => stdClass #%d%
- | | foo: 'bar'
- | 'data' => 'o2'
-XX
- , Dumper::toText($objStorage));
+Assert::match(
+ <<<'XX'
+ SplObjectStorage #%d%
+ 0: array (2)
+ | 'object' => stdClass #%d%
+ | 'data' => 'o1'
+ 1: array (2)
+ | 'object' => stdClass #%d%
+ | | foo: 'bar'
+ | 'data' => 'o2'
+ XX,
+ Dumper::toText($objStorage),
+);
Assert::same($key, $objStorage->key());
// ArrayObject
$obj = new ArrayObject(['a' => 1, 'b' => 2]);
-Assert::match(<<<'XX'
-ArrayObject #%d%
- storage: array (2)
- | 'a' => 1
- | 'b' => 2
-XX
- , Dumper::toText($obj));
+Assert::match(
+ <<<'XX'
+ ArrayObject #%d%
+ storage: array (2)
+ | 'a' => 1
+ | 'b' => 2
+ XX,
+ Dumper::toText($obj),
+);
class ArrayObjectChild extends ArrayObject
{
@@ -89,37 +97,41 @@ class ArrayObjectChild extends ArrayObject
$obj = new ArrayObjectChild(['a' => 1, 'b' => 2]);
Assert::match(<<<'XX'
-ArrayObjectChild #%d%
- prop: 123
- storage: array (2)
- | 'a' => 1
- | 'b' => 2
-XX
+ ArrayObjectChild #%d%
+ prop: 123
+ storage: array (2)
+ | 'a' => 1
+ | 'b' => 2
+ XX
, Dumper::toText($obj));
// ArrayIterator
$obj = new ArrayIterator(['a' => 1, 'b' => 2]);
-Assert::match(<<<'XX'
-ArrayIterator #%d%
- a: 1
- b: 2
-XX
- , Dumper::toText($obj));
+Assert::match(
+ <<<'XX'
+ ArrayIterator #%d%
+ a: 1
+ b: 2
+ XX,
+ Dumper::toText($obj),
+);
// Tracy\Dumper\Value
$obj = new Tracy\Dumper\Value(Tracy\Dumper\Value::TypeText, 'ahoj');
-Assert::match(<<<'XX'
-Tracy\Dumper\Value #%d%
- type: 'text'
- value: 'ahoj'
- length: null
- depth: null
- id: null
- holder: null
- items: null
- editor: null
- collapsed: null
-XX
- , Dumper::toText($obj));
+Assert::match(
+ <<<'XX'
+ Tracy\Dumper\Value #%d%
+ type: 'text'
+ value: 'ahoj'
+ length: null
+ depth: null
+ id: null
+ holder: unset
+ items: null
+ editor: null
+ collapsed: null
+ XX,
+ Dumper::toText($obj),
+);
diff --git a/tests/Tracy/Helpers.improveError.phpt b/tests/Tracy/Helpers.improveError.phpt
index 819be7998..064689e92 100644
--- a/tests/Tracy/Helpers.improveError.phpt
+++ b/tests/Tracy/Helpers.improveError.phpt
@@ -70,11 +70,3 @@ test('do not suggest anything when accessing anonymous class', function () {
$message = Helpers::improveError(error_get_last()['message']);
Assert::same('Undefined property: class@anonymous::$property', $message);
});
-
-
-test('variables', function () use ($obj) {
- $abcd = 1;
- @$val = $abc;
- $message = Helpers::improveError(error_get_last()['message'], get_defined_vars());
- Assert::same('Undefined variable $abc, did you mean $abcd?', $message);
-});
diff --git a/tests/Tracy/Helpers.improveException.phpt b/tests/Tracy/Helpers.improveException.phpt
index 11b00ffa6..8ee2ba7e8 100644
--- a/tests/Tracy/Helpers.improveException.phpt
+++ b/tests/Tracy/Helpers.improveException.phpt
@@ -218,15 +218,3 @@ test('do not suggest anything when accessing anonymous class', function () {
Assert::same('Undefined property: class@anonymous::$property', $e->getMessage());
Assert::false(isset($e->tracyAction));
});
-
-
-test('variables', function () use ($obj) {
- $abcd = 1;
- @$val = $abc;
- $e = new ErrorException(error_get_last()['message'], 0, error_get_last()['type']);
- @$e->context = get_defined_vars(); // deprecated since PHP 8.2
- Helpers::improveException($e);
- Assert::same('Undefined variable $abc, did you mean $abcd?', $e->getMessage());
- Assert::match('editor://fix/?file=%a%Helpers.improveException.phpt&line=%d%&search=%24abc&replace=%24abcd', $e->tracyAction['link']);
- Assert::same('fix it', $e->tracyAction['label']);
-});
diff --git a/tests/Tracy/Logger.log().errors.phpt b/tests/Tracy/Logger.log().errors.phpt
index 05807c0c9..238e325da 100644
--- a/tests/Tracy/Logger.log().errors.phpt
+++ b/tests/Tracy/Logger.log().errors.phpt
@@ -16,14 +16,18 @@ $logger = new Logger(getTempDir());
$logger->log('Hello'); // no error
-Assert::exception(function () {
- $logger = new Logger(getTempDir() . '/unknown');
- $logger->log('Hello');
-}, RuntimeException::class, "Logging directory '%a%' is not found or is not directory.");
+$logger = new Logger(getTempDir() . '/unknown');
+Assert::exception(
+ fn() => $logger->log('Hello'),
+ RuntimeException::class,
+ "Logging directory '%a%' is not found or is not directory.",
+);
-Assert::exception(function () {
- $logger = new Logger(getTempDir());
- mkdir(getTempDir() . '/test.log');
- $logger->log('Hello', 'test');
-}, RuntimeException::class, "Unable to write to log file '%a%'. Is directory writable?");
+$logger = new Logger(getTempDir());
+mkdir(getTempDir() . '/test.log');
+Assert::exception(
+ fn() => $logger->log('Hello', 'test'),
+ RuntimeException::class,
+ "Unable to write to log file '%a%'. Is directory writable?",
+);
diff --git a/tests/Tracy/MultiLogger.log().phpt b/tests/Tracy/MultiLogger.log().phpt
new file mode 100644
index 000000000..fdd837b64
--- /dev/null
+++ b/tests/Tracy/MultiLogger.log().phpt
@@ -0,0 +1,29 @@
+log($e, 'a');
+
+ Assert::match('[%a%] Exception: First in %a%:%d% %A%', file_get_contents($path1));
+ Assert::match('[%a%] Exception: First in %a%:%d% %A%', file_get_contents($path2));
+});
diff --git a/tests/Tracy/MultiLogger.stdout.phpt b/tests/Tracy/MultiLogger.stdout.phpt
new file mode 100644
index 000000000..1e26a3312
--- /dev/null
+++ b/tests/Tracy/MultiLogger.stdout.phpt
@@ -0,0 +1,21 @@
+log($e);
+});
diff --git a/tests/Tracy/StreamLogger.log().phpt b/tests/Tracy/StreamLogger.log().phpt
new file mode 100644
index 000000000..cf4e918ef
--- /dev/null
+++ b/tests/Tracy/StreamLogger.log().phpt
@@ -0,0 +1,21 @@
+log($e, 'a');
+ Assert::match('[%a%] Exception: First in %a%:%d% %A%', file_get_contents($path));
+});
diff --git a/tests/Tracy/StreamLogger.stdout.phpt b/tests/Tracy/StreamLogger.stdout.phpt
new file mode 100644
index 000000000..afff2936b
--- /dev/null
+++ b/tests/Tracy/StreamLogger.stdout.phpt
@@ -0,0 +1,19 @@
+log($e);
+});
diff --git a/tests/Tracy/dump().html.phpt b/tests/Tracy/dump().html.phpt
index 0d424fc24..61e14f5da 100644
--- a/tests/Tracy/dump().html.phpt
+++ b/tests/Tracy/dump().html.phpt
@@ -20,15 +20,17 @@ test('html mode', function () {
setHtmlMode();
ob_start();
dump(123);
- Assert::match(<<<'XX'
-
-
-dump(123) 📍123
-
-XX
- , ob_get_clean());
+ Assert::match(
+ <<<'XX'
+
+
+ dump(123) 📍123
+
+ XX,
+ ob_get_clean(),
+ );
});
@@ -37,13 +39,15 @@ test('dark theme', function () {
ob_start();
dump(123);
- Assert::match(<<<'XX'
-
dump(123) 📍123
-
-XX
- , ob_get_clean());
+ Assert::match(
+ <<<'XX'
+
dump(123) 📍123
+
+ XX,
+ ob_get_clean(),
+ );
});
diff --git a/tests/Tracy/expected/Debugger.E_ERROR.html.expect b/tests/Tracy/expected/Debugger.E_ERROR.html.expect
index 527830a48..1d359a115 100644
--- a/tests/Tracy/expected/Debugger.E_ERROR.html.expect
+++ b/tests/Tracy/expected/Debugger.E_ERROR.html.expect
@@ -7,6 +7,7 @@
Error: Call to undefined function missing_function()
+
%A%
@@ -161,7 +162,6 @@
-
diff --git a/tests/Tracy/expected/Debugger.error-in-eval.expect b/tests/Tracy/expected/Debugger.error-in-eval.expect
index 7313f73f6..e67703bf7 100644
--- a/tests/Tracy/expected/Debugger.error-in-eval.expect
+++ b/tests/Tracy/expected/Debugger.error-in-eval.expect
@@ -7,6 +7,7 @@
User Error: The my error
+
%A%
@@ -96,7 +97,7 @@
-%A%
+
diff --git a/tests/Tracy/expected/Debugger.exception.fiber.html.expect b/tests/Tracy/expected/Debugger.exception.fiber.html.expect
index dcc968709..c144219e9 100644
--- a/tests/Tracy/expected/Debugger.exception.fiber.html.expect
+++ b/tests/Tracy/expected/Debugger.exception.fiber.html.expect
@@ -7,6 +7,7 @@
Exception: The my exception #123
+
%A%
diff --git a/tests/Tracy/expected/Debugger.exception.generator.html.expect b/tests/Tracy/expected/Debugger.exception.generator.html.expect
index 52b76ed70..a627d292a 100644
--- a/tests/Tracy/expected/Debugger.exception.generator.html.expect
+++ b/tests/Tracy/expected/Debugger.exception.generator.html.expect
@@ -7,6 +7,7 @@
Exception: The my exception #123
+
%A%
diff --git a/tests/Tracy/expected/Debugger.exception.html.expect b/tests/Tracy/expected/Debugger.exception.html.expect
index 362c57b07..587011e03 100644
--- a/tests/Tracy/expected/Debugger.exception.html.expect
+++ b/tests/Tracy/expected/Debugger.exception.html.expect
@@ -7,6 +7,7 @@
Exception: The my exception #123
+
%A%
@@ -102,7 +103,6 @@
-
diff --git a/tests/Tracy/expected/Debugger.strict.html.expect b/tests/Tracy/expected/Debugger.strict.html.expect
index a12e10209..5af044ab2 100644
--- a/tests/Tracy/expected/Debugger.strict.html.expect
+++ b/tests/Tracy/expected/Debugger.strict.html.expect
@@ -7,6 +7,7 @@
Notice: Only variables should be assigned by reference
+
%A%
@@ -99,7 +100,7 @@
-%A%
+
diff --git a/tests/Tracy/fixtures/DumpClass.74.php b/tests/Tracy/fixtures/DumpClass.74.php
deleted file mode 100644
index 5c7c1e995..000000000
--- a/tests/Tracy/fixtures/DumpClass.74.php
+++ /dev/null
@@ -1,21 +0,0 @@
-getSubPathname()}\n";
$s = file_get_contents($file->getPathname());
- if (strpos($s, '@tracySkipLocation') === false) {
+ if (!str_contains($s, '@tracySkipLocation')) {
$s = php_strip_whitespace($file->getPathname());
}
@@ -61,7 +61,7 @@ function compressCss(string $s): string
$s = preg_replace_callback('#(<(script|style).*(?)(.*)()#Uis', function ($m): string {
[, $begin, $type, $s, $end] = $m;
- if ($s === '' || strpos($s, '') !== false) {
+ if ($s === '' || str_contains($s, '')) {
return $m[0];
} elseif ($type === 'script') {