From 449f99e168b8048c82fd6014c029705c061018bd Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 11 Apr 2024 19:37:07 -0400 Subject: [PATCH] Fix repeated concat output buffer duplicating layout markup (#29918) --- app/helpers/theme_helper.rb | 8 ++++---- spec/requests/account_show_page_spec.rb | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/helpers/theme_helper.rb b/app/helpers/theme_helper.rb index 83527ce611..d15259851c 100644 --- a/app/helpers/theme_helper.rb +++ b/app/helpers/theme_helper.rb @@ -3,8 +3,8 @@ module ThemeHelper def theme_style_tags(theme) if theme == 'system' - concat 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('mastodon-light', media: 'not all and (prefers-color-scheme: dark)', crossorigin: 'anonymous') + + stylesheet_pack_tag('default', media: '(prefers-color-scheme: dark)', crossorigin: 'anonymous') else stylesheet_pack_tag theme, media: 'all', crossorigin: 'anonymous' end @@ -12,8 +12,8 @@ module ThemeHelper def theme_color_tags(theme) if theme == 'system' - concat 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[:dark], media: '(prefers-color-scheme: dark)') + + tag.meta(name: 'theme-color', content: Themes::THEME_COLORS[:light], media: '(prefers-color-scheme: light)') else tag.meta name: 'theme-color', content: theme_color_for(theme) end diff --git a/spec/requests/account_show_page_spec.rb b/spec/requests/account_show_page_spec.rb index e84c46c47f..81e965e6e6 100644 --- a/spec/requests/account_show_page_spec.rb +++ b/spec/requests/account_show_page_spec.rb @@ -9,12 +9,18 @@ describe 'The account show page' do 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:type')).to eq 'profile' expect(head_meta_content('og:image')).to match '.+' expect(head_meta_content('og:url')).to match 'http://.+' end + def head_link_icons + head_section.css('link[rel=icon]') + end + def head_meta_content(property) head_section.meta("[@property='#{property}']")[:content] end