Fix handling of `inLanguage` attribute in preview card processing (#27423)
This commit is contained in:
parent
23f8e93c64
commit
299aa71c8f
|
@ -36,7 +36,8 @@ class LinkDetailsExtractor
|
|||
end
|
||||
|
||||
def language
|
||||
json['inLanguage']
|
||||
lang = json['inLanguage']
|
||||
lang.is_a?(Hash) ? (lang['alternateName'] || lang['name']) : lang
|
||||
end
|
||||
|
||||
def type
|
||||
|
|
|
@ -82,6 +82,10 @@ RSpec.describe LinkDetailsExtractor do
|
|||
'name' => 'Pet News',
|
||||
'url' => 'https://example.com',
|
||||
},
|
||||
'inLanguage' => {
|
||||
name: 'English',
|
||||
alternateName: 'en',
|
||||
},
|
||||
}.to_json
|
||||
end
|
||||
|
||||
|
@ -115,6 +119,12 @@ RSpec.describe LinkDetailsExtractor do
|
|||
expect(subject.provider_name).to eq 'Pet News'
|
||||
end
|
||||
end
|
||||
|
||||
describe '#language' do
|
||||
it 'returns the language from structured data' do
|
||||
expect(subject.language).to eq 'en'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when is wrapped in CDATA tags' do
|
||||
|
|
Loading…
Reference in New Issue