From 24ebf2c2f6e2a61413e548a0d45a40a4c848bfd4 Mon Sep 17 00:00:00 2001 From: Daniel Fancsali Date: Mon, 7 Oct 2019 23:56:09 +0200 Subject: [PATCH] Add tests --- .../content/article_with_typogrify_dashes.md | 3 + .../content/article_with_typogrify_dashes.rst | 4 ++ pelican/tests/test_readers.py | 68 +++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 pelican/tests/content/article_with_typogrify_dashes.md create mode 100644 pelican/tests/content/article_with_typogrify_dashes.rst diff --git a/pelican/tests/content/article_with_typogrify_dashes.md b/pelican/tests/content/article_with_typogrify_dashes.md new file mode 100644 index 00000000..2914b2df --- /dev/null +++ b/pelican/tests/content/article_with_typogrify_dashes.md @@ -0,0 +1,3 @@ +Title: One -, two --, three --- dashes! + +One: -; Two: --; Three: --- diff --git a/pelican/tests/content/article_with_typogrify_dashes.rst b/pelican/tests/content/article_with_typogrify_dashes.rst new file mode 100644 index 00000000..90064c5d --- /dev/null +++ b/pelican/tests/content/article_with_typogrify_dashes.rst @@ -0,0 +1,4 @@ +One -, two --, three --- dashes! +################################ + +One: -; Two: --; Three: --- diff --git a/pelican/tests/test_readers.py b/pelican/tests/test_readers.py index b35a511e..db629eb7 100644 --- a/pelican/tests/test_readers.py +++ b/pelican/tests/test_readers.py @@ -416,6 +416,40 @@ class RstReaderTest(ReaderTest): with six.assertRaisesRegex(self, Exception, "underline too short"): self.read_file(path='../parse_error/parse_error.rst') + def test_typogrify_dashes_config(self): + # Test default config + page = self.read_file( + path = 'article_with_typogrify_dashes.rst', + TYPOGRIFY = True, + TYPOGRIFY_DASHES = 'default') + expected = "

One: -; Two: —; Three: —-

\n" + expected_title = "One -, two —, three —- dashes!" + + self.assertEqual(page.content, expected) + self.assertEqual(page.title, expected_title) + + # Test 'oldschool' variant + page = self.read_file( + path = 'article_with_typogrify_dashes.rst', + TYPOGRIFY = True, + TYPOGRIFY_DASHES = 'oldschool') + expected = "

One: -; Two: –; Three: —

\n" + expected_title = "One -, two –, three — dashes!" + + self.assertEqual(page.content, expected) + self.assertEqual(page.title, expected_title) + + # Test 'oldschool_inverted' variant + page = self.read_file( + path = 'article_with_typogrify_dashes.rst', + TYPOGRIFY = True, + TYPOGRIFY_DASHES = 'oldschool_inverted') + expected = "

One: -; Two: —; Three: –

\n" + expected_title = "One -, two —, three – dashes!" + + self.assertEqual(page.content, expected) + self.assertEqual(page.title, expected_title) + @unittest.skipUnless(readers.Markdown, "markdown isn't installed") class MdReaderTest(ReaderTest): @@ -631,6 +665,40 @@ class MdReaderTest(ReaderTest): self.assertEqual(metadata, {}) self.assertEqual(content, '') + def test_typogrify_dashes_config(self): + # Test default config + page = self.read_file( + path = 'article_with_typogrify_dashes.md', + TYPOGRIFY = True, + TYPOGRIFY_DASHES = 'default') + expected = "

One: -; Two: —; Three: —-

" + expected_title = "One -, two —, three —- dashes!" + + self.assertEqual(page.content, expected) + self.assertEqual(page.title, expected_title) + + # Test 'oldschool' variant + page = self.read_file( + path = 'article_with_typogrify_dashes.md', + TYPOGRIFY = True, + TYPOGRIFY_DASHES = 'oldschool') + expected = "

One: -; Two: –; Three: —

" + expected_title = "One -, two –, three — dashes!" + + self.assertEqual(page.content, expected) + self.assertEqual(page.title, expected_title) + + # Test 'oldschool_inverted' variant + page = self.read_file( + path = 'article_with_typogrify_dashes.md', + TYPOGRIFY = True, + TYPOGRIFY_DASHES = 'oldschool_inverted') + expected = "

One: -; Two: —; Three: –

" + expected_title = "One -, two —, three – dashes!" + + self.assertEqual(page.content, expected) + self.assertEqual(page.title, expected_title) + class HTMLReaderTest(ReaderTest): def test_article_with_comments(self):