Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2eca244

Browse filesBrowse files
committed
Changes after feedbacks Stof
1 parent 0281685 commit 2eca244
Copy full SHA for 2eca244

File tree

7 files changed

+318
-196
lines changed
Filter options

7 files changed

+318
-196
lines changed

‎src/Symfony/Bridge/Doctrine/Middleware/Debug/Connection.php

Copy file name to clipboardExpand all lines: src/Symfony/Bridge/Doctrine/Middleware/Debug/Connection.php
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
/**
2121
* @author Laurent VOULLEMIER <laurent.voullemier@gmail.com>
22+
*
23+
* @internal
2224
*/
2325
class Connection extends AbstractConnectionMiddleware
2426
{

‎src/Symfony/Bridge/Doctrine/Middleware/Debug/Driver.php

Copy file name to clipboardExpand all lines: src/Symfony/Bridge/Doctrine/Middleware/Debug/Driver.php
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
/**
1919
* @author Laurent VOULLEMIER <laurent.voullemier@gmail.com>
20+
*
21+
* @internal
2022
*/
2123
class Driver extends AbstractDriverMiddleware
2224
{

‎src/Symfony/Bridge/Doctrine/Middleware/Debug/Query.php

Copy file name to clipboardExpand all lines: src/Symfony/Bridge/Doctrine/Middleware/Debug/Query.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public function stop(): void
4545
$this->duration = microtime(true) - $this->start;
4646
}
4747

48-
public function setParam(string|int $param, null|string|int|float &$variable, int $type): void
48+
public function setParam(string|int $param, null|string|int|float|bool &$variable, int $type): void
4949
{
5050
// Numeric indexes start at 0 in profiler
5151
$idx = \is_int($param) ? $param - 1 : $param;
@@ -54,7 +54,7 @@ public function setParam(string|int $param, null|string|int|float &$variable, in
5454
$this->types[$idx] = $type;
5555
}
5656

57-
public function setValue(string|int $param, null|string|int|float $value, int $type): void
57+
public function setValue(string|int $param, null|string|int|float|bool $value, int $type): void
5858
{
5959
// Numeric indexes start at 0 in profiler
6060
$idx = \is_int($param) ? $param - 1 : $param;

‎src/Symfony/Bridge/Doctrine/Middleware/Debug/Statement.php

Copy file name to clipboardExpand all lines: src/Symfony/Bridge/Doctrine/Middleware/Debug/Statement.php
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
/**
2020
* @author Laurent VOULLEMIER <laurent.voullemier@gmail.com>
21+
*
22+
* @internal
2123
*/
2224
class Statement extends AbstractStatementMiddleware
2325
{

‎src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorTest.php
+36-194Lines changed: 36 additions & 194 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
namespace Symfony\Bridge\Doctrine\Tests\DataCollector;
1313

1414
use Doctrine\DBAL\Connection;
15-
use Doctrine\DBAL\Logging\DebugStack;
1615
use Doctrine\DBAL\ParameterType;
1716
use Doctrine\DBAL\Platforms\MySQLPlatform;
1817
use Doctrine\Persistence\ManagerRegistry;
@@ -29,103 +28,40 @@
2928
// Doctrine DBAL 2 compatibility
3029
class_exists(\Doctrine\DBAL\Platforms\MySqlPlatform::class);
3130

32-
/**
33-
* @group legacy
34-
*/
3531
class DoctrineDataCollectorTest extends TestCase
3632
{
33+
use DoctrineDataCollectorTestTrait;
34+
3735
protected function setUp(): void
3836
{
3937
ClockMock::register(self::class);
4038
ClockMock::withClockMock(1500000000);
4139
}
4240

43-
public function provideDataHolder(): array
44-
{
45-
return [
46-
'with debug stack' => [false],
47-
'with debug data holder' => [true],
48-
];
49-
}
50-
51-
/**
52-
* @dataProvider provideDataHolder
53-
*/
54-
public function testCollectConnections(bool $useDebugDataHolder)
55-
{
56-
$c = $this->createCollector([], $useDebugDataHolder);
57-
$c->collect(new Request(), new Response());
58-
$c = unserialize(serialize($c));
59-
$this->assertEquals(['default' => 'doctrine.dbal.default_connection'], $c->getConnections());
60-
}
61-
62-
/**
63-
* @dataProvider provideDataHolder
64-
*/
65-
public function testCollectManagers(bool $useDebugDataHolder)
66-
{
67-
$c = $this->createCollector([], $useDebugDataHolder);
68-
$c->collect(new Request(), new Response());
69-
$c = unserialize(serialize($c));
70-
$this->assertEquals(['default' => 'doctrine.orm.default_entity_manager'], $c->getManagers());
71-
}
72-
73-
/**
74-
* @dataProvider provideDataHolder
75-
*/
76-
public function testCollectQueryCount(bool $useDebugDataHolder)
77-
{
78-
$c = $this->createCollector([], $useDebugDataHolder);
79-
$c->collect(new Request(), new Response());
80-
$c = unserialize(serialize($c));
81-
$this->assertEquals(0, $c->getQueryCount());
82-
83-
$queries = [
84-
['sql' => 'SELECT * FROM table1', 'params' => [], 'types' => [], 'executionMS' => 0],
85-
];
86-
$c = $this->createCollector($queries, $useDebugDataHolder);
87-
$c->collect(new Request(), new Response());
88-
$c = unserialize(serialize($c));
89-
$this->assertEquals(1, $c->getQueryCount());
90-
}
91-
92-
/**
93-
* @dataProvider provideDataHolder
94-
*/
95-
public function testCollectTime(bool $useDebugDataHolder)
41+
public function testReset()
9642
{
97-
$c = $this->createCollector([], $useDebugDataHolder);
98-
$c->collect(new Request(), new Response());
99-
$c = unserialize(serialize($c));
100-
$this->assertEquals(0, $c->getTime());
101-
10243
$queries = [
10344
['sql' => 'SELECT * FROM table1', 'params' => [], 'types' => [], 'executionMS' => 1],
10445
];
10546
$c = $this->createCollector($queries);
10647
$c->collect(new Request(), new Response());
107-
$c = unserialize(serialize($c));
108-
$this->assertEquals(1, $c->getTime());
10948

110-
$queries = [
111-
['sql' => 'SELECT * FROM table1', 'params' => [], 'types' => [], 'executionMS' => 1],
112-
['sql' => 'SELECT * FROM table2', 'params' => [], 'types' => [], 'executionMS' => 2],
113-
];
114-
$c = $this->createCollector($queries, $useDebugDataHolder);
49+
$c->reset();
11550
$c->collect(new Request(), new Response());
11651
$c = unserialize(serialize($c));
117-
$this->assertEquals(3, $c->getTime());
52+
53+
$this->assertEquals([], $c->getQueries());
11854
}
11955

12056
/**
12157
* @dataProvider paramProvider
12258
*/
123-
public function testCollectQueries($param, $types, $expected, $explainable, bool $runnable = true, bool $useDebugDataHolder = false)
59+
public function testCollectQueries($param, $types, $expected)
12460
{
12561
$queries = [
12662
['sql' => 'SELECT * FROM table1 WHERE field1 = ?1', 'params' => [$param], 'types' => $types, 'executionMS' => 1],
12763
];
128-
$c = $this->createCollector($queries, $useDebugDataHolder);
64+
$c = $this->createCollector($queries);
12965
$c->collect(new Request(), new Response());
13066
$c = unserialize(serialize($c));
13167

@@ -143,20 +79,17 @@ public function testCollectQueries($param, $types, $expected, $explainable, bool
14379
$this->assertEquals($expected, $collectedParam);
14480
}
14581

146-
$this->assertEquals($explainable, $collectedQueries['default'][0]['explainable']);
147-
$this->assertSame($runnable, $collectedQueries['default'][0]['runnable']);
82+
$this->assertTrue($collectedQueries['default'][0]['explainable']);
83+
$this->assertTrue($collectedQueries['default'][0]['runnable']);
14884
}
14985

150-
/**
151-
* @dataProvider provideDataHolder
152-
*/
153-
public function testCollectQueryWithNoParams(bool $useDebugDataHolder)
86+
public function testCollectQueryWithNoParams()
15487
{
15588
$queries = [
15689
['sql' => 'SELECT * FROM table1', 'params' => [], 'types' => [], 'executionMS' => 1],
15790
['sql' => 'SELECT * FROM table1', 'params' => null, 'types' => null, 'executionMS' => 1],
15891
];
159-
$c = $this->createCollector($queries, $useDebugDataHolder);
92+
$c = $this->createCollector($queries);
16093
$c->collect(new Request(), new Response());
16194
$c = unserialize(serialize($c));
16295

@@ -171,49 +104,15 @@ public function testCollectQueryWithNoParams(bool $useDebugDataHolder)
171104
$this->assertTrue($collectedQueries['default'][1]['runnable']);
172105
}
173106

174-
/**
175-
* @dataProvider provideDataHolder
176-
*/
177-
public function testCollectQueryWithNoTypes(bool $useDebugDataHolder)
178-
{
179-
$queries = [
180-
['sql' => 'SET sql_mode=(SELECT REPLACE(@@sql_mode, \'ONLY_FULL_GROUP_BY\', \'\'))', 'params' => [], 'types' => null, 'executionMS' => 1],
181-
];
182-
$c = $this->createCollector($queries, $useDebugDataHolder);
183-
$c->collect(new Request(), new Response());
184-
$c = unserialize(serialize($c));
185-
186-
$collectedQueries = $c->getQueries();
187-
$this->assertSame([], $collectedQueries['default'][0]['types']);
188-
}
189-
190-
/**
191-
* @dataProvider provideDataHolder
192-
*/
193-
public function testReset(bool $useDebugDataHolder)
194-
{
195-
$queries = [
196-
['sql' => 'SELECT * FROM table1', 'params' => [], 'types' => [], 'executionMS' => 1],
197-
];
198-
$c = $this->createCollector($queries, $useDebugDataHolder);
199-
$c->collect(new Request(), new Response());
200-
201-
$c->reset();
202-
$c->collect(new Request(), new Response());
203-
$c = unserialize(serialize($c));
204-
205-
$this->assertEquals($useDebugDataHolder ? [] : ['default' => []], $c->getQueries());
206-
}
207-
208107
/**
209108
* @dataProvider paramProvider
210109
*/
211-
public function testSerialization($param, array $types, $expected, $explainable, bool $runnable = true, bool $useDebugDataHolder = false)
110+
public function testSerialization($param, array $types, $expected)
212111
{
213112
$queries = [
214113
['sql' => 'SELECT * FROM table1 WHERE field1 = ?1', 'params' => [$param], 'types' => $types, 'executionMS' => 1],
215114
];
216-
$c = $this->createCollector($queries, $useDebugDataHolder);
115+
$c = $this->createCollector($queries);
217116
$c->collect(new Request(), new Response());
218117
$c = unserialize(serialize($c));
219118

@@ -231,63 +130,21 @@ public function testSerialization($param, array $types, $expected, $explainable,
231130
$this->assertEquals($expected, $collectedParam);
232131
}
233132

234-
$this->assertEquals($explainable, $collectedQueries['default'][0]['explainable']);
235-
$this->assertSame($runnable, $collectedQueries['default'][0]['runnable']);
133+
$this->assertTrue($collectedQueries['default'][0]['explainable']);
134+
$this->assertTrue($collectedQueries['default'][0]['runnable']);
236135
}
237136

238137
public function paramProvider(): array
239138
{
240139
return [
241-
['some value', [], 'some value', true],
242-
['some value', [], 'some value', true, true, true],
243-
[1, [], 1, true],
244-
[1, [], 1, true, true, true],
245-
[true, [], true, true],
246-
[true, [], true, true, true, true],
247-
[null, [], null, true],
248-
[null, [], null, true, true, true],
249-
[new \DateTime('2011-09-11'), ['date'], '2011-09-11', true],
250-
[fopen(__FILE__, 'r'), [], '/* Resource(stream) */', false, false],
251-
[
252-
new \stdClass(),
253-
[],
254-
<<<EOTXT
255-
{#%d
256-
⚠: "Object of class "stdClass" could not be converted to string."
257-
}
258-
EOTXT
259-
,
260-
false,
261-
false,
262-
],
263-
[
264-
new StringRepresentableClass(),
265-
[],
266-
<<<EOTXT
267-
Symfony\Bridge\Doctrine\Tests\DataCollector\StringRepresentableClass {#%d
268-
__toString(): "string representation"
269-
}
270-
EOTXT
271-
,
272-
false,
273-
],
274-
['this is not a date', ['date'], "⚠ Could not convert PHP value 'this is not a date'%S to type %Sdate%S. Expected one of the following types: null, DateTime", false, false],
275-
[
276-
new \stdClass(),
277-
['date'],
278-
<<<EOTXT
279-
{#%d
280-
⚠: "Could not convert PHP value of type %SstdClass%S to type %Sdate%S. Expected one of the following types: null, DateTime"
281-
}
282-
EOTXT
283-
,
284-
false,
285-
false,
286-
],
140+
['some value', [], 'some value'],
141+
[1, [], 1],
142+
[true, [], true],
143+
[null, [], null],
287144
];
288145
}
289146

290-
private function createCollector(array $queries, bool $useDebugDataHolder = false): DoctrineDataCollector
147+
private function createCollector(array $queries): DoctrineDataCollector
291148
{
292149
$connection = $this->getMockBuilder(Connection::class)
293150
->disableOriginalConstructor()
@@ -309,43 +166,28 @@ private function createCollector(array $queries, bool $useDebugDataHolder = fals
309166
->method('getConnection')
310167
->willReturn($connection);
311168

312-
if ($useDebugDataHolder) {
313-
$debugDataHolder = new DebugDataHolder();
314-
$collector = new DoctrineDataCollector($registry, $debugDataHolder);
315-
foreach ($queries as $queryData) {
316-
$query = new Query($queryData['sql'] ?? '');
317-
foreach (($queryData['params'] ?? []) as $key => $value) {
318-
if (\is_int($key)) {
319-
++$key;
320-
}
321-
322-
$query->setValue($key, $value, $queryData['type'][$key] ?? ParameterType::STRING);
169+
$debugDataHolder = new DebugDataHolder();
170+
$collector = new DoctrineDataCollector($registry, $debugDataHolder);
171+
foreach ($queries as $queryData) {
172+
$query = new Query($queryData['sql'] ?? '');
173+
foreach (($queryData['params'] ?? []) as $key => $value) {
174+
if (\is_int($key)) {
175+
++$key;
323176
}
324177

325-
$query->start();
178+
$query->setValue($key, $value, $queryData['type'][$key] ?? ParameterType::STRING);
179+
}
180+
181+
$query->start();
326182

327-
$debugDataHolder->addQuery('default', $query);
183+
$debugDataHolder->addQuery('default', $query);
328184

329-
if (isset($queryData['executionMS'])) {
330-
sleep($queryData['executionMS']);
331-
}
332-
$query->stop();
185+
if (isset($queryData['executionMS'])) {
186+
sleep($queryData['executionMS']);
333187
}
334-
} else {
335-
$collector = new DoctrineDataCollector($registry);
336-
$logger = $this->createMock(DebugStack::class);
337-
$logger->queries = $queries;
338-
$collector->addLogger('default', $logger);
188+
$query->stop();
339189
}
340190

341191
return $collector;
342192
}
343193
}
344-
345-
class StringRepresentableClass
346-
{
347-
public function __toString(): string
348-
{
349-
return 'string representation';
350-
}
351-
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.