* @covers \JKingWeb\Arsse\Db\MySQL\ExceptionBuilder * @covers \JKingWeb\Arsse\Db\PDOError * @covers \JKingWeb\Arsse\Db\SQLState */ class TestStatement extends \JKingWeb\Arsse\TestCase\Db\BaseStatement { use \JKingWeb\Arsse\Test\DatabaseDrivers\MySQLPDO; protected function makeStatement(string $q, array $types = []): array { return [static::$interface, $q, $types]; } protected function decorateTypeSyntax(string $value, string $type): string { switch ($type) { case "float": return (substr($value, -2) === ".0") ? "'".substr($value, 0, strlen($value) - 2)."'" : "'$value'"; case "string": if (preg_match("<^char\((\d+)\)$>D", $value, $match)) { return "'".\IntlChar::chr((int) $match[1])."'"; } return $value; default: return $value; } } }