diff --git a/lib/phpunit/lib.php b/lib/phpunit/lib.php index 929909ad89c..f2cd65628b6 100644 --- a/lib/phpunit/lib.php +++ b/lib/phpunit/lib.php @@ -845,18 +845,20 @@ class advanced_testcase extends PHPUnit_Framework_TestCase { /** * Set current $USER, reset access cache. * @static - * @param null|\stdClass $user user record, null means none + * @param null|int|stdClass $user user record, null means non-logged-in, integer means userid * @return void */ - public static function setUser(stdClass $user = null) { - global $CFG; + public static function setUser($user = null) { + global $CFG, $DB; - if (!$user) { + if (is_object($user)) { + $user = clone($user); + } else if (!$user) { $user = new stdClass(); $user->id = 0; $user->mnethostid = $CFG->mnet_localhost_id; } else { - $user = clone($user); + $user = $DB->get_record('user', array('id'=>$user)); } unset($user->description); unset($user->access); diff --git a/lib/tests/repositorylib_test.php b/lib/tests/repositorylib_test.php new file mode 100644 index 00000000000..b805c2cdd54 --- /dev/null +++ b/lib/tests/repositorylib_test.php @@ -0,0 +1,57 @@ +. + +/** + * Unit tests for ../repositorylib.php. + * + * @package core_repository + * @category phpunit + * @author nicolasconnault@gmail.com + * @license http://www.gnu.org/copyleft/gpl.html GNU Public License + */ + +defined('MOODLE_INTERNAL') || die(); + +global $CFG; +require_once("$CFG->dirroot/repository/lib.php"); + + +class repositorylib_testcase extends advanced_testcase { + + public function test_initialise_filepicker() { + global $PAGE, $SITE; + + $this->resetAfterTest(true); + + $PAGE->set_url('/'); + $PAGE->set_course($SITE); + + $this->setUser(2); + + $args = new stdClass(); + $args->accepted_types = '*'; + $args->return_types = array(FILE_EXTERNAL); + $info = initialise_filepicker($args); + + $this->assertInstanceOf('stdClass', $info); + $this->assertObjectHasAttribute('defaultlicense', $info); + $this->assertObjectHasAttribute('licenses', $info); + $this->assertObjectHasAttribute('author', $info); + $this->assertObjectHasAttribute('externallink', $info); + $this->assertObjectHasAttribute('accepted_types', $info); + $this->assertObjectHasAttribute('return_types', $info); + } +}