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
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def language
 | 
					    def language
 | 
				
			||||||
      json['inLanguage']
 | 
					      lang = json['inLanguage']
 | 
				
			||||||
 | 
					      lang.is_a?(Hash) ? (lang['alternateName'] || lang['name']) : lang
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def type
 | 
					    def type
 | 
				
			||||||
 | 
				
			|||||||
@ -82,6 +82,10 @@ RSpec.describe LinkDetailsExtractor do
 | 
				
			|||||||
          'name' => 'Pet News',
 | 
					          'name' => 'Pet News',
 | 
				
			||||||
          'url' => 'https://example.com',
 | 
					          'url' => 'https://example.com',
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        'inLanguage' => {
 | 
				
			||||||
 | 
					          name: 'English',
 | 
				
			||||||
 | 
					          alternateName: 'en',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
      }.to_json
 | 
					      }.to_json
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -115,6 +119,12 @@ RSpec.describe LinkDetailsExtractor do
 | 
				
			|||||||
          expect(subject.provider_name).to eq 'Pet News'
 | 
					          expect(subject.provider_name).to eq 'Pet News'
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      describe '#language' do
 | 
				
			||||||
 | 
					        it 'returns the language from structured data' do
 | 
				
			||||||
 | 
					          expect(subject.language).to eq 'en'
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    context 'when is wrapped in CDATA tags' do
 | 
					    context 'when is wrapped in CDATA tags' do
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user