Merge branch 'MDL-58486' of git://github.com/timhunt/moodle

This commit is contained in:
Dan Poltawski
2017-04-17 12:15:40 +01:00
2 changed files with 26 additions and 0 deletions
+6
View File
@@ -1932,6 +1932,9 @@ function set_user_preference($name, $value, $user = null) {
// Update value in cache.
$user->preference[$name] = $value;
if ($user !== $USER && $user->id == $USER->id) {
$USER->preference[$name] = $value;
}
// Set reload flag for other sessions.
mark_user_preferences_changed($user->id);
@@ -2001,6 +2004,9 @@ function unset_user_preference($name, $user = null) {
// Delete the preference from cache.
unset($user->preference[$name]);
if ($user !== $USER && $user->id == $USER->id) {
unset($USER->preference[$name]);
}
// Set reload flag for other sessions.
mark_user_preferences_changed($user->id);
+20
View File
@@ -1194,6 +1194,26 @@ class core_moodlelib_testcase extends advanced_testcase {
}
}
public function test_set_user_preference_for_current_user() {
global $USER;
$this->resetAfterTest();
$this->setAdminUser();
set_user_preference('test_pref', 2);
set_user_preference('test_pref', 1, $USER->id);
$this->assertEquals(1, get_user_preferences('test_pref'));
}
public function test_unset_user_preference_for_current_user() {
global $USER;
$this->resetAfterTest();
$this->setAdminUser();
set_user_preference('test_pref', 1);
unset_user_preference('test_pref', $USER->id);
$this->assertNull(get_user_preferences('test_pref'));
}
public function test_get_extra_user_fields() {
global $CFG, $USER, $DB;
$this->resetAfterTest();