From 009e120e13c220d10ba106b098666099d3effe51 Mon Sep 17 00:00:00 2001 From: Robin Ward <robin.ward@gmail.com> Date: Mon, 8 May 2017 15:35:31 -0400 Subject: [PATCH] FIX: Don't raise an error when the img attribute cannot be found --- lib/cooked_post_processor.rb | 3 +++ spec/components/cooked_post_processor_spec.rb | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/lib/cooked_post_processor.rb b/lib/cooked_post_processor.rb index e722ed842f7..48f1d38b494 100644 --- a/lib/cooked_post_processor.rb +++ b/lib/cooked_post_processor.rb @@ -158,6 +158,9 @@ class CookedPostProcessor absolute_url = url absolute_url = Discourse.base_url_no_prefix + absolute_url if absolute_url =~ /^\/[^\/]/ + + return unless absolute_url + # FastImage fails when there's no scheme absolute_url = SiteSetting.scheme + ":" + absolute_url if absolute_url.start_with?("//") diff --git a/spec/components/cooked_post_processor_spec.rb b/spec/components/cooked_post_processor_spec.rb index 6709417be29..cc0f5f4467e 100644 --- a/spec/components/cooked_post_processor_spec.rb +++ b/spec/components/cooked_post_processor_spec.rb @@ -310,6 +310,12 @@ describe CookedPostProcessor do expect(cpp.get_size_from_attributes(img)).to eq([33, 100]) end + it "doesn't raise an error with a weird url" do + img = { 'src' => nil, 'height' => 100} + SiteSetting.stubs(:crawl_images?).returns(true) + expect(cpp.get_size_from_attributes(img)).to be_nil + end + end context ".get_size_from_image_sizes" do