mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-09 20:56:08 +10:00
Add support for HiDPI displays in gravatar service
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
class GravatarService
|
||||
include Gitlab::CurrentSettings
|
||||
|
||||
def execute(email, size = nil)
|
||||
def execute(email, size = nil, scale = 2)
|
||||
if current_application_settings.gravatar_enabled? && email.present?
|
||||
size = 40 if size.nil? || size <= 0
|
||||
|
||||
sprintf gravatar_url,
|
||||
hash: Digest::MD5.hexdigest(email.strip.downcase),
|
||||
size: size,
|
||||
size: size * scale,
|
||||
email: email.strip
|
||||
end
|
||||
end
|
||||
|
||||
@@ -141,15 +141,19 @@ describe ApplicationHelper do
|
||||
stub_gravatar_setting(plain_url: 'http://example.local/?s=%{size}&hash=%{hash}')
|
||||
|
||||
expect(gravatar_icon(user_email, 20)).
|
||||
to eq('http://example.local/?s=20&hash=b58c6f14d292556214bd64909bcdb118')
|
||||
to eq('http://example.local/?s=40&hash=b58c6f14d292556214bd64909bcdb118')
|
||||
end
|
||||
|
||||
it 'accepts a custom size argument' do
|
||||
expect(helper.gravatar_icon(user_email, 64)).to include '?s=64'
|
||||
expect(helper.gravatar_icon(user_email, 64)).to include '?s=128'
|
||||
end
|
||||
|
||||
it 'defaults size to 40 when given an invalid size' do
|
||||
expect(helper.gravatar_icon(user_email, nil)).to include '?s=40'
|
||||
it 'defaults size to 40@2x when given an invalid size' do
|
||||
expect(helper.gravatar_icon(user_email, nil)).to include '?s=80'
|
||||
end
|
||||
|
||||
it 'accepts a scaling factor' do
|
||||
expect(helper.gravatar_icon(user_email, 40, 3)).to include '?s=120'
|
||||
end
|
||||
|
||||
it 'ignores case and surrounding whitespace' do
|
||||
|
||||
Reference in New Issue
Block a user