diff --git a/lib/ferrum_pdf/html_preprocessor.rb b/lib/ferrum_pdf/html_preprocessor.rb index 8f69f38..ce9ea84 100644 --- a/lib/ferrum_pdf/html_preprocessor.rb +++ b/lib/ferrum_pdf/html_preprocessor.rb @@ -9,6 +9,8 @@ module HTMLPreprocessor # process("Some HTML", "https://example.org") # def self.process(html, base_url) + return html if base_url.blank? + base_url += "/" unless base_url.end_with? "/" protocol = base_url.split("://").first html = translate_relative_paths(html, base_url) if base_url diff --git a/test/html_preprocessing_test.rb b/test/html_preprocessing_test.rb index 34f116e..06be7f0 100644 --- a/test/html_preprocessing_test.rb +++ b/test/html_preprocessing_test.rb @@ -5,6 +5,11 @@ class HtmlPreProcessingTest< ActiveSupport::TestCase assert_equal "

Hello

", FerrumPdf::HTMLPreprocessor.process("

Hello

", "https://example.org") end + test "does not raise error when url absent" do + assert_equal "PDF", FerrumPdf::HTMLPreprocessor.process("PDF", nil) + assert_equal "PDF", FerrumPdf::HTMLPreprocessor.process("PDF", "") + end + test "replaces relative paths" do assert_equal "PDF", FerrumPdf::HTMLPreprocessor.process("PDF", "http://example.org") assert_equal "PDF", FerrumPdf::HTMLPreprocessor.process("PDF", "https://example.com")