diff --git a/lib/dml/simpletest/testdml.php b/lib/dml/simpletest/testdml.php index 43decff92f2..f93845291d3 100755 --- a/lib/dml/simpletest/testdml.php +++ b/lib/dml/simpletest/testdml.php @@ -202,6 +202,28 @@ class dml_test extends UnitTestCase { } + public function test_fix_table_names() { + $DB = new moodle_database_for_testing(); + $prefix = $DB->get_prefix(); + + // Simple placeholder + $placeholder = "{user_123}"; + $this->assertIdentical($prefix."user_123", $DB->public_fix_table_names($placeholder)); + + // wrong table name + $placeholder = "{user-a}"; + $this->assertIdentical($placeholder, $DB->public_fix_table_names($placeholder)); + + // wrong table name + $placeholder = "{123user}"; + $this->assertIdentical($placeholder, $DB->public_fix_table_names($placeholder)); + + // Full SQL + $sql = "SELECT * FROM {user}, {funny_table_name}, {mdl_stupid_table} WHERE {user}.id = {funny_table_name}.userid"; + $expected = "SELECT * FROM {$prefix}user, {$prefix}funny_table_name, {$prefix}mdl_stupid_table WHERE {$prefix}user.id = {$prefix}funny_table_name.userid"; + $this->assertIdentical($expected, $DB->public_fix_table_names($sql)); + } + function test_fix_sql_params() { $DB = $this->tdb; @@ -577,27 +599,10 @@ class dml_test extends UnitTestCase { SELECT course FROM {{$tablename1}}"; - $this->assertTrue($DB->execute($sql)); $this->assertEqual($DB->count_records($tablename2), 4); } - public function test_fix_table_names() { - $DB = new moodle_database_for_testing(); - $prefix = $DB->get_prefix(); - - // Simple placeholder - $placeholder = "{user}"; - $this->assertEqual($prefix."user", $DB->public_fix_table_names($placeholder)); - - // Full SQL - $sql = "SELECT * FROM {user}, {funny_table_name}, {mdl_stupid_table} WHERE {user}.id = {funny_table_name}.userid"; - $expected = "SELECT * FROM {$prefix}user, {$prefix}funny_table_name, {$prefix}mdl_stupid_table WHERE {$prefix}user.id = {$prefix}funny_table_name.userid"; - $this->assertEqual($expected, $DB->public_fix_table_names($sql)); - - - } - public function test_get_recordset() { $DB = $this->tdb; $dbman = $DB->get_manager();