示例#1
0
 public function test_calendar_get_course_cached()
 {
     // Setup some test courses.
     $course1 = $this->getDataGenerator()->create_course();
     $course2 = $this->getDataGenerator()->create_course();
     $course3 = $this->getDataGenerator()->create_course();
     // Load courses into cache.
     $coursecache = null;
     calendar_get_course_cached($coursecache, $course1->id);
     calendar_get_course_cached($coursecache, $course2->id);
     calendar_get_course_cached($coursecache, $course3->id);
     // Verify the cache.
     $this->assertArrayHasKey($course1->id, $coursecache);
     $cachedcourse1 = $coursecache[$course1->id];
     $this->assertEquals($course1->id, $cachedcourse1->id);
     $this->assertEquals($course1->shortname, $cachedcourse1->shortname);
     $this->assertEquals($course1->fullname, $cachedcourse1->fullname);
     $this->assertArrayHasKey($course2->id, $coursecache);
     $cachedcourse2 = $coursecache[$course2->id];
     $this->assertEquals($course2->id, $cachedcourse2->id);
     $this->assertEquals($course2->shortname, $cachedcourse2->shortname);
     $this->assertEquals($course2->fullname, $cachedcourse2->fullname);
     $this->assertArrayHasKey($course3->id, $coursecache);
     $cachedcourse3 = $coursecache[$course3->id];
     $this->assertEquals($course3->id, $cachedcourse3->id);
     $this->assertEquals($course3->shortname, $cachedcourse3->shortname);
     $this->assertEquals($course3->fullname, $cachedcourse3->fullname);
 }
示例#2
0
function calendar_get_module_cached(&$coursecache, $modulename, $instance)
{
    $module = get_coursemodule_from_instance($modulename, $instance);
    if ($module === false) {
        return false;
    }
    if (!calendar_get_course_cached($coursecache, $module->course)) {
        return false;
    }
    return $module;
}