import unittest import main class TestOrgParser(unittest.TestCase): def setUp(self): self.known_paths = {"note1.org", "note2.org"} self.id_to_path = {"id-123": "note1.org"} self.path_to_slug = {"note1.org": "id-123", "note2.org": "note2.org"} def render(self, content, show_webhook=False): return main.render_org_to_html( content=content, source_relative_path="source.org", known_paths=self.known_paths, id_to_path=self.id_to_path, path_to_slug=self.path_to_slug, show_webhook=show_webhook, ) def test_external_links(self): content = "See [[https://hungryroot.atlassian.net/browse/BE-7924][BE-7924]] for details." rendered = self.render(content) self.assertIn("BE-7924", rendered) def test_internal_links(self): content = "Check [[note1.org][Note 1]] or [[id:id-123][Note 1 ID]]." rendered = self.render(content) self.assertIn("Note 1", rendered) self.assertIn("Note 1 ID", rendered) def test_inline_formatting(self): content = "Added flat replacements (=author_id=, ~python~, *always present*, /italic text/, _underlined_, +deleted+)." rendered = self.render(content) self.assertIn("author_id", rendered) self.assertIn("python", rendered) self.assertIn("always present", rendered) self.assertIn("italic text", rendered) self.assertIn("underlined", rendered) self.assertIn("deleted", rendered) def test_code_blocks(self): content = "#+begin_src python\ndef hello():\n return 'world'\n#+end_src" rendered = self.render(content) self.assertIn("
def hello():\n    return 'world'
", rendered) def test_tables(self): content = ( "| Field | List default |\n" "|-------+--------------|\n" "| =author= | present |\n" ) rendered = self.render(content) self.assertIn("", rendered) self.assertIn("", rendered) self.assertIn("", rendered) def test_lists(self): content = "- =GET /api/v3/cookbooks/=\n- =GET /api/v3/cookbooks//=" rendered = self.render(content) self.assertIn("
FieldList default
authorpresent