aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorMatthias Loibl <mail@matthiasloibl.com>2016-11-07 21:13:38 +0100
committerMatthias Loibl <mail@matthiasloibl.com>2016-11-07 23:31:39 +0100
commitf81711f40d46208917742b871c41fe74a4b214c1 (patch)
tree84851fa966671cb19210b247baeacd01663c7795 /modules
parenta5d0b4de5b5096793d980232c58774647213ffbe (diff)
downloadgitea-f81711f40d46208917742b871c41fe74a4b214c1.tar.gz
gitea-f81711f40d46208917742b871c41fe74a4b214c1.zip
Test AvatarLink and refactor with tests passing
Diffstat (limited to 'modules')
-rw-r--r--modules/base/tool.go21
-rw-r--r--modules/base/tool_test.go24
2 files changed, 32 insertions, 13 deletions
diff --git a/modules/base/tool.go b/modules/base/tool.go
index 987e651985..ff072f857f 100644
--- a/modules/base/tool.go
+++ b/modules/base/tool.go
@@ -202,21 +202,18 @@ func HashEmail(email string) string {
// AvatarLink returns relative avatar link to the site domain by given email,
// which includes app sub-url as prefix. However, it is possible
// to return full URL if user enables Gravatar-like service.
-func AvatarLink(email string) (url string) {
+func AvatarLink(email string) string {
if setting.EnableFederatedAvatar && setting.LibravatarService != nil {
- var err error
- url, err = setting.LibravatarService.FromEmail(email)
- if err != nil {
- log.Error(1, "LibravatarService.FromEmail: %v", err)
- }
- }
- if len(url) == 0 && !setting.DisableGravatar {
- url = setting.GravatarSource + HashEmail(email)
+ // TODO: This doesn't check any error. AvatarLink should return (string, error)
+ url, _ := setting.LibravatarService.FromEmail(email)
+ return url
}
- if len(url) == 0 {
- url = setting.AppSubUrl + "/img/avatar_default.png"
+
+ if !setting.DisableGravatar {
+ return setting.GravatarSource + HashEmail(email)
}
- return url
+
+ return setting.AppSubUrl + "/img/avatar_default.png"
}
// Seconds-based time units
diff --git a/modules/base/tool_test.go b/modules/base/tool_test.go
index 90b94a8308..bc46a2a883 100644
--- a/modules/base/tool_test.go
+++ b/modules/base/tool_test.go
@@ -1,8 +1,11 @@
package base
import (
- "github.com/stretchr/testify/assert"
"testing"
+
+ "github.com/go-gitea/gitea/modules/setting"
+ "github.com/stretchr/testify/assert"
+ "strk.kbt.io/projects/go/libravatar"
)
func TestEncodeMD5(t *testing.T) {
@@ -46,6 +49,25 @@ func TestHashEmail(t *testing.T) {
assert.Equal(t, "353cbad9b58e69c96154ad99f92bedc7", HashEmail("gitea@example.com"))
}
+func TestAvatarLink(t *testing.T) {
+ setting.EnableFederatedAvatar = false
+ setting.LibravatarService = nil
+ setting.DisableGravatar = true
+
+ assert.Equal(t, "/img/avatar_default.png", AvatarLink(""))
+
+ setting.DisableGravatar = false
+ assert.Equal(t, "353cbad9b58e69c96154ad99f92bedc7", AvatarLink("gitea@example.com"))
+
+ setting.EnableFederatedAvatar = true
+ assert.Equal(t, "353cbad9b58e69c96154ad99f92bedc7", AvatarLink("gitea@example.com"))
+ setting.LibravatarService = libravatar.New()
+ assert.Equal(t,
+ "http://cdn.libravatar.org/avatar/353cbad9b58e69c96154ad99f92bedc7",
+ AvatarLink("gitea@example.com"),
+ )
+}
+
// TODO: AvatarLink()
// TODO: computeTimeDiff()
// TODO: TimeSincePro()