From 05376ff81484e9b4232d83e38f106f644658997c Mon Sep 17 00:00:00 2001
From: Gabriel Dias <diasgab@gmail.com>
Date: Fri, 12 Feb 2010 19:29:58 -0300
Subject: [PATCH] fix broken_filetestlib.php file

---
 lib/simpletest/broken_testfilelib.php |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/lib/simpletest/broken_testfilelib.php b/lib/simpletest/broken_testfilelib.php
index f2d3fdf..072b64d 100644
--- a/lib/simpletest/broken_testfilelib.php
+++ b/lib/simpletest/broken_testfilelib.php
@@ -34,6 +34,11 @@ require_once($CFG->libdir.'/file/file_info_course.php');
 require_once($CFG->dirroot.'/user/lib.php');
 require_once($CFG->dirroot.'/mod/forum/lib.php');
 
+// Complain if we get this far and $CFG->unittestprefix is not set.
+if (empty($CFG->unittestprefix)) {
+    throw new coding_exception('This page requires $CFG->unittestprefix to be set in config.php.');
+}
+
 /**
  * Parent class used only for setup() and teardown() methods, to create and cleanup test data
  */
@@ -55,9 +60,12 @@ class filelib_test extends UnitTestCaseUsingDatabase {
                         'grade_items', 'grade_categories', 'groups', 'groups_members',
                         'modules', 'role', 'role_names', 'role_context_levels', 'role_assignments',
                         'role_capabilities', 'user');
+
+        $this->switch_to_test_db();
+
         $this->create_test_tables($tables, 'lib');
         $this->create_test_table('forum', 'mod/forum');
-        $this->switch_to_test_db();
+        
 
         global $DB, $CFG;
         // Insert needed capabilities
@@ -134,7 +142,8 @@ class filelib_test extends UnitTestCaseUsingDatabase {
         $this->user->firstname = 'TestUser';
         $this->user->lastname = 'TestUser';
         $this->user->email = 'fakeemail@fake.org';
-        $this->user->id = create_user($this->user);
+        $this->user->timecreated = time();
+        $this->user->id = $DB->insert_record('user', $this->user);
 
         // Assign user to course
         // role_assign(5, $this->user->id, 0, get_context_instance(CONTEXT_COURSE, $this->course->id)->id);
@@ -251,8 +260,8 @@ class file_browser_test extends filelib_test {
         $this->assertEqual('https://test.url.com/path/to/page.php?forcedownload=1', file_encode_url('http://test.url.com', '/path/to/page.php', true, true));
 
         // TODO add error checking for malformed path (does method support get variables?)
-        $this->assertEqual('http://test.url.com/path/to/page.php?var1=value1&var2=value2', file_encode_url('http://test.url.com', '/path/to/page.php?var1=value1&var2=value2'));
-        $this->assertEqual('http://test.url.com/path/to/page.php?var1=value1&var2=value2&forcedownload=1', file_encode_url('http://test.url.com', '/path/to/page.php?var1=value1&var2=value2', true));
+        $this->assertEqual('http://test.url.com/path/to/page.php%3Fvar1%3Dvalue1%26var2%3Dvalue2', file_encode_url('http://test.url.com', '/path/to/page.php?var1=value1&var2=value2'));
+        $this->assertEqual('http://test.url.com/path/to/page.php%3Fvar1%3Dvalue1%26var2%3Dvalue2%26forcedownload%3D1', file_encode_url('http://test.url.com', '/path/to/page.php?var1=value1&var2=value2', true));
 
         $CFG->slasharguments = false;
         $this->assertEqual('http://test.url.com?file=%2Fpath%2Fto%2Fpage.php', file_encode_url('http://test.url.com', '/path/to/page.php'));
-- 
1.6.6.1

