Fix repeated concat output buffer duplicating layout markup (#29918)

This commit is contained in:
Matt Jankowski 2024-04-11 19:37:07 -04:00 committed by GitHub
parent 20b1e55f24
commit 449f99e168
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 4 deletions

View file

@ -3,8 +3,8 @@
module ThemeHelper module ThemeHelper
def theme_style_tags(theme) def theme_style_tags(theme)
if theme == 'system' if theme == 'system'
concat stylesheet_pack_tag('mastodon-light', media: 'not all and (prefers-color-scheme: dark)', crossorigin: 'anonymous') stylesheet_pack_tag('mastodon-light', media: 'not all and (prefers-color-scheme: dark)', crossorigin: 'anonymous') +
concat stylesheet_pack_tag('default', media: '(prefers-color-scheme: dark)', crossorigin: 'anonymous') stylesheet_pack_tag('default', media: '(prefers-color-scheme: dark)', crossorigin: 'anonymous')
else else
stylesheet_pack_tag theme, media: 'all', crossorigin: 'anonymous' stylesheet_pack_tag theme, media: 'all', crossorigin: 'anonymous'
end end
@ -12,8 +12,8 @@ module ThemeHelper
def theme_color_tags(theme) def theme_color_tags(theme)
if theme == 'system' if theme == 'system'
concat tag.meta(name: 'theme-color', content: Themes::THEME_COLORS[:dark], media: '(prefers-color-scheme: dark)') tag.meta(name: 'theme-color', content: Themes::THEME_COLORS[:dark], media: '(prefers-color-scheme: dark)') +
concat tag.meta(name: 'theme-color', content: Themes::THEME_COLORS[:light], media: '(prefers-color-scheme: light)') tag.meta(name: 'theme-color', content: Themes::THEME_COLORS[:light], media: '(prefers-color-scheme: light)')
else else
tag.meta name: 'theme-color', content: theme_color_for(theme) tag.meta name: 'theme-color', content: theme_color_for(theme)
end end

View file

@ -9,12 +9,18 @@ describe 'The account show page' do
get '/@alice' get '/@alice'
expect(head_link_icons.size).to eq(4) # One general favicon and three with sizes
expect(head_meta_content('og:title')).to match alice.display_name expect(head_meta_content('og:title')).to match alice.display_name
expect(head_meta_content('og:type')).to eq 'profile' expect(head_meta_content('og:type')).to eq 'profile'
expect(head_meta_content('og:image')).to match '.+' expect(head_meta_content('og:image')).to match '.+'
expect(head_meta_content('og:url')).to match 'http://.+' expect(head_meta_content('og:url')).to match 'http://.+'
end end
def head_link_icons
head_section.css('link[rel=icon]')
end
def head_meta_content(property) def head_meta_content(property)
head_section.meta("[@property='#{property}']")[:content] head_section.meta("[@property='#{property}']")[:content]
end end