Skip to content

Commit 79fe2b4

Browse files
[VarDumper] Allow seamless use of Data clones
1 parent 11d2b8d commit 79fe2b4

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

DataCollector/TranslationDataCollector.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ public function lateCollect()
4444

4545
$this->data = $this->computeCount($messages);
4646
$this->data['messages'] = $messages;
47+
48+
$this->data = $this->cloneVar($this->data);
4749
}
4850

4951
/**
@@ -101,12 +103,12 @@ private function sanitizeCollectedMessages($messages)
101103

102104
if (!isset($result[$messageId])) {
103105
$message['count'] = 1;
104-
$message['parameters'] = !empty($message['parameters']) ? array($this->cloneVar($message['parameters'])) : array();
106+
$message['parameters'] = !empty($message['parameters']) ? array($message['parameters']) : array();
105107
$messages[$key]['translation'] = $this->sanitizeString($message['translation']);
106108
$result[$messageId] = $message;
107109
} else {
108110
if (!empty($message['parameters'])) {
109-
$result[$messageId]['parameters'][] = $this->cloneVar($message['parameters']);
111+
$result[$messageId]['parameters'][] = $message['parameters'];
110112
}
111113

112114
++$result[$messageId]['count'];

Tests/DataCollector/TranslationDataCollectorTest.php

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
use PHPUnit\Framework\TestCase;
1515
use Symfony\Component\Translation\DataCollectorTranslator;
1616
use Symfony\Component\Translation\DataCollector\TranslationDataCollector;
17-
use Symfony\Component\VarDumper\Cloner\VarCloner;
1817

1918
class TranslationDataCollectorTest extends TestCase
2019
{
@@ -36,13 +35,11 @@ public function testCollectEmptyMessages()
3635
$this->assertEquals(0, $dataCollector->getCountMissings());
3736
$this->assertEquals(0, $dataCollector->getCountFallbacks());
3837
$this->assertEquals(0, $dataCollector->getCountDefines());
39-
$this->assertEquals(array(), $dataCollector->getMessages());
38+
$this->assertEquals(array(), $dataCollector->getMessages()->getValue());
4039
}
4140

4241
public function testCollect()
4342
{
44-
$cloner = new VarCloner();
45-
4643
$collectedMessages = array(
4744
array(
4845
'id' => 'foo',
@@ -119,9 +116,9 @@ public function testCollect()
119116
'state' => DataCollectorTranslator::MESSAGE_MISSING,
120117
'count' => 3,
121118
'parameters' => array(
122-
$cloner->cloneVar(array('%count%' => 3)),
123-
$cloner->cloneVar(array('%count%' => 3)),
124-
$cloner->cloneVar(array('%count%' => 4, '%foo%' => 'bar')),
119+
array('%count%' => 3),
120+
array('%count%' => 3),
121+
array('%count%' => 4, '%foo%' => 'bar'),
125122
),
126123
'transChoiceNumber' => 3,
127124
),
@@ -136,7 +133,8 @@ public function testCollect()
136133
$this->assertEquals(1, $dataCollector->getCountMissings());
137134
$this->assertEquals(1, $dataCollector->getCountFallbacks());
138135
$this->assertEquals(1, $dataCollector->getCountDefines());
139-
$this->assertEquals($expectedMessages, array_values($dataCollector->getMessages()));
136+
137+
$this->assertEquals($expectedMessages, array_values($dataCollector->getMessages()->getValue(true)));
140138
}
141139

142140
private function getTranslator()

0 commit comments

Comments
 (0)