Ejemplo n.º 1
0
    def test_render_node_template_tagwith_current(self):
        node = menu.Node('test', 'Test', url='http://test.com')

        output = navutils_tags.render_node({'current_menu_item':'test'}, node=node, user=self.user)
        self.assertHTMLEqual(
            output,
            '<li class="menu-item current"><a href="http://test.com">Test</a></li>')
Ejemplo n.º 2
0
    def test_render_node_template_tag_with_children_and_current(self):
        child1 = menu.Node('c1', 'c1', url='c1')
        child2 = menu.Node('c2', 'c2', url='c2')
        child3 = menu.Node('c3', 'c3', url='c3')

        node = menu.Node('test',
                         'Test',
                         url='http://test.com',
                         children=[
                             child1,
                             child2,
                             child3,
                         ])

        output = navutils_tags.render_node({'current_menu_item': 'test:c3'},
                                           node=node,
                                           user=self.user)

        self.assertHTMLEqual(
            output, """
            <li class="menu-item has-children has-current has-dropdown">
                <a href="http://test.com">Test</a>
                <ul class="sub-menu dropdown">
                    <li class="menu-item"><a href="c1">c1</a></li>
                    <li class="menu-item"><a href="c2">c2</a></li>
                    <li class="menu-item current"><a href="c3">c3</a></li>
                </ul>
            </li>
            """)
Ejemplo n.º 3
0
    def test_render_node_template_tag(self):
        node = menu.Node('test', 'Test', url='http://test.com')

        output = navutils_tags.render_node({}, node=node, user=self.user)
        self.assertHTMLEqual(
            output,
            '<li class="menu-item"><a href="http://test.com">Test</a></li>')
Ejemplo n.º 4
0
    def test_render_node_template_tag_with_children_and_current(self):
        child1 = menu.Node('c1', 'c1', url='c1')
        child2 = menu.Node('c2', 'c2', url='c2')
        child3 = menu.Node('c3', 'c3', url='c3')

        node = menu.Node(
            'test',
            'Test',
            url='http://test.com',
            children=[
                child1,
                child2,
                child3,
            ]
        )

        output = navutils_tags.render_node({'current_menu_item':'test:c3'}, node=node, user=self.user)

        self.assertHTMLEqual(
            output,
            """
            <li class="menu-item has-children has-current has-dropdown">
                <a href="http://test.com">Test</a>
                <ul class="sub-menu dropdown">
                    <li class="menu-item"><a href="c1">c1</a></li>
                    <li class="menu-item"><a href="c2">c2</a></li>
                    <li class="menu-item current"><a href="c3">c3</a></li>
                </ul>
            </li>
            """)
Ejemplo n.º 5
0
    def test_render_node_template_tag_with_embedded_template(self):
        node = menu.Node('test', '{{ 1|add:"2" }}', url='http://test.com')

        output = navutils_tags.render_node({}, node=node, user=self.user)
        self.assertHTMLEqual(
            output,
            '<li class="menu-item"><a href="http://test.com">3</a></li>')
Ejemplo n.º 6
0
    def test_render_node_template_tag_with_embedded_template(self):
        node = menu.Node('test', '{{ 1|add:"2" }}', url='http://test.com')

        output = navutils_tags.render_node({}, node=node, user=self.user)
        self.assertHTMLEqual(
            output,
            '<li class="menu-item"><a href="http://test.com">3</a></li>')
Ejemplo n.º 7
0
    def test_render_node_template_tag_with_extra_context(self):
        node = menu.Node('test', 'Test', url='http://test.com', template='test_app/test_node.html',
                         context={'foo': 'bar'})

        output = navutils_tags.render_node({}, node=node, user=self.user)
        self.assertHTMLEqual(
            output,
            '<li class="menu-item"><a href="http://test.com">Test bar</a></li>')
Ejemplo n.º 8
0
    def test_render_node_template_tag_with_embedded_template_and_context(self):
        node = menu.Node('test', '{{ foo }}', url='http://test.com',
            context={'foo': 'bar'})

        output = navutils_tags.render_node({}, node=node, user=self.user)
        self.assertHTMLEqual(
            output,
            '<li class="menu-item"><a href="http://test.com">bar</a></li>')
Ejemplo n.º 9
0
    def test_render_node_template_tag_with_node_attrs(self):
        attrs = {'id': 'important'}
        node = menu.Node('test', 'Test', url='http://test.com', attrs=attrs)

        output = navutils_tags.render_node({}, node=node, user=self.user)
        self.assertHTMLEqual(
            output, """<li class="menu-item" id="important">
                <a href="http://test.com">Test</a>
            </li>""")
Ejemplo n.º 10
0
    def test_render_node_template_tag_with_children_and_depth(self):
        subchild = menu.Node('s1', 's1', url='s1')
        child1 = menu.Node('c1', 'c1', url='c1', children=[subchild])
        child2 = menu.Node('c2', 'c2', url='c2')
        child3 = menu.Node('c3', 'c3', url='c3')

        node = menu.Node('test',
                         'Test',
                         url='http://test.com',
                         children=[
                             child1,
                             child2,
                             child3,
                         ])

        output = navutils_tags.render_node({},
                                           node=node,
                                           user=self.user,
                                           max_depth=1)

        self.assertHTMLEqual(
            output, """
            <li class="menu-item has-children has-dropdown">
                <a href="http://test.com">Test</a>
                <ul class="sub-menu dropdown">
                    <li class="menu-item"><a href="c1">c1</a></li>
                    <li class="menu-item"><a href="c2">c2</a></li>
                    <li class="menu-item"><a href="c3">c3</a></li>
                </ul>
            </li>
            """)

        output = navutils_tags.render_node({},
                                           node=node,
                                           user=self.user,
                                           max_depth=0)

        self.assertHTMLEqual(
            output, """
            <li class="menu-item">
                <a href="http://test.com">Test</a>
            </li>
            """)
Ejemplo n.º 11
0
    def test_render_node_template_tag_with_node_attrs(self):
        attrs = {'id': 'important'}
        node = menu.Node('test', 'Test', url='http://test.com', attrs=attrs)

        output = navutils_tags.render_node({}, node=node, user=self.user)
        self.assertHTMLEqual(
            output,
            """<li class="menu-item" id="important">
                <a href="http://test.com">Test</a>
            </li>""")
Ejemplo n.º 12
0
    def test_render_node_template_tag_with_link_attrs(self):
        attrs = {'target': '_blank', 'title': 'Click me !'}
        node = menu.Node('test', 'Test', url='http://test.com', link_attrs=attrs)

        output = navutils_tags.render_node({}, node=node, user=self.user)
        self.assertHTMLEqual(
            output,
            """<li class="menu-item">
                <a href="http://test.com" target="_blank" title="Click me !">Test</a>
            </li>""")
Ejemplo n.º 13
0
    def test_render_node_template_tag_with_embedded_template_and_context(self):
        node = menu.Node('test',
                         '{{ foo }}',
                         url='http://test.com',
                         context={'foo': 'bar'})

        output = navutils_tags.render_node({}, node=node, user=self.user)
        self.assertHTMLEqual(
            output,
            '<li class="menu-item"><a href="http://test.com">bar</a></li>')
Ejemplo n.º 14
0
    def test_render_node_template_tag_with_children_and_depth(self):
        subchild = menu.Node('s1', 's1', url='s1')
        child1 = menu.Node('c1', 'c1', url='c1', children=[subchild])
        child2 = menu.Node('c2', 'c2', url='c2')
        child3 = menu.Node('c3', 'c3', url='c3')

        node = menu.Node(
            'test',
            'Test',
            url='http://test.com',
            children=[
                child1,
                child2,
                child3,
            ]
        )

        output = navutils_tags.render_node({}, node=node, user=self.user, max_depth=1)

        self.assertHTMLEqual(
            output,
            """
            <li class="menu-item has-children has-dropdown">
                <a href="http://test.com">Test</a>
                <ul class="sub-menu dropdown">
                    <li class="menu-item"><a href="c1">c1</a></li>
                    <li class="menu-item"><a href="c2">c2</a></li>
                    <li class="menu-item"><a href="c3">c3</a></li>
                </ul>
            </li>
            """)

        output = navutils_tags.render_node({}, node=node, user=self.user, max_depth=0)

        self.assertHTMLEqual(
            output,
            """
            <li class="menu-item">
                <a href="http://test.com">Test</a>
            </li>
            """)
Ejemplo n.º 15
0
    def test_render_node_template_tag_with_link_attrs(self):
        attrs = {'target': '_blank', 'title': 'Click me !'}
        node = menu.Node('test',
                         'Test',
                         url='http://test.com',
                         link_attrs=attrs)

        output = navutils_tags.render_node({}, node=node, user=self.user)
        self.assertHTMLEqual(
            output, """<li class="menu-item">
                <a href="http://test.com" target="_blank" title="Click me !">Test</a>
            </li>""")
Ejemplo n.º 16
0
    def test_render_node_template_tag_with_extra_context(self):
        node = menu.Node('test',
                         'Test',
                         url='http://test.com',
                         template='test_app/test_node.html',
                         context={'foo': 'bar'})

        output = navutils_tags.render_node({}, node=node, user=self.user)
        self.assertHTMLEqual(
            output,
            '<li class="menu-item"><a href="http://test.com">Test bar</a></li>'
        )