|
|
|
|
@ -400,18 +400,18 @@ class LegacyDBTest extends \Test\TestCase { |
|
|
|
|
/** |
|
|
|
|
* @dataProvider insertAndSelectDataProvider |
|
|
|
|
*/ |
|
|
|
|
public function testInsertAndSelectData($expected, $skipOnMysql) { |
|
|
|
|
public function testInsertAndSelectData($expected, $throwsOnMysqlWithoutUTF8MB4) { |
|
|
|
|
$table = "*PREFIX*{$this->text_table}"; |
|
|
|
|
$config = \OC::$server->getConfig(); |
|
|
|
|
|
|
|
|
|
$query = OC_DB::prepare("INSERT INTO `$table` (`textfield`) VALUES (?)"); |
|
|
|
|
if ($throwsOnMysqlWithoutUTF8MB4 && $config->getSystemValue('dbtype', 'sqlite') === 'mysql' && $config->getSystemValue('mysql.utf8mb4', false) === false) { |
|
|
|
|
$this->markTestSkipped('MySQL requires UTF8mb4 to store value: ' . $expected); |
|
|
|
|
} |
|
|
|
|
$result = $query->execute(array($expected)); |
|
|
|
|
$this->assertEquals(1, $result); |
|
|
|
|
|
|
|
|
|
$actual = OC_DB::prepare("SELECT `textfield` FROM `$table`")->execute()->fetchOne(); |
|
|
|
|
$config = \OC::$server->getConfig(); |
|
|
|
|
if($skipOnMysql && $config->getSystemValue('dbtype', 'sqlite') === 'mysql' && $config->getSystemValue('mysql.utf8mb4', false) === false) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
$this->assertSame($expected, $actual); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|