Commit b87fd999 authored by Justin Ho's avatar Justin Ho

Add default icon size to `sprite_icon`

The suggested icon size used for SVGs is 16px and is the
most common use case for this helper. Adding the value as
default makes using the helper DRY-er and encourages
better UI.
parent 01ff1d51
...@@ -45,7 +45,7 @@ module IconsHelper ...@@ -45,7 +45,7 @@ module IconsHelper
ActionController::Base.helpers.image_path('file_icons.svg', host: sprite_base_url) ActionController::Base.helpers.image_path('file_icons.svg', host: sprite_base_url)
end end
def sprite_icon(icon_name, size: nil, css_class: nil) def sprite_icon(icon_name, size: DEFAULT_ICON_SIZE, css_class: nil)
if known_sprites&.exclude?(icon_name) if known_sprites&.exclude?(icon_name)
exception = ArgumentError.new("#{icon_name} is not a known icon in @gitlab-org/gitlab-svg") exception = ArgumentError.new("#{icon_name} is not a known icon in @gitlab-org/gitlab-svg")
Gitlab::ErrorTracking.track_and_raise_for_dev_exception(exception) Gitlab::ErrorTracking.track_and_raise_for_dev_exception(exception)
......
...@@ -48,8 +48,13 @@ RSpec.describe IconsHelper do ...@@ -48,8 +48,13 @@ RSpec.describe IconsHelper do
describe 'sprite_icon' do describe 'sprite_icon' do
icon_name = 'clock' icon_name = 'clock'
it 'returns svg icon html' do it 'returns svg icon html with DEFAULT_ICON_SIZE' do
expect(sprite_icon(icon_name).to_s) expect(sprite_icon(icon_name).to_s)
.to eq "<svg class=\"s#{IconsHelper::DEFAULT_ICON_SIZE}\" data-testid=\"#{icon_name}-icon\"><use xlink:href=\"#{icons_path}##{icon_name}\"></use></svg>"
end
it 'returns svg icon html without size class' do
expect(sprite_icon(icon_name, size: nil).to_s)
.to eq "<svg data-testid=\"#{icon_name}-icon\"><use xlink:href=\"#{icons_path}##{icon_name}\"></use></svg>" .to eq "<svg data-testid=\"#{icon_name}-icon\"><use xlink:href=\"#{icons_path}##{icon_name}\"></use></svg>"
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment