From 81b724cfec03634c0bcd88b1bccb5936872d04e2 Mon Sep 17 00:00:00 2001
From: Waylan Limberg <waylan.limberg@icloud.com>
Date: Thu, 28 Jan 2016 22:09:56 -0500
Subject: [PATCH] Enabled pygments based tests.

Added pygments to test-requirements and updated codehiliting tests to
only test partial output as output differs depending on Pygments version.
Fixes #453

https://github.com/waylan/Python-Markdown/issues/453

---
 test-requirements.txt    |  3 ++-
 tests/test_extensions.py | 47 ++++++++++++-----------------------------------
 2 files changed, 14 insertions(+), 36 deletions(-)

diff --git tests/test_extensions.py b/tests/test_extensions.py
index 38f0be3..72ce212 100644
--- tests/test_extensions.py
+++ tests/test_extensions.py
@@ -134,12 +134,7 @@ def testLinenumsFalse(self):
         md = markdown.Markdown(
             extensions=[markdown.extensions.codehilite.CodeHiliteExtension(linenums=False)])
         if self.has_pygments:
-            self.assertEqual(
-                md.convert(text),
-                '<div class="codehilite">'
-                '<pre><span class="c"># A Code Comment</span>\n'
-                '</pre></div>'
-            )
+            self.assertTrue(md.convert(text).startswith('<div class="codehilite"><pre><span'))
         else:
             self.assertEqual(
                 md.convert(text),
@@ -187,12 +182,7 @@ def testLinenumsNoneWithColon(self):
             extensions=[markdown.extensions.codehilite.CodeHiliteExtension(linenums=None)]
         )
         if self.has_pygments:
-            self.assertEqual(
-                md.convert(text),
-                '<div class="codehilite">'
-                '<pre><span class="c"># A Code Comment</span>\n'
-                '</pre></div>'
-            )
+            self.assertTrue(md.convert(text).startswith('<div class="codehilite"><pre><span'))
         else:
             self.assertEqual(
                 md.convert(text),
@@ -202,19 +192,16 @@ def testLinenumsNoneWithColon(self):
 
     def testHighlightLinesWithColon(self):
         # Test with hl_lines delimited by single or double quotes.
-        text0 = '\t:::Python hl_lines="2"\n\t#line 1\n\t#line 2\n\t#line 3'
-        text1 = "\t:::Python hl_lines='2'\n\t#line 1\n\t#line 2\n\t#line 3"
+        text0 = '\t:::Python hl_lines="1"\n\t#line 1\n\t#line 2\n\t#line 3'
+        text1 = "\t:::Python hl_lines='1'\n\t#line 1\n\t#line 2\n\t#line 3"
 
         for text in (text0, text1):
             md = markdown.Markdown(extensions=['markdown.extensions.codehilite'])
             if self.has_pygments:
-                self.assertEqual(
-                    md.convert(text),
-                    '<div class="codehilite"><pre>'
-                    '<span class="c">#line 1</span>\n'
-                    '<span class="hll"><span class="c">#line 2</span>\n</span>'
-                    '<span class="c">#line 3</span>\n'
-                    '</pre></div>'
+                self.assertTrue(
+                    md.convert(text).startswith(
+                        '<div class="codehilite"><pre><span class="hll"'
+                    )
                 )
             else:
                 self.assertEqual(
@@ -333,13 +320,8 @@ def testFencedCodeWithHighlightLines(self):
         )
 
         if self.has_pygments:
-            self.assertEqual(
-                md.convert(text),
-                '<div class="codehilite"><pre>'
-                '<span class="hll">line 1\n</span>'
-                'line 2\n'
-                '<span class="hll">line 3\n</span>'
-                '</pre></div>'
+            self.assertTrue(
+                md.convert(text).startswith('<div class="codehilite"><pre><span class="hll"')
             )
         else:
             self.assertEqual(
@@ -372,13 +354,8 @@ def testFencedLanguageAndHighlightLines(self):
                 ]
             )
             if self.has_pygments:
-                self.assertEqual(
-                    md.convert(text),
-                    '<div class="codehilite"><pre>'
-                    '<span class="hll"><span class="c">#line 1</span>\n</span>'
-                    '<span class="c">#line 2</span>\n'
-                    '<span class="hll"><span class="c">#line 3</span>\n</span>'
-                    '</pre></div>'
+                self.assertTrue(
+                    md.convert(text).startswith('<div class="codehilite"><pre><span class="hll"')
                 )
             else:
                 self.assertEqual(
