def test_called_with_preview_content_and_article_dont_have_current_revision( self): article = Article.objects.create() content = '''This is a normal paragraph: This is a code block. <a>This should be escaped</a> ''' # monkey patch from wiki.core.plugins import registry registry._cache = {'spam': 'eggs'} output = wiki_render({}, article, preview_content=content) assertCountEqual(self, self.keys, output) self.assertEqual(output['article'], article) self.assertMultiLineEqual(output['content'], '') self.assertEqual(output['preview'], True) self.assertEqual(output['plugins'], {'spam': 'eggs'}) self.assertEqual(output['STATIC_URL'], django_settings.STATIC_URL) self.assertEqual(output['CACHE_TIMEOUT'], settings.CACHE_TIMEOUT) self.render({'article': article, 'pc': content})
def test_called_with_preview_content_and_article_have_current_revision( self): article = Article.objects.create() ArticleRevision.objects.create(article=article, title="Test title", content="Some beauty test text") content = ("""This is a normal paragraph\n""" """\n""" """Headline\n""" """========\n""") expected_markdown = ("""<p>This is a normal paragraph</p>\n""" """<h1 id="wiki-toc-headline">Headline</h1>""") # monkey patch from wiki.core.plugins import registry registry._cache = {'spam': 'eggs'} output = wiki_render({}, article, preview_content=content) assertCountEqual(self, self.keys, output) self.assertEqual(output['article'], article) self.assertMultiLineEqual(output['content'], expected_markdown) self.assertEqual(output['preview'], True) self.assertEqual(output['plugins'], {'spam': 'eggs'}) self.assertEqual(output['STATIC_URL'], django_settings.STATIC_URL) self.assertEqual(output['CACHE_TIMEOUT'], settings.CACHE_TIMEOUT) output = self.render({'article': article, 'pc': content}) self.assertIn(expected_markdown, output)
def test_called_with_preview_content_and_article_dont_have_current_revision( self): article = Article.objects.create() content = ("""This is a normal paragraph\n""" """\n""" """Headline\n""" """========\n""") # monkey patch from wiki.core.plugins import registry registry._cache = {"spam": "eggs"} output = wiki_render({}, article, preview_content=content) self.assertCountEqual(self.keys, output) self.assertEqual(output["article"], article) self.assertMultiLineEqual(output["content"], "") self.assertIs(output["preview"], True) self.assertEqual(output["plugins"], {"spam": "eggs"}) self.assertEqual(output["STATIC_URL"], django_settings.STATIC_URL) self.assertEqual(output["CACHE_TIMEOUT"], settings.CACHE_TIMEOUT) self.render({"article": article, "pc": content})
def test_called_with_preview_content_and_article_have_current_revision( self): article = Article.objects.create() ArticleRevision.objects.create(article=article, title="Test title", content="Some beauty test text") content = ("""This is a normal paragraph\n""" """\n""" """Headline\n""" """========\n""") expected = ("""(?s).*<p>This is a normal paragraph</p>\n""" """<h1 id="wiki-toc-headline">Headline""" """.*</h1>.*""") # monkey patch from wiki.core.plugins import registry registry._cache = {"spam": "eggs"} output = wiki_render({}, article, preview_content=content) self.assertCountEqual(self.keys, output) self.assertEqual(output["article"], article) self.assertRegexpMatches(output["content"], expected) self.assertIs(output["preview"], True) self.assertEqual(output["plugins"], {"spam": "eggs"}) self.assertEqual(output["STATIC_URL"], django_settings.STATIC_URL) self.assertEqual(output["CACHE_TIMEOUT"], settings.CACHE_TIMEOUT) output = self.render({"article": article, "pc": content}) self.assertRegexpMatches(output, expected)
def test_called_with_preview_content_and_article_have_current_revision( self): article = Article.objects.create() ArticleRevision.objects.create( article=article, title="Test title", content="Some beauty test text" ) content = '''This is a normal paragraph: This is a code block. <a>This should be escaped</a> ''' example = ( """<p>This is a normal paragraph:</p>\n""" """<pre class="codehilite"><code> This is a code block.\n""" """\n""" """ <a>This should be escaped</a></code></pre>""" ) example_with_pygments = ( """<p>This is a normal paragraph:</p>\n""" """<div class="codehilite"><pre> This is a code block.\n""" """\n""" """ <span class="nt"><a></span>This should be escaped<span class="nt"></a></span>\n""" """</pre></div>""" ) # monkey patch from wiki.core.plugins import registry registry._cache = {'spam': 'eggs'} output = wiki_render({}, article, preview_content=content) assertCountEqual(self, self.keys, output) self.assertEqual(output['article'], article) try: self.assertMultiLineEqual(output['content'], example) except AssertionError: self.assertMultiLineEqual(output['content'], example_with_pygments) self.assertEqual(output['preview'], True) self.assertEqual(output['plugins'], {'spam': 'eggs'}) self.assertEqual(output['STATIC_URL'], django_settings.STATIC_URL) self.assertEqual(output['CACHE_TIMEOUT'], settings.CACHE_TIMEOUT) output = self.render({'article': article, 'pc': content}) try: self.assertIn(example, output) except AssertionError: self.assertIn(example_with_pygments, output)
def test_called_with_preview_content_and_article_have_current_revision( self): article = Article.objects.create() ArticleRevision.objects.create(article=article, title="Test title", content="Some beauty test text") content = '''This is a normal paragraph: This is a code block. <a>This should be escaped</a> ''' example = ( """<p>This is a normal paragraph:</p>\n""" """<div class="codehilite-wrap"><pre class="codehilite"><code> This is a code block.\n""" """\n""" """ <a>This should be escaped</a></code></pre>\n""" """</div>""") example_with_pygments = ( """<p>This is a normal paragraph:</p>\n""" """<div class="codehilite-wrap"><div class="codehilite"><pre><span></span> This is a code block.\n""" """\n""" """ <span class="nt"><a></span>This should be escaped<span class="nt"></a></span>\n""" """</pre></div>\n""" """</div>""") # monkey patch from wiki.core.plugins import registry registry._cache = {'spam': 'eggs'} output = wiki_render({}, article, preview_content=content) assertCountEqual(self, self.keys, output) self.assertEqual(output['article'], article) try: self.assertMultiLineEqual(output['content'], example) except (AssertionError, self.failureException): print(output['content']) self.assertMultiLineEqual(output['content'], example_with_pygments) self.assertEqual(output['preview'], True) self.assertEqual(output['plugins'], {'spam': 'eggs'}) self.assertEqual(output['STATIC_URL'], django_settings.STATIC_URL) self.assertEqual(output['CACHE_TIMEOUT'], settings.CACHE_TIMEOUT) output = self.render({'article': article, 'pc': content}) try: self.assertIn(example, output) except self.failureException: self.assertIn(example_with_pygments, output)
def test_if_preview_content_is_none(self): # monkey patch from wiki.core.plugins import registry registry._cache = {'ham': 'spam'} article = Article.objects.create() output = wiki_render({}, article) assertCountEqual(self, self.keys, output) self.assertEqual(output['article'], article) self.assertEqual(output['content'], None) self.assertEqual(output['preview'], False) self.assertEqual(output['plugins'], {'ham': 'spam'}) self.assertEqual(output['STATIC_URL'], django_settings.STATIC_URL) self.assertEqual(output['CACHE_TIMEOUT'], settings.CACHE_TIMEOUT) # Additional check self.render({'article': article, 'pc': None})
def test_if_preview_content_is_none(self): # monkey patch from wiki.core.plugins import registry registry._cache = {"ham": "spam"} article = Article.objects.create() output = wiki_render({}, article) self.assertCountEqual(self.keys, output) self.assertEqual(output["article"], article) self.assertIsNone(output["content"]) self.assertIs(output["preview"], False) self.assertEqual(output["plugins"], {"ham": "spam"}) self.assertEqual(output["STATIC_URL"], django_settings.STATIC_URL) self.assertEqual(output["CACHE_TIMEOUT"], settings.CACHE_TIMEOUT) # Additional check self.render({"article": article, "pc": None})
def test_called_with_preview_content_and_article_have_current_revision( self): article = Article.objects.create() ArticleRevision.objects.create( article=article, title="Test title", content="Some beauty test text" ) content = ( """This is a normal paragraph\n""" """\n""" """Headline\n""" """========\n""" ) expected_markdown = ( """<p>This is a normal paragraph</p>\n""" """<h1 id="wiki-toc-headline">Headline</h1>""" ) # monkey patch from wiki.core.plugins import registry registry._cache = {'spam': 'eggs'} output = wiki_render({}, article, preview_content=content) assertCountEqual(self, self.keys, output) self.assertEqual(output['article'], article) self.assertMultiLineEqual(output['content'], expected_markdown) self.assertEqual(output['preview'], True) self.assertEqual(output['plugins'], {'spam': 'eggs'}) self.assertEqual(output['STATIC_URL'], django_settings.STATIC_URL) self.assertEqual(output['CACHE_TIMEOUT'], settings.CACHE_TIMEOUT) output = self.render({'article': article, 'pc': content}) self.assertIn(expected_markdown, output)