MDL-35669 gravatar amend and complete gravatar tests.

This commit is contained in:
Eloy Lafuente (stronk7)
2012-10-02 01:35:50 +02:00
parent ba804c9ea9
commit 54dd6ee750
+33 -9
View File
@@ -126,6 +126,7 @@ class user_picture_testcase extends advanced_testcase {
$this->assertEquals('http://www.example.com/moodle', $CFG->wwwroot);
$this->assertEquals($CFG->wwwroot, $CFG->httpswwwroot);
$this->assertEquals(0, $CFG->enablegravatar);
$this->assertEquals('mm', $CFG->gravatardefaulturl);
// create some users
$page = new moodle_page();
@@ -197,21 +198,25 @@ class user_picture_testcase extends advanced_testcase {
// test gravatar
set_config('enablegravatar', 1);
$up2 = new user_picture($user2);
$this->assertEquals('http://www.gravatar.com/avatar/ab53a2911ddf9b4817ac01ddcd3d975f?s=35&d=http%3A%2F%2Fwww.example.com%2Fmoodle%2Ftheme%2Fimage.php%2Fstandard%2Fcore%2F1%2Fu%2Ff2', $up2->get_url($page, $renderer)->out(false));
// uploaded image takes precedence before gravatar
$up1 = new user_picture($user1);
$this->assertEquals($CFG->wwwroot.'/pluginfile.php/15/user/icon/standard/f2?rev=11', $up1->get_url($page, $renderer)->out(false));
// deleted user can not have gravatar
$user3->email = 'deleted';
$user3->picture = 0;
$up3 = new user_picture($user3);
$this->assertEquals($CFG->wwwroot.'/theme/image.php/standard/core/1/u/f2', $up3->get_url($page, $renderer)->out(false));
// verify defaults to misteryman (mm)
$up2 = new user_picture($user2);
$this->assertEquals('http://www.gravatar.com/avatar/ab53a2911ddf9b4817ac01ddcd3d975f?s=35&d=mm', $up2->get_url($page, $renderer)->out(false));
// https versions
// without gravatardefaulturl, verify we pick own file
set_config('gravatardefaulturl', '');
$up2 = new user_picture($user2);
$this->assertEquals('http://www.gravatar.com/avatar/ab53a2911ddf9b4817ac01ddcd3d975f?s=35&d=http%3A%2F%2Fwww.example.com%2Fmoodle%2Fpix%2Fu%2Ff2.png', $up2->get_url($page, $renderer)->out(false));
// uploaded image takes precedence before gravatar
$up1 = new user_picture($user1);
$this->assertEquals($CFG->wwwroot.'/pluginfile.php/15/user/icon/standard/f2?rev=11', $up1->get_url($page, $renderer)->out(false));
// https version
$CFG->httpswwwroot = str_replace('http:', 'https:', $CFG->wwwroot);
$up1 = new user_picture($user1);
@@ -221,7 +226,26 @@ class user_picture_testcase extends advanced_testcase {
$this->assertEquals($CFG->httpswwwroot.'/theme/image.php/standard/core/1/u/f2', $up3->get_url($page, $renderer)->out(false));
$up2 = new user_picture($user2);
$this->assertEquals('https://secure.gravatar.com/avatar/ab53a2911ddf9b4817ac01ddcd3d975f?s=35&d=https%3A%2F%2Fwww.example.com%2Fmoodle%2Ftheme%2Fimage.php%2Fstandard%2Fcore%2F1%2Fu%2Ff2', $up2->get_url($page, $renderer)->out(false));
$this->assertEquals('https://secure.gravatar.com/avatar/ab53a2911ddf9b4817ac01ddcd3d975f?s=35&d=https%3A%2F%2Fwww.example.com%2Fmoodle%2Fpix%2Fu%2Ff2.png', $up2->get_url($page, $renderer)->out(false));
// now test gravatar with one theme having own images (afterburner)
$CFG->httpswwwroot = $CFG->wwwroot;
$this->assertTrue(file_exists("$CFG->dirroot/theme/afterburner/config.php"));
set_config('theme', 'afterburner');
$page = new moodle_page();
$page->set_url('/user/profile.php');
$page->set_context(context_system::instance());
$renderer = $page->get_renderer('core');
$up2 = new user_picture($user2);
$this->assertEquals('http://www.gravatar.com/avatar/ab53a2911ddf9b4817ac01ddcd3d975f?s=35&d=http%3A%2F%2Fwww.example.com%2Fmoodle%2Ftheme%2Fafterburner%2Fpix_core%2Fu%2Ff2.png', $up2->get_url($page, $renderer)->out(false));
// https version
$CFG->httpswwwroot = str_replace('http:', 'https:', $CFG->wwwroot);
$up2 = new user_picture($user2);
$this->assertEquals('https://secure.gravatar.com/avatar/ab53a2911ddf9b4817ac01ddcd3d975f?s=35&d=https%3A%2F%2Fwww.example.com%2Fmoodle%2Ftheme%2Fafterburner%2Fpix_core%2Fu%2Ff2.png', $up2->get_url($page, $renderer)->out(false));
// end of gravatar tests
// test themed images
set_config('enablegravatar', 0);