|
|
@@ -18,6 +18,7 @@ namespace Cake\Test\TestCase\Database\Log;
|
|
|
|
|
|
use Cake\Database\Log\LoggedQuery;
|
|
|
use Cake\TestSuite\TestCase;
|
|
|
+use Cake\Utility\Text;
|
|
|
|
|
|
/**
|
|
|
* Tests LoggedQuery class
|
|
|
@@ -111,6 +112,22 @@ class LoggedQueryTest extends TestCase
|
|
|
$this->assertEquals($expected, (string)$query);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Tests that query placeholders are replaced when logged
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public function testBinaryInterpolation()
|
|
|
+ {
|
|
|
+ $query = new LoggedQuery();
|
|
|
+ $query->query = 'SELECT a FROM b where a = :p1';
|
|
|
+ $uuid = str_replace('-', '', Text::uuid());
|
|
|
+ $query->params = ['p1' => hex2bin($uuid)];
|
|
|
+
|
|
|
+ $expected = "duration=0 rows=0 SELECT a FROM b where a = '{$uuid}'";
|
|
|
+ $this->assertEquals($expected, (string)$query);
|
|
|
+ }
|
|
|
+
|
|
|
public function testJsonSerialize()
|
|
|
{
|
|
|
$query = new LoggedQuery();
|