aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_framework
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2018-01-01 18:00:51 +0100
committerMarc Alexander <admin@m-a-styles.de>2018-01-01 18:57:56 +0100
commit4afb53dd8d4fb53ce49e0164130cf34712e19324 (patch)
tree233ea1acf0e4063315044de9dd494379d8d922c3 /tests/test_framework
parentee8b72d733a3e096f35ec65a7eaf3c63a237cb4b (diff)
downloadforums-4afb53dd8d4fb53ce49e0164130cf34712e19324.tar
forums-4afb53dd8d4fb53ce49e0164130cf34712e19324.tar.gz
forums-4afb53dd8d4fb53ce49e0164130cf34712e19324.tar.bz2
forums-4afb53dd8d4fb53ce49e0164130cf34712e19324.tar.xz
forums-4afb53dd8d4fb53ce49e0164130cf34712e19324.zip
[ticket/15055] Add comments explaining overriden createXMLDataSet()
PHPBB3-15055
Diffstat (limited to 'tests/test_framework')
-rw-r--r--tests/test_framework/phpbb_database_test_case.php14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/test_framework/phpbb_database_test_case.php b/tests/test_framework/phpbb_database_test_case.php
index bbcb8d9a48..c2d658cfff 100644
--- a/tests/test_framework/phpbb_database_test_case.php
+++ b/tests/test_framework/phpbb_database_test_case.php
@@ -142,9 +142,17 @@ abstract class phpbb_database_test_case extends PHPUnit_Extensions_Database_Test
$manager->database_synchronisation($table_column_map);
}
+ /**
+ * Create xml data set for insertion into database
+ *
+ * @param string $path Path to fixture XML
+ * @return PHPUnit_Extensions_Database_DataSet_DefaultDataSet|PHPUnit_Extensions_Database_DataSet_XmlDataSet
+ */
public function createXMLDataSet($path)
{
$this->fixture_xml_data = parent::createXMLDataSet($path);
+
+ // Extend XML data set on MSSQL
if (strpos($this->get_database_config()['dbms'], 'mssql') !== false)
{
$newXmlData = new PHPUnit_Extensions_Database_DataSet_DefaultDataSet();
@@ -165,6 +173,11 @@ abstract class phpbb_database_test_case extends PHPUnit_Extensions_Database_Test
$identity_columns = $db->sql_fetchrowset($result);
$has_default_identity = false;
$add_primary_keys = false;
+
+ // Iterate over identity columns to check for missing primary
+ // keys in data set and special identity column 'mssqlindex'
+ // that might have been added when no default identity column
+ // exists in the current table.
foreach ($identity_columns as $column)
{
if (in_array($column['identity_column'], $columns) && !in_array($column['identity_column'], $primaryKeys))
@@ -182,6 +195,7 @@ abstract class phpbb_database_test_case extends PHPUnit_Extensions_Database_Test
if ($has_default_identity || $add_primary_keys)
{
+ // Add default identity column to columns list
if ($has_default_identity)
{
$columns[] = 'mssqlindex';