Browse Source

Add workaround for YouTube Shorts links (#17869)

* Add workaround for YouTube Shorts links

* Update link_details_extractor_spec.rb
Eugen Rochko 2 years ago
parent
commit
b58db8f12e
2 changed files with 9 additions and 1 deletions
  1. 1 1
      app/lib/link_details_extractor.rb
  2. 8 0
      spec/lib/link_details_extractor_spec.rb

+ 1 - 1
app/lib/link_details_extractor.rb

@@ -208,7 +208,7 @@ class LinkDetailsExtractor
   end
 
   def valid_url_or_nil(str, same_origin_only: false)
-    return if str.blank?
+    return if str.blank? || str == 'null'
 
     url = @original_url + Addressable::URI.parse(str)
 

+ 8 - 0
spec/lib/link_details_extractor_spec.rb

@@ -25,6 +25,14 @@ RSpec.describe LinkDetailsExtractor do
         expect(subject.canonical_url).to eq 'https://foo.com/article'
       end
     end
+
+    context 'when canonical URL is set to "null"' do
+      let(:html) { '<!doctype html><link rel="canonical" href="null" />' }
+
+      it 'ignores the canonical URLs' do
+        expect(subject.canonical_url).to eq original_url
+      end
+    end
   end
 
   context 'when structured data is present' do