Adding tests for 4 byte unicode characters
* success on SQLite and Postgres * failure on MySQL due to the limited charset that only supports up to 3 bytes
This commit is contained in:
parent
e115bf96e7
commit
972e560e72
2 changed files with 46 additions and 0 deletions
|
@ -293,4 +293,19 @@
|
|||
|
||||
</table>
|
||||
|
||||
<table>
|
||||
|
||||
<name>*dbprefix*text_table</name>
|
||||
<declaration>
|
||||
|
||||
<field>
|
||||
<name>textfield</name>
|
||||
<type>text</type>
|
||||
<notnull>false</notnull>
|
||||
<length>255</length>
|
||||
</field>
|
||||
|
||||
</declaration>
|
||||
</table>
|
||||
|
||||
</database>
|
||||
|
|
|
@ -46,6 +46,11 @@ class LegacyDBTest extends \Test\TestCase {
|
|||
*/
|
||||
private $table5;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $text_table;
|
||||
|
||||
protected function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
|
@ -63,6 +68,7 @@ class LegacyDBTest extends \Test\TestCase {
|
|||
$this->table3 = $this->test_prefix.'vcategory';
|
||||
$this->table4 = $this->test_prefix.'decimal';
|
||||
$this->table5 = $this->test_prefix.'uniconst';
|
||||
$this->text_table = $this->test_prefix.'text_table';
|
||||
}
|
||||
|
||||
protected function tearDown() {
|
||||
|
@ -390,4 +396,29 @@ class LegacyDBTest extends \Test\TestCase {
|
|||
$result = $query->execute(array('%ba%'));
|
||||
$this->assertCount(1, $result->fetchAll());
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider insertAndSelectDataProvider
|
||||
*/
|
||||
public function testInsertAndSelectData($expected) {
|
||||
$table = "*PREFIX*{$this->text_table}";
|
||||
|
||||
$query = OC_DB::prepare("INSERT INTO `$table` (`textfield`) VALUES (?)");
|
||||
$result = $query->execute(array($expected));
|
||||
$this->assertEquals(1, $result);
|
||||
|
||||
$actual = OC_DB::prepare("SELECT `textfield` FROM `$table`")->execute()->fetchOne();
|
||||
$this->assertSame($expected, $actual);
|
||||
}
|
||||
|
||||
public function insertAndSelectDataProvider() {
|
||||
return [
|
||||
['abcdefghijklmnopqrstuvwxyzABCDEFGHIKLMNOPQRSTUVWXYZ'],
|
||||
['0123456789'],
|
||||
['äöüÄÖÜß!"§$%&/()=?#\'+*~°^`´'],
|
||||
['²³¼½¬{[]}\\'],
|
||||
['♡⚗'],
|
||||
['💩'], # :hankey: on github
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue