custom avatar support

This commit is contained in:
Régis Hanol
2013-08-13 22:08:29 +02:00
parent e5e3164ea1
commit c867b67a0b
34 changed files with 576 additions and 201 deletions

View File

@ -110,33 +110,25 @@ test("isAnImage", function() {
});
test("avatarUrl", function() {
blank(Discourse.Utilities.avatarUrl('', 'tiny'), "no avatar url returns blank");
blank(Discourse.Utilities.avatarUrl('this is not a username', 'tiny'), "invalid username returns blank");
equal(Discourse.Utilities.avatarUrl('eviltrout', 'tiny'), "/users/eviltrout/avatar/20?__ws=", "simple avatar url");
equal(Discourse.Utilities.avatarUrl('eviltrout', 'large'), "/users/eviltrout/avatar/45?__ws=", "different size");
equal(Discourse.Utilities.avatarUrl('EvilTrout', 'tiny'), "/users/eviltrout/avatar/20?__ws=", "lowercases username");
equal(Discourse.Utilities.avatarUrl('eviltrout', 'tiny', 'test{size}'), "test20", "replaces the size in a template");
});
test("avatarUrl with a baseUrl", function() {
Discourse.BaseUrl = "http://try.discourse.org";
equal(Discourse.Utilities.avatarUrl('eviltrout', 'tiny'), "/users/eviltrout/avatar/20?__ws=http%3A%2F%2Ftry.discourse.org", "simple avatar url");
blank(Discourse.Utilities.avatarUrl('', 'tiny'), "no template returns blank");
equal(Discourse.Utilities.avatarUrl('/fake/template/{size}.png', 'tiny'), "/fake/template/20.png", "simple avatar url");
equal(Discourse.Utilities.avatarUrl('/fake/template/{size}.png', 'large'), "/fake/template/45.png", "different size");
});
test("avatarImg", function() {
equal(Discourse.Utilities.avatarImg({username: 'eviltrout', size: 'tiny'}),
"<img width='20' height='20' src='/users/eviltrout/avatar/20?__ws=' class='avatar'>",
var avatarTemplate = "/path/to/avatar/{size}.png";
equal(Discourse.Utilities.avatarImg({avatarTemplate: avatarTemplate, size: 'tiny'}),
"<img width='20' height='20' src='/path/to/avatar/20.png' class='avatar'>",
"it returns the avatar html");
equal(Discourse.Utilities.avatarImg({username: 'eviltrout', size: 'tiny', title: 'evilest trout'}),
"<img width='20' height='20' src='/users/eviltrout/avatar/20?__ws=' class='avatar' title='evilest trout'>",
equal(Discourse.Utilities.avatarImg({avatarTemplate: avatarTemplate, size: 'tiny', title: 'evilest trout'}),
"<img width='20' height='20' src='/path/to/avatar/20.png' class='avatar' title='evilest trout'>",
"it adds a title if supplied");
equal(Discourse.Utilities.avatarImg({username: 'eviltrout', size: 'tiny', extraClasses: 'evil fish'}),
"<img width='20' height='20' src='/users/eviltrout/avatar/20?__ws=' class='avatar evil fish'>",
equal(Discourse.Utilities.avatarImg({avatarTemplate: avatarTemplate, size: 'tiny', extraClasses: 'evil fish'}),
"<img width='20' height='20' src='/path/to/avatar/20.png' class='avatar evil fish'>",
"it adds extra classes if supplied");
blank(Discourse.Utilities.avatarImg({username: 'weird*username', size: 'tiny'}),
"it doesn't render avatars for invalid usernames");
blank(Discourse.Utilities.avatarImg({avatarTemplate: "", size: 'tiny'}),
"it doesn't render avatars for invalid avatar template");
});