aboutsummaryrefslogtreecommitdiffstats
path: root/tests/dbal/db_tools_test.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/dbal/db_tools_test.php')
-rw-r--r--tests/dbal/db_tools_test.php63
1 files changed, 17 insertions, 46 deletions
diff --git a/tests/dbal/db_tools_test.php b/tests/dbal/db_tools_test.php
index fbde636b58..c20e46011f 100644
--- a/tests/dbal/db_tools_test.php
+++ b/tests/dbal/db_tools_test.php
@@ -106,7 +106,7 @@ class phpbb_dbal_db_tools_test extends phpbb_database_test_case
'c_bool' => 0,
'c_vchar' => '',
'c_vchar_size' => '',
- 'c_char_size' => '',
+ 'c_char_size' => 'abcd',
'c_xstext' => '',
'c_stext' => '',
'c_text' => '',
@@ -165,6 +165,11 @@ class phpbb_dbal_db_tools_test extends phpbb_database_test_case
*/
public function test_created_column($column_name, $column_value)
{
+ if ($column_name === 'c_varbinary' && stripos(get_class($this->db), 'mysql') === false)
+ {
+ $this->markTestIncomplete('Binary handling is not implemented properly on non-MySQL DBMSes.');
+ }
+
$row_insert = self::get_default_values();
$row_insert[$column_name] = $column_value;
@@ -189,51 +194,6 @@ class phpbb_dbal_db_tools_test extends phpbb_database_test_case
$this->assertEquals($row_expect[$column_name], $row_actual[$column_name], "Column $column_name of type $type should have equal return and input value.");
}
- public function test_auto_increment()
- {
- $sql = 'DELETE FROM prefix_table_name';
- $result = $this->db->sql_query($sql);
-
- $row1 = array_merge(self::get_default_values(), array(
- 'c_uint' => 1,
- 'c_vchar' => '1', // these values are necessary to avoid unique index issues
- 'c_vchar_size' => '1',
- ));
- $row2 = array_merge(self::get_default_values(), array(
- 'c_uint' => 2,
- 'c_vchar' => '2',
- 'c_vchar_size' => '2',
- ));
-
- $sql = 'INSERT INTO prefix_table_name ' . $this->db->sql_build_array('INSERT', $row1);
- $result = $this->db->sql_query($sql);
- $id1 = $this->db->sql_nextid();
-
- $sql = 'INSERT INTO prefix_table_name ' . $this->db->sql_build_array('INSERT', $row2);
- $result = $this->db->sql_query($sql);
- $id2 = $this->db->sql_nextid();
-
- $this->assertGreaterThan($id1, $id2, 'Auto increment should increase the id value');
-
- $sql = "SELECT *
- FROM prefix_table_name WHERE c_id = $id1";
- $result = $this->db->sql_query($sql);
- $row_actual = $this->db->sql_fetchrow($result);
- $this->db->sql_freeresult($result);
-
- $row1['c_id'] = $id1;
- $this->assertEquals($row1, $row_actual);
-
- $sql = "SELECT *
- FROM prefix_table_name WHERE c_id = $id2";
- $result = $this->db->sql_query($sql);
- $row_actual = $this->db->sql_fetchrow($result);
- $this->db->sql_freeresult($result);
-
- $row2['c_id'] = $id2;
- $this->assertEquals($row2, $row_actual);
- }
-
public function test_list_columns()
{
$this->assertEquals(
@@ -354,9 +314,20 @@ class phpbb_dbal_db_tools_test extends phpbb_database_test_case
$this->assertTrue($this->tools->sql_index_exists('prefix_table_name', 'i_simple'));
}
+ public function test_unique_index_exists()
+ {
+ $this->assertTrue($this->tools->sql_unique_index_exists('prefix_table_name', 'i_uniq'));
+ }
+
public function test_create_index_against_index_exists()
{
$this->tools->sql_create_index('prefix_table_name', 'fookey', array('c_timestamp', 'c_decimal'));
$this->assertTrue($this->tools->sql_index_exists('prefix_table_name', 'fookey'));
}
+
+ public function test_create_unique_index_against_unique_index_exists()
+ {
+ $this->tools->sql_create_unique_index('prefix_table_name', 'i_uniq_ts_id', array('c_timestamp', 'c_id'));
+ $this->assertTrue($this->tools->sql_unique_index_exists('prefix_table_name', 'i_uniq_ts_id'));
+ }
}