class DocTestCase(ReSTExtensionTestCase): """ Ref role test case """ sample = 'Sample for testing my :doc:`doesnt-exist-post`' sample1 = 'Sample for testing my :doc:`fake-post`' sample2 = 'Sample for testing my :doc:`titled post <fake-post>`' def setUp(self): # Initialize plugin, register role self.plugin = DocPlugin() self.plugin.set_site(FakeSite()) # Hack to fix leaked state from integration tests try: f = docutils.parsers.rst.roles.role('doc', None, None, None)[0] f.site = FakeSite() except AttributeError: pass return super(DocTestCase, self).setUp() def test_doc_doesnt_exist(self): self.assertRaises(Exception, self.assertHTMLContains, 'anything', {}) def test_doc(self): self.setHtmlFromRst(self.sample1) self.assertHTMLContains('a', text='Fake post', attributes={'href': '/posts/fake-post'}) def test_doc_titled(self): self.setHtmlFromRst(self.sample2) self.assertHTMLContains('a', text='titled post', attributes={'href': '/posts/fake-post'})
def setUp(self): # Initialize plugin, register role self.plugin = DocPlugin() self.plugin.set_site(FakeSite()) # Hack to fix leaked state from integration tests try: f = docutils.parsers.rst.roles.role('doc', None, None, None)[0] f.site = FakeSite() except AttributeError: pass return super(DocTestCase, self).setUp()