def test_convert_internal_asbolute_media(self): """Test absolute image URL's are correct for different base_urls""" pages = [("index.md",), ("internal.md",), ("sub/internal.md")] site_navigation = nav.SiteNavigation(pages) expected_results = ("./img/initial-layout.png", "../img/initial-layout.png", "../../img/initial-layout.png") template = '<p><img alt="The initial MkDocs layout" src="%s" /></p>' for (page, expected) in zip(site_navigation.walk_pages(), expected_results): md_text = "![The initial MkDocs layout](/img/initial-layout.png)" html, _, _ = build.convert_markdown(md_text, site_navigation=site_navigation) self.assertEqual(html, template % expected)
def test_theme(self): base_config = dedent(""" site_name: Example pages: - ['index.md', 'Introduction'] %s """) configs = [ "site_name: Example", # default theme "theme: readthedocs", # builtin theme "theme_dir: mytheme", # custom only "theme: cosmo\ntheme_dir: custom" # builtin and custom ] abs_path = os.path.abspath(os.path.dirname(__file__)) theme_dir = os.path.abspath(os.path.join(abs_path, '..', 'themes')) results = ( [ os.path.join(theme_dir, 'mkdocs'), ], [ os.path.join(theme_dir, 'readthedocs'), ], [ 'mytheme', ], [ 'custom', os.path.join(theme_dir, 'cosmo'), ], ) for config_contents, expected_result in zip(configs, results): try: config_file = tempfile.NamedTemporaryFile('w', delete=False) config_file.write(ensure_utf(base_config % config_contents)) config_file.flush() options = {'config': config_file.name} result = config.load_config(options=options) self.assertEqual(result['theme_dir'], expected_result) finally: try: config_file.close() os.remove(config_file.name) except: # This failed on Windows for some reason? pass
def test_convert_internal_media(self): pages = [('index.md', ), ('internal.md', ), ('sub/internal.md')] site_navigation = nav.SiteNavigation(pages) expected_results = ( '<p><img alt="The initial MkDocs layout" src="./img/initial-layout.png" /></p>', '<p><img alt="The initial MkDocs layout" src="../img/initial-layout.png" /></p>', '<p><img alt="The initial MkDocs layout" src="../../img/initial-layout.png" /></p>', ) for (page, expected) in zip(site_navigation.walk_pages(), expected_results): html = '<p><img alt="The initial MkDocs layout" src="img/initial-layout.png" /></p>' html = build.post_process_html(html, site_navigation) self.assertEqual(html, expected)
def test_convert_internal_media(self): pages = [('index.md', ), ('internal.md', ), ('sub/internal.md')] site_navigation = nav.SiteNavigation(pages) expected_results = ( '<p><img alt="The initial MkDocs layout" src="./img/initial-layout.png" /></p>\n', '<p><img alt="The initial MkDocs layout" src="../img/initial-layout.png" /></p>\n', '<p><img alt="The initial MkDocs layout" src="../../img/initial-layout.png" /></p>\n', ) for (page, expected) in zip(site_navigation.walk_pages(), expected_results): md_text = '![The initial MkDocs layout](img/initial-layout.png)' html, _, _ = build.convert_markdown( md_text, site_navigation=site_navigation) self.assertEqual(html, expected)
def test_convert_internal_media(self): pages = [ ('index.md',), ('internal.md',), ('sub/internal.md') ] site_navigation = nav.SiteNavigation(pages) expected_results = ( '<p><img alt="The initial MkDocs layout" src="./img/initial-layout.png" /></p>', '<p><img alt="The initial MkDocs layout" src="../img/initial-layout.png" /></p>', '<p><img alt="The initial MkDocs layout" src="../../img/initial-layout.png" /></p>', ) for (page, expected) in zip(site_navigation.walk_pages(), expected_results): html = '<p><img alt="The initial MkDocs layout" src="img/initial-layout.png" /></p>' html = build.post_process_html(html, site_navigation) self.assertEqual(html, expected)
def test_convert_internal_media(self): pages = [ ('index.md',), ('internal.md',), ('sub/internal.md') ] site_navigation = nav.SiteNavigation(pages) expected_results = ( '<p><img alt="The initial MkDocs layout" src="./img/initial-layout.png" /></p>\n', '<p><img alt="The initial MkDocs layout" src="../img/initial-layout.png" /></p>\n', '<p><img alt="The initial MkDocs layout" src="../../img/initial-layout.png" /></p>\n', ) for (page, expected) in zip(site_navigation.walk_pages(), expected_results): md_text = '![The initial MkDocs layout](img/initial-layout.png)' html, _, _ = build.convert_markdown(md_text, site_navigation=site_navigation) self.assertEqual(html, expected)
def test_convert_internal_asbolute_media(self): """Test absolute image URL's are correct for different base_urls""" pages = [('index.md', ), ('internal.md', ), ('sub/internal.md')] site_navigation = nav.SiteNavigation(pages) expected_results = ( './img/initial-layout.png', '../img/initial-layout.png', '../../img/initial-layout.png', ) template = '<p><img alt="The initial MkDocs layout" src="%s" /></p>\n' for (page, expected) in zip(site_navigation.walk_pages(), expected_results): md_text = '![The initial MkDocs layout](/img/initial-layout.png)' html, _, _ = build.convert_markdown( md_text, site_navigation=site_navigation) self.assertEqual(html, template % expected)
def test_theme(self): base_config = dedent(""" site_name: Example pages: - ['index.md', 'Introduction'] %s """) configs = [ "site_name: Example", # default theme "theme: readthedocs", # builtin theme "theme_dir: mytheme", # custom only "theme: cosmo\ntheme_dir: custom" # builtin and custom ] abs_path = os.path.abspath(os.path.dirname(__file__)) theme_dir = os.path.abspath(os.path.join(abs_path, '..', 'themes')) results = ( [os.path.join(theme_dir, 'mkdocs'), ], [os.path.join(theme_dir, 'readthedocs'), ], ['mytheme', ], ['custom', os.path.join(theme_dir, 'cosmo'), ], ) for config_contents, expected_result in zip(configs, results): try: config_file = tempfile.NamedTemporaryFile('w', delete=False) config_file.write(ensure_utf(base_config % config_contents)) config_file.flush() options = {'config': config_file.name} result = config.load_config(options=options) self.assertEqual(result['theme_dir'], expected_result) finally: try: config_file.close() os.remove(config_file.name) except: # This failed on Windows for some reason? pass
def test_convert_internal_media(self): """Test relative image URL's are the same for different base_urls""" pages = [ ('index.md',), ('internal.md',), ('sub/internal.md') ] site_navigation = nav.SiteNavigation(pages) expected_results = ( './img/initial-layout.png', '../img/initial-layout.png', '../img/initial-layout.png', ) template = '<p><img alt="The initial MkDocs layout" src="%s" /></p>' for (page, expected) in zip(site_navigation.walk_pages(), expected_results): md_text = '![The initial MkDocs layout](img/initial-layout.png)' html, _, _ = build.convert_markdown(md_text, site_navigation=site_navigation) self.assertEqual(html, template % expected)