Skip to content

Commit da73086

Browse files
committed
Merge branch '2.8'
Conflicts: CHANGELOG-2.3.md CHANGELOG-2.7.md composer.json src/Symfony/Bridge/Twig/composer.json src/Symfony/Bundle/FrameworkBundle/composer.json src/Symfony/Bundle/SecurityBundle/composer.json src/Symfony/Component/Console/Tests/Helper/LegacyProgressHelperTest.php src/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php src/Symfony/Component/Console/composer.json src/Symfony/Component/DomCrawler/composer.json src/Symfony/Component/Form/Tests/FormRegistryTest.php src/Symfony/Component/Form/composer.json src/Symfony/Component/HttpFoundation/composer.json src/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php src/Symfony/Component/Intl/composer.json src/Symfony/Component/Ldap/composer.json src/Symfony/Component/Security/Core/composer.json src/Symfony/Component/Security/Csrf/composer.json src/Symfony/Component/Security/Http/composer.json src/Symfony/Component/Security/composer.json src/Symfony/Component/Serializer/Encoder/JsonEncoder.php src/Symfony/Component/Serializer/composer.json src/Symfony/Component/Templating/PhpEngine.php src/Symfony/Component/Translation/composer.json src/Symfony/Component/VarDumper/Tests/HtmlDumperTest.php src/Symfony/Component/VarDumper/composer.json
2 parents 9ab9248 + e83fcb5 commit da73086

File tree

5 files changed

+41
-32
lines changed

5 files changed

+41
-32
lines changed

DataCollector/DoctrineDataCollector.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ private function sanitizeQueries($connectionName, $queries)
117117
private function sanitizeQuery($connectionName, $query)
118118
{
119119
$query['explainable'] = true;
120+
if (null === $query['params']) {
121+
$query['params'] = array();
122+
}
120123
if (!is_array($query['params'])) {
121124
$query['params'] = array($query['params']);
122125
}

Form/DoctrineOrmTypeGuesser.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public function __construct(ManagerRegistry $registry)
3939
public function guessType($class, $property)
4040
{
4141
if (!$ret = $this->getMetadata($class)) {
42-
return new TypeGuess('text', array(), Guess::LOW_CONFIDENCE);
42+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TextType', array(), Guess::LOW_CONFIDENCE);
4343
}
4444

4545
list($metadata, $name) = $ret;
@@ -48,35 +48,35 @@ public function guessType($class, $property)
4848
$multiple = $metadata->isCollectionValuedAssociation($property);
4949
$mapping = $metadata->getAssociationMapping($property);
5050

51-
return new TypeGuess('entity', array('em' => $name, 'class' => $mapping['targetEntity'], 'multiple' => $multiple), Guess::HIGH_CONFIDENCE);
51+
return new TypeGuess('Symfony\Bridge\Doctrine\Form\Type\EntityType', array('em' => $name, 'class' => $mapping['targetEntity'], 'multiple' => $multiple), Guess::HIGH_CONFIDENCE);
5252
}
5353

5454
switch ($metadata->getTypeOfField($property)) {
5555
case Type::TARRAY:
56-
return new TypeGuess('collection', array(), Guess::MEDIUM_CONFIDENCE);
56+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CollectionType', array(), Guess::MEDIUM_CONFIDENCE);
5757
case Type::BOOLEAN:
58-
return new TypeGuess('checkbox', array(), Guess::HIGH_CONFIDENCE);
58+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CheckboxType', array(), Guess::HIGH_CONFIDENCE);
5959
case Type::DATETIME:
6060
case Type::DATETIMETZ:
6161
case 'vardatetime':
62-
return new TypeGuess('datetime', array(), Guess::HIGH_CONFIDENCE);
62+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\DateTimeType', array(), Guess::HIGH_CONFIDENCE);
6363
case Type::DATE:
64-
return new TypeGuess('date', array(), Guess::HIGH_CONFIDENCE);
64+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\DateType', array(), Guess::HIGH_CONFIDENCE);
6565
case Type::TIME:
66-
return new TypeGuess('time', array(), Guess::HIGH_CONFIDENCE);
66+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TimeType', array(), Guess::HIGH_CONFIDENCE);
6767
case Type::DECIMAL:
6868
case Type::FLOAT:
69-
return new TypeGuess('number', array(), Guess::MEDIUM_CONFIDENCE);
69+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\NumberType', array(), Guess::MEDIUM_CONFIDENCE);
7070
case Type::INTEGER:
7171
case Type::BIGINT:
7272
case Type::SMALLINT:
73-
return new TypeGuess('integer', array(), Guess::MEDIUM_CONFIDENCE);
73+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\IntegerType', array(), Guess::MEDIUM_CONFIDENCE);
7474
case Type::STRING:
75-
return new TypeGuess('text', array(), Guess::MEDIUM_CONFIDENCE);
75+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TextType', array(), Guess::MEDIUM_CONFIDENCE);
7676
case Type::TEXT:
77-
return new TypeGuess('textarea', array(), Guess::MEDIUM_CONFIDENCE);
77+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TextareaType', array(), Guess::MEDIUM_CONFIDENCE);
7878
default:
79-
return new TypeGuess('text', array(), Guess::LOW_CONFIDENCE);
79+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TextType', array(), Guess::LOW_CONFIDENCE);
8080
}
8181
}
8282

Logger/DbalLogger.php

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,16 +99,9 @@ private function normalizeParams(array $params)
9999
}
100100

101101
// detect if the too long string must be shorten
102-
if (function_exists('mb_strlen')) {
103-
if (self::MAX_STRING_LENGTH < mb_strlen($params[$index], 'UTF-8')) {
104-
$params[$index] = mb_substr($params[$index], 0, self::MAX_STRING_LENGTH - 6, 'UTF-8').' [...]';
105-
continue;
106-
}
107-
} else {
108-
if (self::MAX_STRING_LENGTH < strlen($params[$index])) {
109-
$params[$index] = substr($params[$index], 0, self::MAX_STRING_LENGTH - 6).' [...]';
110-
continue;
111-
}
102+
if (self::MAX_STRING_LENGTH < iconv_strlen($params[$index], 'UTF-8')) {
103+
$params[$index] = iconv_substr($params[$index], 0, self::MAX_STRING_LENGTH - 6, 'UTF-8').' [...]';
104+
continue;
112105
}
113106
}
114107

Tests/DataCollector/DoctrineDataCollectorTest.php

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,25 @@ public function testCollectQueries($param, $types, $expected, $explainable)
7979
$c = $this->createCollector($queries);
8080
$c->collect(new Request(), new Response());
8181

82-
$collected_queries = $c->getQueries();
83-
$this->assertEquals($expected, $collected_queries['default'][0]['params'][0]);
84-
$this->assertEquals($explainable, $collected_queries['default'][0]['explainable']);
82+
$collectedQueries = $c->getQueries();
83+
$this->assertEquals($expected, $collectedQueries['default'][0]['params'][0]);
84+
$this->assertEquals($explainable, $collectedQueries['default'][0]['explainable']);
85+
}
86+
87+
public function testCollectQueryWithNoParams()
88+
{
89+
$queries = array(
90+
array('sql' => 'SELECT * FROM table1', 'params' => array(), 'types' => array(), 'executionMS' => 1),
91+
array('sql' => 'SELECT * FROM table1', 'params' => null, 'types' => null, 'executionMS' => 1),
92+
);
93+
$c = $this->createCollector($queries);
94+
$c->collect(new Request(), new Response());
95+
96+
$collectedQueries = $c->getQueries();
97+
$this->assertEquals(array(), $collectedQueries['default'][0]['params']);
98+
$this->assertTrue($collectedQueries['default'][0]['explainable']);
99+
$this->assertEquals(array(), $collectedQueries['default'][1]['params']);
100+
$this->assertTrue($collectedQueries['default'][1]['explainable']);
85101
}
86102

87103
/**
@@ -96,9 +112,9 @@ public function testSerialization($param, $types, $expected, $explainable)
96112
$c->collect(new Request(), new Response());
97113
$c = unserialize(serialize($c));
98114

99-
$collected_queries = $c->getQueries();
100-
$this->assertEquals($expected, $collected_queries['default'][0]['params'][0]);
101-
$this->assertEquals($explainable, $collected_queries['default'][0]['explainable']);
115+
$collectedQueries = $c->getQueries();
116+
$this->assertEquals($expected, $collectedQueries['default'][0]['params'][0]);
117+
$this->assertEquals($explainable, $collectedQueries['default'][0]['explainable']);
102118
}
103119

104120
public function paramProvider()

Tests/Logger/DbalLoggerTest.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,6 @@ public function testLogLongString()
132132
));
133133
}
134134

135-
/**
136-
* @requires extension mbstring
137-
*/
138135
public function testLogUTF8LongString()
139136
{
140137
$logger = $this->getMock('Psr\\Log\\LoggerInterface');
@@ -160,7 +157,7 @@ public function testLogUTF8LongString()
160157
$dbalLogger
161158
->expects($this->once())
162159
->method('log')
163-
->with('SQL', array('short' => $shortString, 'long' => mb_substr($longString, 0, DbalLogger::MAX_STRING_LENGTH - 6, mb_detect_encoding($longString)).' [...]'))
160+
->with('SQL', array('short' => $shortString, 'long' => mb_substr($longString, 0, DbalLogger::MAX_STRING_LENGTH - 6, 'UTF-8').' [...]'))
164161
;
165162

166163
$dbalLogger->startQuery('SQL', array(

0 commit comments

Comments
 (0)