diff --git a/lib/cooked_post_processor.rb b/lib/cooked_post_processor.rb index e89cee74bb2..3f78317bca2 100644 --- a/lib/cooked_post_processor.rb +++ b/lib/cooked_post_processor.rb @@ -193,7 +193,7 @@ class CookedPostProcessor end def oneboxed_images - @doc.css(".onebox-body img, .onebox img") + @doc.css(".onebox-body img, .onebox img, img.onebox") end def limit_size!(img) diff --git a/spec/components/cooked_post_processor_spec.rb b/spec/components/cooked_post_processor_spec.rb index 0d1fa216a31..57fb16c5901 100644 --- a/spec/components/cooked_post_processor_spec.rb +++ b/spec/components/cooked_post_processor_spec.rb @@ -513,6 +513,24 @@ describe CookedPostProcessor do expect(cpp).to be_dirty expect(cpp.html).to match_html "
GANGNAM STYLE
" end + + it "replaces downloaded onebox image" do + url = 'https://image.com/my-avatar' + image_url = 'https://image.com/avatar.png' + + Oneboxer.stubs(:onebox).with(url, anything).returns("") + + post = Fabricate(:post, raw: url) + upload = Fabricate(:upload, url: "https://test.s3.amazonaws.com/something.png") + + post.custom_fields[Post::DOWNLOADED_IMAGES] = { "//image.com/avatar.png": upload.id } + post.save_custom_fields + + cpp = CookedPostProcessor.new(post, invalidate_oneboxes: true) + cpp.post_process_oneboxes + + expect(cpp.doc.to_s).to eq("

") + end end context ".post_process_oneboxes removes nofollow if add_rel_nofollow_to_user_content is disabled" do