aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2015-04-02 10:16:52 +0100
committerLouise Crow <louise.crow@gmail.com>2015-04-02 10:21:48 +0100
commitd60430da5d407db137c8ec0b73cc31cbf29837c3 (patch)
treea1e188bb4265720f3dbfc3db4cd6e5cc7bf44895
parent188df36f1b746b9864250bea82a5dd7704cbf4ac (diff)
Handle the expected case where conversion fails and returns nil.
-rw-r--r--lib/attachment_to_html/adapters/pdf.rb3
-rw-r--r--spec/lib/attachment_to_html/adapters/pdf_spec.rb5
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/attachment_to_html/adapters/pdf.rb b/lib/attachment_to_html/adapters/pdf.rb
index 3183d1fd0..3c18e9d4a 100644
--- a/lib/attachment_to_html/adapters/pdf.rb
+++ b/lib/attachment_to_html/adapters/pdf.rb
@@ -42,7 +42,8 @@ module AttachmentToHTML
private
def parse_body
- match = convert.match(/<body[^>]*>(.*?)<\/body>/mi)
+ conversion = convert
+ match = conversion ? conversion.match(/<body[^>]*>(.*?)<\/body>/mi) : nil
match ? match[1] : ''
end
diff --git a/spec/lib/attachment_to_html/adapters/pdf_spec.rb b/spec/lib/attachment_to_html/adapters/pdf_spec.rb
index f1ae4695c..ceb438be8 100644
--- a/spec/lib/attachment_to_html/adapters/pdf_spec.rb
+++ b/spec/lib/attachment_to_html/adapters/pdf_spec.rb
@@ -71,6 +71,11 @@ describe AttachmentToHTML::Adapters::PDF do
adapter.success?.should be_false
end
+ it 'is not successful if convert returns nil' do
+ adapter.stub(:convert).and_return(nil)
+ adapter.success?.should be_false
+ end
+
it 'is not successful if the body contains more than 50 images' do
# Sometimes pdftohtml extracts images incorrectly, resulting
# in thousands of PNGs being created for one image. This creates