aboutsummaryrefslogtreecommitdiff
path: root/tests/test_html.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_html.py')
-rw-r--r--tests/test_html.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/test_html.py b/tests/test_html.py
new file mode 100644
index 0000000..41f6b83
--- /dev/null
+++ b/tests/test_html.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""Additional tests for the HTML provider
+
+This file is part of paper2remarkable.
+
+"""
+
+import os
+import pdfplumber
+import unittest
+
+from paper2remarkable.providers.html import HTML
+from paper2remarkable.providers.html import make_readable
+from paper2remarkable.utils import get_page_with_retry
+
+
+class TestHTML(unittest.TestCase):
+ def test_experimental_fix_lazy_loading(self):
+ url = "https://www.seriouseats.com/2015/01/tea-for-everyone.html"
+ prov = HTML(upload=False, experimental=True)
+ page = get_page_with_retry(url, return_text=True)
+ title, article = make_readable(page)
+ html_article = prov.preprocess_html(url, title, article)
+ expected_image = "https://www.seriouseats.com/images/2015/01/20150118-tea-max-falkowitz-3.jpg"
+ self.assertIn(expected_image, html_article)
+
+ def test_custom_css(self):
+ test_css = """
+ @page { size: 702px 936px; margin: 1in; }
+ img { display: block; margin: 0 auto; text-align: center; max-width: 70%; max-height: 300px; }
+ h1,h2,h3 { font-family: 'Montserrat'; }
+ p, li { font-size: 12pt; line-height: 2; font-family: 'Montserrat'; text-align: left; }
+ """
+
+ test_font_urls = [
+ "https://fonts.googleapis.com/css2?family=Montserrat&display=swap"
+ ]
+
+ url = "https://hbr.org/2019/11/getting-your-team-to-do-more-than-meet-deadlines"
+ prov = HTML(upload=False, css=test_css, font_urls=test_font_urls)
+ filename = prov.run(url)
+ with pdfplumber.open(filename) as pdf:
+ self.assertEqual(8, len(pdf.pages))
+
+ os.unlink(filename)
+
+
+if __name__ == "__main__":
+ unittest.main()