Beispiel #1
0
    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)
Beispiel #2
0
    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
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
    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)
Beispiel #6
0
    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)
Beispiel #7
0
    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)
Beispiel #8
0
    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
Beispiel #9
0
    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)