db = Mock_Database_Schema_Skeleton::init(DB_DRIVER); Mock_Database_Schema_Skeleton::create_tables(); Mock_Database_Schema_Skeleton::create_data(); } // ------------------------------------------------------------------------ /** * @see ./mocks/schema/skeleton.php */ public function test_escape_like_percent_sign() { // Escape the like string $string = $this->db->escape_like_str('\%foo'); if (strpos(DB_DRIVER, 'mysql') !== FALSE) { $sql = "SELECT `value` FROM `misc` WHERE `key` LIKE '$string%' ESCAPE '!';"; } else { $sql = 'SELECT "value" FROM "misc" WHERE "key" LIKE \''.$string.'%\' ESCAPE \'!\';'; } $res = $this->db->query($sql)->result_array(); // Check the result $this->assertCount(1, $res); } // ------------------------------------------------------------------------ /** * @see ./mocks/schema/skeleton.php */ public function test_escape_like_backslash_sign() { // Escape the like string $string = $this->db->escape_like_str('\\'); if (strpos(DB_DRIVER, 'mysql') !== FALSE) { $sql = "SELECT `value` FROM `misc` WHERE `key` LIKE '$string%' ESCAPE '!';"; } else { $sql = 'SELECT "value" FROM "misc" WHERE "key" LIKE \''.$string.'%\' ESCAPE \'!\';'; } $res = $this->db->query($sql)->result_array(); // Check the result $this->assertCount(2, $res); } }