Skip to content

Commit d0e2e40

Browse files
committed
Fall back for invalid language icons
1 parent 78832db commit d0e2e40

4 files changed

Lines changed: 18 additions & 3 deletions

File tree

app/public/icons/languages/move.svg

Whitespace-only changes.

lib/polish_open_source_rank/web/presentation/logo_icon_helpers.rb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ module Web
55
module Presentation
66
module LogoIconHelpers
77
def logo_icon_exists?(path)
8-
PolishOpenSourceRank.root
9-
.join('app/public', path.delete_prefix('/'))
10-
.file?
8+
icon_path = PolishOpenSourceRank.root.join('app/public', path.delete_prefix('/'))
9+
icon_path.file? && !icon_path.empty?
1110
end
1211

1312
def logo_icon_initial(value)

spec/polish_open_source_rank/web/presentation/language_path_helpers_spec.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,9 @@
1313
expect(helper.language_initial('bitbake')).to eq('B')
1414
end
1515
end
16+
17+
it 'falls back to the language initial when an icon is unavailable', :aggregate_failures do
18+
expect(helper.language_icon_exists?('Move')).to be(false)
19+
expect(helper.language_initial('Move')).to eq('M')
20+
end
1621
end

spec/polish_open_source_rank/web/presentation/logo_icon_helpers_spec.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,16 @@
2525
it 'returns false when a public icon is missing' do
2626
expect(helper.logo_icon_exists?('/icons/languages/definitely_missing.svg')).to be(false)
2727
end
28+
29+
it 'returns false when a public icon is empty' do
30+
Dir.mktmpdir do |directory|
31+
icon_path = Pathname(directory).join('app/public/icons/languages/empty.svg')
32+
icon_path.dirname.mkpath
33+
icon_path.write('')
34+
allow(PolishOpenSourceRank).to receive(:root).and_return(Pathname(directory))
35+
36+
expect(helper.logo_icon_exists?('/icons/languages/empty.svg')).to be(false)
37+
end
38+
end
2839
end
2940
end

0 commit comments

Comments
 (0)