|
|
|
|
@ -336,6 +336,52 @@ class FunctionBuilderTest extends TestCase { |
|
|
|
|
$this->assertGreaterThan(1, $column); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function octetLengthProvider() { |
|
|
|
|
return [ |
|
|
|
|
['', 0], |
|
|
|
|
['foobar', 6], |
|
|
|
|
['fé', 3], |
|
|
|
|
['šđčćž', 10], |
|
|
|
|
]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @dataProvider octetLengthProvider |
|
|
|
|
*/ |
|
|
|
|
public function testOctetLength(string $str, int $bytes) { |
|
|
|
|
$query = $this->connection->getQueryBuilder(); |
|
|
|
|
|
|
|
|
|
$query->select($query->func()->octetLength($query->createNamedParameter($str, IQueryBuilder::PARAM_STR))); |
|
|
|
|
|
|
|
|
|
$result = $query->execute(); |
|
|
|
|
$column = $result->fetchOne(); |
|
|
|
|
$result->closeCursor(); |
|
|
|
|
$this->assertEquals($bytes, $column); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function charLengthProvider() { |
|
|
|
|
return [ |
|
|
|
|
['', 0], |
|
|
|
|
['foobar', 6], |
|
|
|
|
['fé', 2], |
|
|
|
|
['šđčćž', 5], |
|
|
|
|
]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @dataProvider charLengthProvider |
|
|
|
|
*/ |
|
|
|
|
public function testCharLength(string $str, int $bytes) { |
|
|
|
|
$query = $this->connection->getQueryBuilder(); |
|
|
|
|
|
|
|
|
|
$query->select($query->func()->charLength($query->createNamedParameter($str, IQueryBuilder::PARAM_STR))); |
|
|
|
|
|
|
|
|
|
$result = $query->execute(); |
|
|
|
|
$column = $result->fetchOne(); |
|
|
|
|
$result->closeCursor(); |
|
|
|
|
$this->assertEquals($bytes, $column); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private function setUpMinMax($value) { |
|
|
|
|
$query = $this->connection->getQueryBuilder(); |
|
|
|
|
|
|
|
|
|
|