Exemplo n.º 1
0
    def test_convert(self):

        self.maxDiff = None

        pages_yaml_old = """
        pages:
        - ['index.md', 'Home']
        - ['user-guide/writing-your-docs.md', 'User Guide']
        - ['user-guide/styling-your-docs.md', 'User Guide']
        - ['about/license.md', 'About', 'License']
        - ['about/release-notes.md', 'About']
        - ['about/contributing.md', 'About', 'Contributing']
        - ['help/contributing.md', 'Help', 'Contributing']
        - ['support.md']
        - ['cli.md', 'CLI Guide']
        """

        pages_yaml_new = """
        pages:
        - Home: index.md
        - User Guide:
            - user-guide/writing-your-docs.md
            - user-guide/styling-your-docs.md
        - About:
            - License: about/license.md
            - about/release-notes.md
            - Contributing: about/contributing.md
        - Help:
            - Contributing: help/contributing.md
        - support.md
        - CLI Guide: cli.md
        """
        self.assertEqual(
            legacy.pages_compat_shim(yaml.load(pages_yaml_old)['pages']),
            yaml.load(pages_yaml_new)['pages'])
Exemplo n.º 2
0
    def run_validation(self, value):

        if not isinstance(value, list):
            raise ValidationError("Expected a list, got {0}".format(
                type(value)))

        if len(value) == 0:
            return

        # TODO: Remove in 1.0
        config_types = set(type(l) for l in value)

        if config_types.issubset(set([
                str,
                OrderedDict,
        ])):
            return value

        if config_types.issubset(set([
                str,
                list,
        ])):
            return legacy.pages_compat_shim(value)

        raise ValidationError("Invalid pages config.")
Exemplo n.º 3
0
    def test_convert(self):

        self.maxDiff = None

        pages_yaml_old = """
        pages:
        - ['index.md', 'Home']
        - ['user-guide/writing-your-docs.md', 'User Guide']
        - ['user-guide/styling-your-docs.md', 'User Guide']
        - ['about/license.md', 'About', 'License']
        - ['about/release-notes.md', 'About']
        - ['about/contributing.md', 'About', 'Contributing']
        - ['help/contributing.md', 'Help', 'Contributing']
        - ['support.md']
        - ['cli.md', 'CLI Guide']
        """

        pages_yaml_new = """
        pages:
        - Home: index.md
        - User Guide:
            - user-guide/writing-your-docs.md
            - user-guide/styling-your-docs.md
        - About:
            - License: about/license.md
            - about/release-notes.md
            - Contributing: about/contributing.md
        - Help:
            - Contributing: help/contributing.md
        - support.md
        - CLI Guide: cli.md
        """
        self.assertEqual(
            legacy.pages_compat_shim(utils.yaml_load(pages_yaml_old)['pages']),
            utils.yaml_load(pages_yaml_new)['pages'])
Exemplo n.º 4
0
 def test_walk_simple_toc(self):
     pages = legacy.pages_compat_shim([('index.md', 'Home'),
                                       ('about.md', 'About')])
     expected = [
         dedent("""
             Home - / [*]
             About - /about/
         """),
         dedent("""
             Home - /
             About - /about/ [*]
         """)
     ]
     site_navigation = nav.SiteNavigation(pages)
     for index, page in enumerate(site_navigation.walk_pages()):
         self.assertEqual(str(site_navigation).strip(), expected[index])
Exemplo n.º 5
0
 def test_walk_simple_toc(self):
     pages = legacy.pages_compat_shim([
         ('index.md', 'Home'),
         ('about.md', 'About')
     ])
     expected = [
         dedent("""
             Home - / [*]
             About - /about/
         """),
         dedent("""
             Home - /
             About - /about/ [*]
         """)
     ]
     site_navigation = nav.SiteNavigation(pages)
     for index, page in enumerate(site_navigation.walk_pages()):
         self.assertEqual(str(site_navigation).strip(), expected[index])
Exemplo n.º 6
0
    def test_convert_no_home(self):

        self.maxDiff = None

        pages_yaml_old = """
        pages:
        - ['index.md']
        - ['about.md', 'About']
        """

        pages_yaml_new = """
        pages:
        - index.md
        - About: about.md
        """
        self.assertEqual(
            legacy.pages_compat_shim(yaml.load(pages_yaml_old)['pages']),
            yaml.load(pages_yaml_new)['pages'])
Exemplo n.º 7
0
    def test_convert_no_home(self):

        self.maxDiff = None

        pages_yaml_old = """
        pages:
        - ['index.md']
        - ['about.md', 'About']
        """

        pages_yaml_new = """
        pages:
        - index.md
        - About: about.md
        """
        self.assertEqual(
            legacy.pages_compat_shim(utils.yaml_load(pages_yaml_old)['pages']),
            utils.yaml_load(pages_yaml_new)['pages'])
Exemplo n.º 8
0
    def run_validation(self, value):

        if not isinstance(value, list):
            raise ValidationError(
                "Expected a list, got {0}".format(type(value)))

        if len(value) == 0:
            return

        # TODO: Remove in 1.0
        config_types = set(type(l) for l in value)

        if config_types.issubset(set([str, dict, ])):
            return value

        if config_types.issubset(set([str, list, ])):
            return legacy.pages_compat_shim(value)

        raise ValidationError("Invalid pages config.")
Exemplo n.º 9
0
    def run_validation(self, value):

        if not isinstance(value, list):
            raise ValidationError(
                "Expected a list, got {0}".format(type(value)))

        if len(value) == 0:
            return

        # TODO: Remove in 1.0
        config_types = set(type(l) for l in value)

        if config_types.issubset({utils.text_type, dict, str}):
            return value

        if config_types.issubset({utils.text_type, list, str}):
            return legacy.pages_compat_shim(value)

        raise ValidationError("Invalid pages config. {0} {1}".format(
            config_types,
            {utils.text_type, dict}
        ))
Exemplo n.º 10
0
 def test_indented_toc_missing_child_title(self):
     pages = legacy.pages_compat_shim([
         ('index.md', 'Home'),
         ('api-guide/running.md', 'API Guide', 'Running'),
         ('api-guide/testing.md', 'API Guide'),
         ('api-guide/debugging.md', 'API Guide', 'Debugging'),
         ('about/release-notes.md', 'About', 'Release notes'),
         ('about/license.md', 'About', 'License')
     ])
     expected = dedent("""
     Home - /
     API Guide
         Running - /api-guide/running/
         Testing - /api-guide/testing/
         Debugging - /api-guide/debugging/
     About
         Release notes - /about/release-notes/
         License - /about/license/
     """)
     site_navigation = nav.SiteNavigation(pages)
     self.assertEqual(str(site_navigation).strip(), expected)
     self.assertEqual(len(site_navigation.nav_items), 3)
     self.assertEqual(len(site_navigation.pages), 6)
Exemplo n.º 11
0
 def test_indented_toc_missing_child_title(self):
     pages = legacy.pages_compat_shim([
         ('index.md', 'Home'),
         ('api-guide/running.md', 'API Guide', 'Running'),
         ('api-guide/testing.md', 'API Guide'),
         ('api-guide/debugging.md', 'API Guide', 'Debugging'),
         ('about/release-notes.md', 'About', 'Release notes'),
         ('about/license.md', 'About', 'License')
     ])
     expected = dedent("""
     Home - /
     API Guide
         Running - /api-guide/running/
         Testing - /api-guide/testing/
         Debugging - /api-guide/debugging/
     About
         Release notes - /about/release-notes/
         License - /about/license/
     """)
     site_navigation = nav.SiteNavigation(pages)
     self.assertEqual(str(site_navigation).strip(), expected)
     self.assertEqual(len(site_navigation.nav_items), 3)
     self.assertEqual(len(site_navigation.pages), 6)
Exemplo n.º 12
0
 def test_walk_indented_toc(self):
     pages = legacy.pages_compat_shim([
         ('index.md', 'Home'),
         ('api-guide/running.md', 'API Guide', 'Running'),
         ('api-guide/testing.md', 'API Guide', 'Testing'),
         ('api-guide/debugging.md', 'API Guide', 'Debugging'),
         ('about/release-notes.md', 'About', 'Release notes'),
         ('about/license.md', 'About', 'License')
     ])
     expected = [
         dedent("""
             Home - / [*]
             API Guide
                 Running - /api-guide/running/
                 Testing - /api-guide/testing/
                 Debugging - /api-guide/debugging/
             About
                 Release notes - /about/release-notes/
                 License - /about/license/
         """),
         dedent("""
             Home - /
             API Guide [*]
                 Running - /api-guide/running/ [*]
                 Testing - /api-guide/testing/
                 Debugging - /api-guide/debugging/
             About
                 Release notes - /about/release-notes/
                 License - /about/license/
         """),
         dedent("""
             Home - /
             API Guide [*]
                 Running - /api-guide/running/
                 Testing - /api-guide/testing/ [*]
                 Debugging - /api-guide/debugging/
             About
                 Release notes - /about/release-notes/
                 License - /about/license/
         """),
         dedent("""
             Home - /
             API Guide [*]
                 Running - /api-guide/running/
                 Testing - /api-guide/testing/
                 Debugging - /api-guide/debugging/ [*]
             About
                 Release notes - /about/release-notes/
                 License - /about/license/
         """),
         dedent("""
             Home - /
             API Guide
                 Running - /api-guide/running/
                 Testing - /api-guide/testing/
                 Debugging - /api-guide/debugging/
             About [*]
                 Release notes - /about/release-notes/ [*]
                 License - /about/license/
         """),
         dedent("""
             Home - /
             API Guide
                 Running - /api-guide/running/
                 Testing - /api-guide/testing/
                 Debugging - /api-guide/debugging/
             About [*]
                 Release notes - /about/release-notes/
                 License - /about/license/ [*]
         """)
     ]
     site_navigation = nav.SiteNavigation(pages)
     for index, page in enumerate(site_navigation.walk_pages()):
         self.assertEqual(str(site_navigation).strip(), expected[index])
Exemplo n.º 13
0
 def test_walk_indented_toc(self):
     pages = legacy.pages_compat_shim([
         ('index.md', 'Home'),
         ('api-guide/running.md', 'API Guide', 'Running'),
         ('api-guide/testing.md', 'API Guide', 'Testing'),
         ('api-guide/debugging.md', 'API Guide', 'Debugging'),
         ('about/release-notes.md', 'About', 'Release notes'),
         ('about/license.md', 'About', 'License')
     ])
     expected = [
         dedent("""
             Home - / [*]
             API Guide
                 Running - /api-guide/running/
                 Testing - /api-guide/testing/
                 Debugging - /api-guide/debugging/
             About
                 Release notes - /about/release-notes/
                 License - /about/license/
         """),
         dedent("""
             Home - /
             API Guide [*]
                 Running - /api-guide/running/ [*]
                 Testing - /api-guide/testing/
                 Debugging - /api-guide/debugging/
             About
                 Release notes - /about/release-notes/
                 License - /about/license/
         """),
         dedent("""
             Home - /
             API Guide [*]
                 Running - /api-guide/running/
                 Testing - /api-guide/testing/ [*]
                 Debugging - /api-guide/debugging/
             About
                 Release notes - /about/release-notes/
                 License - /about/license/
         """),
         dedent("""
             Home - /
             API Guide [*]
                 Running - /api-guide/running/
                 Testing - /api-guide/testing/
                 Debugging - /api-guide/debugging/ [*]
             About
                 Release notes - /about/release-notes/
                 License - /about/license/
         """),
         dedent("""
             Home - /
             API Guide
                 Running - /api-guide/running/
                 Testing - /api-guide/testing/
                 Debugging - /api-guide/debugging/
             About [*]
                 Release notes - /about/release-notes/ [*]
                 License - /about/license/
         """),
         dedent("""
             Home - /
             API Guide
                 Running - /api-guide/running/
                 Testing - /api-guide/testing/
                 Debugging - /api-guide/debugging/
             About [*]
                 Release notes - /about/release-notes/
                 License - /about/license/ [*]
         """)
     ]
     site_navigation = nav.SiteNavigation(pages)
     for index, page in enumerate(site_navigation.walk_pages()):
         self.assertEqual(str(site_navigation).strip(), expected[index])