Fix titles being escaped twice (#32889)

This commit is contained in:
Claire 2024-11-14 14:28:00 +01:00 committed by GitHub
parent ec663eaba1
commit e8b6607ece
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 9 additions and 17 deletions

View file

@ -79,7 +79,7 @@ module ApplicationHelper
def html_title
safe_join(
[content_for(:page_title).to_s.chomp, title]
[content_for(:page_title), title]
.compact_blank,
' - '
)

View file

@ -1,5 +1,4 @@
- content_for :page_title do
= t('about.title')
- content_for :page_title, t('about.title')
- content_for :header_tags do
= render partial: 'shared/og'

View file

@ -1,5 +1,4 @@
- content_for :page_title do
#{display_name(@account)} (#{acct(@account)})
- content_for :page_title, "#{display_name(@account)} (#{acct(@account)})"
- content_for :header_tags do
- if @account.user_prefers_noindex?

View file

@ -1,5 +1,4 @@
- content_for :page_title do
= t('privacy_policy.title')
- content_for :page_title, t('privacy_policy.title')
- content_for :header_tags do
= render partial: 'shared/og'

View file

@ -1,5 +1,4 @@
- content_for :page_title do
= t('statuses.title', name: display_name(@account), quote: truncate(@status.spoiler_text.presence || @status.text, length: 50, omission: '…', escape: false))
- content_for :page_title, t('statuses.title', name: display_name(@account), quote: truncate(@status.spoiler_text.presence || @status.text, length: 50, omission: '…', escape: false))
- content_for :header_tags do
- if @account.user_prefers_noindex?

View file

@ -257,11 +257,11 @@ RSpec.describe ApplicationHelper do
expect(helper.html_title).to be_html_safe
end
it 'removes extra new lines' do
it 'does not escape twice' do
Setting.site_title = 'Site Title'
helper.content_for(:page_title, "Test Value\n")
helper.content_for(:page_title, '"Test Value"'.html_safe)
expect(helper.html_title).to eq 'Test Value - Site Title'
expect(helper.html_title).to eq '"Test Value" - Site Title'
expect(helper.html_title).to be_html_safe
end
end

View file

@ -18,7 +18,7 @@ RSpec.describe 'statuses/show.html.haml' do
assign(:descendant_threads, [])
end
it 'has valid opengraph tags' do
it 'has valid opengraph tags and twitter player tags' do
render
expect(header_tags)
@ -26,10 +26,6 @@ RSpec.describe 'statuses/show.html.haml' do
.and match(/<meta content="article" property="og:type">/)
.and match(/<meta content=".+" property="og:image">/)
.and match(%r{<meta content="http://.+" property="og:url">})
end
it 'has twitter player tag' do
render
expect(header_tags)
.to match(%r{<meta content="http://.+/media/.+/player" property="twitter:player">})