コード例 #1
0
    def setUp(self):
        self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES
        breadcrumbs_middleware_class = 'breadcrumbs.middleware.BreadcrumbsMiddleware'
        if breadcrumbs_middleware_class not in settings.MIDDLEWARE_CLASSES:
            settings.MIDDLEWARE_CLASSES += (breadcrumbs_middleware_class, )

        self.old_TEMPLATE_CONTEXT_PROCESSORS = settings.TEMPLATE_CONTEXT_PROCESSORS
        request_processor = 'django.core.context_processors.request'
        if request_processor not in settings.TEMPLATE_CONTEXT_PROCESSORS:
            settings.TEMPLATE_CONTEXT_PROCESSORS += (request_processor, )

        self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS
        settings.TEMPLATE_DIRS = (os.path.join(os.path.dirname(__file__),
                                               'templates'), )

        # now we start singleton. singleton are tested on singleton_tests.py
        self.breadcrumbs = Breadcrumbs()

        # set some common ta to use
        SD = SortedDict
        self.data = [
            SD([('name', 'Page1'), ('url', '/page1/')]),
            SD([('name', 'Page2'), ('url', '/page2/')]),
            SD([('name', 'Page3'), ('url', '/page2/page3/')]),
            SD([('name', 'Page4'), ('url', '/page4/')]),
            SD([('name', 'Page5'), ('url', '/page5/')]),
        ]
コード例 #2
0
ファイル: allPythonContent.py プロジェクト: Mondego/pyreco
class FlatpagesTest(TestCase):
    fixtures = ['sample_flatpages_for_breadcrumbs.json']

    def setUp(self):
        breadcrumbs_middleware_class = 'breadcrumbs.middleware.BreadcrumbsMiddleware'
        flatpages_middleware_class = 'breadcrumbs.middleware.FlatpageFallbackMiddleware'

        # remove breadcrumbs middlewares to assert that we set correct
        # order
        self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES
        settings.MIDDLEWARE_CLASSES = [mid for mid \
            in self.old_MIDDLEWARE_CLASSES if mid not in \
                (breadcrumbs_middleware_class, flatpages_middleware_class)]
        settings.MIDDLEWARE_CLASSES += [
            breadcrumbs_middleware_class,
            flatpages_middleware_class
        ]
        self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS
        settings.TEMPLATE_DIRS = (
            os.path.join(
                os.path.dirname(__file__),
                'templates'
            ),
        )
        # now we start singleton. singleton are tested on singleton_tests.py
        self.breadcrumbs = Breadcrumbs()

    def tearDown(self):
        settings.MIDDLEWARE_CLASSES = self.old_MIDDLEWARE_CLASSES

        # kill singleton
        self.breadcrumbs._drop_it()

    def test_flatpages_fixture_loaded(self):
        flat1 = FlatPage.objects.get(pk=1)
        self.assertEqual(flat1.title, u"Flat Page 1")
        self.assertEqual(flat1.content, u"This is flat 1")
        flat2 = FlatPage.objects.get(pk=2)
        self.assertEqual(flat2.title, u"Flat page 2")
        self.assertEqual(flat2.content, u"This is flat 2 under flat 1")

    def test_404_flatpage(self):
        response = self.client.get('/404_not_found/')
        self.assertEqual(response.status_code, 404)
        # self.assertContains(response, "<p>Isn't it flat!</p>")

    def test_fallback_flatpage(self):
        response = self.client.get('/flat01/')
        self.assertEqual(response.status_code, 200)
        self.assertContains(response,
            '<ul id="breadcrumbs"><li><a href="/flat01/">Flat Page 1</a></li></ul>')

        response = self.client.get('/flat01/flat02/')
        self.assertEqual(response.status_code, 200)
        self.assertContains(response,
            '<ul id="breadcrumbs"><li><a href="/flat01/">Flat Page 1</a> &raquo; </li><li><a href="/flat01/flat02/">Flat page 2</a></li></ul>')
コード例 #3
0
class FlatpagesTest(TestCase):
    fixtures = ['sample_flatpages_for_breadcrumbs.json']

    def setUp(self):
        breadcrumbs_middleware_class = 'breadcrumbs.middleware.BreadcrumbsMiddleware'
        flatpages_middleware_class = 'breadcrumbs.middleware.FlatpageFallbackMiddleware'

        # remove breadcrumbs middlewares to assert that we set correct
        # order
        self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES
        settings.MIDDLEWARE_CLASSES = [mid for mid \
            in self.old_MIDDLEWARE_CLASSES if mid not in \
                (breadcrumbs_middleware_class, flatpages_middleware_class)]
        settings.MIDDLEWARE_CLASSES += [
            breadcrumbs_middleware_class, flatpages_middleware_class
        ]
        self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS
        settings.TEMPLATE_DIRS = (os.path.join(os.path.dirname(__file__),
                                               'templates'), )
        # now we start singleton. singleton are tested on singleton_tests.py
        self.breadcrumbs = Breadcrumbs()

    def tearDown(self):
        settings.MIDDLEWARE_CLASSES = self.old_MIDDLEWARE_CLASSES

        # kill singleton
        self.breadcrumbs._drop_it()

    def test_flatpages_fixture_loaded(self):
        flat1 = FlatPage.objects.get(pk=1)
        self.assertEqual(flat1.title, u"Flat Page 1")
        self.assertEqual(flat1.content, u"This is flat 1")
        flat2 = FlatPage.objects.get(pk=2)
        self.assertEqual(flat2.title, u"Flat page 2")
        self.assertEqual(flat2.content, u"This is flat 2 under flat 1")

    def test_404_flatpage(self):
        response = self.client.get('/404_not_found/')
        self.assertEqual(response.status_code, 404)
        # self.assertContains(response, "<p>Isn't it flat!</p>")

    def test_fallback_flatpage(self):
        response = self.client.get('/flat01/')
        self.assertEqual(response.status_code, 200)
        self.assertContains(
            response,
            '<ul id="breadcrumbs"><li><a href="/flat01/">Flat Page 1</a></li></ul>'
        )

        response = self.client.get('/flat01/flat02/')
        self.assertEqual(response.status_code, 200)
        self.assertContains(
            response,
            '<ul id="breadcrumbs"><li><a href="/flat01/">Flat Page 1</a> &raquo; </li><li><a href="/flat01/flat02/">Flat page 2</a></li></ul>'
        )
コード例 #4
0
 def test_breadcrumbs_singleton(self):
     brd = Breadcrumbs()
     brd(**self.data[0])
     brd2 = Breadcrumbs()
     brd2(**self.data[1])
     # test 3 instances to see if singleton really works
     self.assertEqual(self.breadcrumbs[0].__dict__,
                      Breadcrumb(**self.data[0]).__dict__)
     self.assertEqual(self.breadcrumbs[1].__dict__,
                      Breadcrumb(**self.data[1]).__dict__)
     self.assertEqual(brd[1].__dict__, Breadcrumbs()[1].__dict__)
コード例 #5
0
    def test_flat_iter(self):
        nodeA = node('', r'A', 'AAA')
        nodeA1 = node('-->', r'A', 'AAA')
        nodeB = node('', r'B', 'BBB')
        cfg = [
               nodeA,
               nodeA1,
               nodeB,
              ]
        bc = Breadcrumbs(cfg)
        bc.cursor_level = 0
        self.assertEquals([n for n in bc], [nodeA, nodeB])

        bc.cursor_level = 1
        self.assertEquals([n for n in bc], [nodeA1])
コード例 #6
0
ファイル: allPythonContent.py プロジェクト: Mondego/pyreco
    def setUp(self):
        self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES
        breadcrumbs_middleware_class = 'breadcrumbs.middleware.BreadcrumbsMiddleware'
        if breadcrumbs_middleware_class not in settings.MIDDLEWARE_CLASSES:
            settings.MIDDLEWARE_CLASSES += (breadcrumbs_middleware_class,)

        self.old_TEMPLATE_CONTEXT_PROCESSORS = settings.TEMPLATE_CONTEXT_PROCESSORS
        request_processor = 'django.core.context_processors.request'
        if request_processor not in settings.TEMPLATE_CONTEXT_PROCESSORS:
            settings.TEMPLATE_CONTEXT_PROCESSORS += (request_processor,)

        self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS
        settings.TEMPLATE_DIRS = (
            os.path.join(
                os.path.dirname(__file__),
                'templates'
            ),
        )

        # now we start singleton. singleton are tested on singleton_tests.py
        self.breadcrumbs = Breadcrumbs()

        # set some common ta to use
        SD = SortedDict
        self.data = [
            SD([('name', 'Page1'), ('url', '/page1/')]),
            SD([('name', 'Page2'), ('url', '/page2/')]),
            SD([('name', 'Page3'), ('url', '/page2/page3/')]),
            SD([('name', 'Page4'), ('url', '/page4/')]),
            SD([('name', 'Page5'), ('url', '/page5/')]),
        ]
コード例 #7
0
    def setUp(self):
        breadcrumbs_middleware_class = 'breadcrumbs.middleware.BreadcrumbsMiddleware'
        flatpages_middleware_class = 'breadcrumbs.middleware.FlatpageFallbackMiddleware'

        # remove breadcrumbs middlewares to assert that we set correct
        # order
        self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES
        settings.MIDDLEWARE_CLASSES = [mid for mid \
            in self.old_MIDDLEWARE_CLASSES if mid not in \
                (breadcrumbs_middleware_class, flatpages_middleware_class)]
        settings.MIDDLEWARE_CLASSES += [
            breadcrumbs_middleware_class, flatpages_middleware_class
        ]
        self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS
        settings.TEMPLATE_DIRS = (os.path.join(os.path.dirname(__file__),
                                               'templates'), )
        # now we start singleton. singleton are tested on singleton_tests.py
        self.breadcrumbs = Breadcrumbs()
コード例 #8
0
ファイル: allPythonContent.py プロジェクト: Mondego/pyreco
    def setUp(self):
        breadcrumbs_middleware_class = 'breadcrumbs.middleware.BreadcrumbsMiddleware'
        flatpages_middleware_class = 'breadcrumbs.middleware.FlatpageFallbackMiddleware'

        # remove breadcrumbs middlewares to assert that we set correct
        # order
        self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES
        settings.MIDDLEWARE_CLASSES = [mid for mid \
            in self.old_MIDDLEWARE_CLASSES if mid not in \
                (breadcrumbs_middleware_class, flatpages_middleware_class)]
        settings.MIDDLEWARE_CLASSES += [
            breadcrumbs_middleware_class,
            flatpages_middleware_class
        ]
        self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS
        settings.TEMPLATE_DIRS = (
            os.path.join(
                os.path.dirname(__file__),
                'templates'
            ),
        )
        # now we start singleton. singleton are tested on singleton_tests.py
        self.breadcrumbs = Breadcrumbs()
コード例 #9
0
# -*- coding: utf-8 -*-

# TODO: Write unit tests!!!

# run this script on your shell
from breadcrumbs import Breadcrumbs

bds = Breadcrumbs()

# fill one per time
for i in range(5):
    bds('name%s' % i, 'url%s' % i)


# create a simple class to emulate one object with name and url
class EmulateObj(object):
    def __init__(self, *args):
        self.name = args[0]
        self.url = args[1]

# add 10 objects
bds([EmulateObj('name %s' % (i + 10), 'url %s' % (i + 10)) for i in range(10)])

# print all
for bd in bds:
    print bd.name, bd.url
コード例 #10
0
class BreadcrumbsTest(TestCase):
    urls = 'breadcrumbs.tests.urls'

    def setUp(self):
        self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES
        breadcrumbs_middleware_class = 'breadcrumbs.middleware.BreadcrumbsMiddleware'
        if breadcrumbs_middleware_class not in settings.MIDDLEWARE_CLASSES:
            settings.MIDDLEWARE_CLASSES += (breadcrumbs_middleware_class, )

        self.old_TEMPLATE_CONTEXT_PROCESSORS = settings.TEMPLATE_CONTEXT_PROCESSORS
        request_processor = 'django.core.context_processors.request'
        if request_processor not in settings.TEMPLATE_CONTEXT_PROCESSORS:
            settings.TEMPLATE_CONTEXT_PROCESSORS += (request_processor, )

        self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS
        settings.TEMPLATE_DIRS = (os.path.join(os.path.dirname(__file__),
                                               'templates'), )

        # now we start singleton. singleton are tested on singleton_tests.py
        self.breadcrumbs = Breadcrumbs()

        # set some common ta to use
        SD = SortedDict
        self.data = [
            SD([('name', 'Page1'), ('url', '/page1/')]),
            SD([('name', 'Page2'), ('url', '/page2/')]),
            SD([('name', 'Page3'), ('url', '/page2/page3/')]),
            SD([('name', 'Page4'), ('url', '/page4/')]),
            SD([('name', 'Page5'), ('url', '/page5/')]),
        ]

    def tearDown(self):
        settings.MIDDLEWARE_CLASSES = self.old_MIDDLEWARE_CLASSES
        settings.TEMPLATE_DIRS = self.old_TEMPLATE_DIRS
        settings.TEMPLATE_CONTEXT_PROCESSORS = self.old_TEMPLATE_CONTEXT_PROCESSORS

        # kill singleton
        self.breadcrumbs._drop_it()
        del self.data

    def test_breadcrumb_class(self):
        b = Breadcrumb(**self.data[0])
        self.assertEqual(b.name, self.data[0]['name'])
        self.assertEqual(b.url, self.data[0]['url'])

    def test_breadcrumbs_singleton(self):
        brd = Breadcrumbs()
        brd(**self.data[0])
        brd2 = Breadcrumbs()
        brd2(**self.data[1])
        # test 3 instances to see if singleton really works
        self.assertEqual(self.breadcrumbs[0].__dict__,
                         Breadcrumb(**self.data[0]).__dict__)
        self.assertEqual(self.breadcrumbs[1].__dict__,
                         Breadcrumb(**self.data[1]).__dict__)
        self.assertEqual(brd[1].__dict__, Breadcrumbs()[1].__dict__)

    def test_breadcrumbs_params_and_iteration(self):

        b = self.breadcrumbs

        b(self.data[0]['name'], self.data[0]['url'])
        b(*self.data[1].values())
        b(**self.data[2])
        b(self.data[3:5])
        for i, bd in enumerate(b):
            self.assertEqual(bd.__dict__, Breadcrumb(**self.data[i]).__dict__)

    def test_request_breadcrumbs(self):
        response = self.client.get('/page1/')
        self.assertEqual(response.status_code, 200)
        self.assertContains(
            response,
            '<ul id="breadcrumbs"><li><a href="/page1/">Page 1</a></li></ul>')
コード例 #11
0
 def process_request(self, request):
     request.breadcrumbs = Breadcrumbs()
     request.breadcrumbs._clean()
コード例 #12
0
ファイル: allPythonContent.py プロジェクト: Mondego/pyreco
class BreadcrumbsTest(TestCase):
    urls = 'breadcrumbs.tests.urls'

    def setUp(self):
        self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES
        breadcrumbs_middleware_class = 'breadcrumbs.middleware.BreadcrumbsMiddleware'
        if breadcrumbs_middleware_class not in settings.MIDDLEWARE_CLASSES:
            settings.MIDDLEWARE_CLASSES += (breadcrumbs_middleware_class,)

        self.old_TEMPLATE_CONTEXT_PROCESSORS = settings.TEMPLATE_CONTEXT_PROCESSORS
        request_processor = 'django.core.context_processors.request'
        if request_processor not in settings.TEMPLATE_CONTEXT_PROCESSORS:
            settings.TEMPLATE_CONTEXT_PROCESSORS += (request_processor,)

        self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS
        settings.TEMPLATE_DIRS = (
            os.path.join(
                os.path.dirname(__file__),
                'templates'
            ),
        )

        # now we start singleton. singleton are tested on singleton_tests.py
        self.breadcrumbs = Breadcrumbs()

        # set some common ta to use
        SD = SortedDict
        self.data = [
            SD([('name', 'Page1'), ('url', '/page1/')]),
            SD([('name', 'Page2'), ('url', '/page2/')]),
            SD([('name', 'Page3'), ('url', '/page2/page3/')]),
            SD([('name', 'Page4'), ('url', '/page4/')]),
            SD([('name', 'Page5'), ('url', '/page5/')]),
        ]

    def tearDown(self):
        settings.MIDDLEWARE_CLASSES = self.old_MIDDLEWARE_CLASSES
        settings.TEMPLATE_DIRS = self.old_TEMPLATE_DIRS
        settings.TEMPLATE_CONTEXT_PROCESSORS = self.old_TEMPLATE_CONTEXT_PROCESSORS

        # kill singleton
        self.breadcrumbs._drop_it()
        del self.data

    def test_breadcrumb_class(self):
        b = Breadcrumb(**self.data[0])
        self.assertEqual(b.name, self.data[0]['name'])
        self.assertEqual(b.url, self.data[0]['url'])

    def test_breadcrumbs_singleton(self):
        brd = Breadcrumbs()
        brd(**self.data[0])
        brd2 = Breadcrumbs()
        brd2(**self.data[1])
        # test 3 instances to see if singleton really works
        self.assertEqual(self.breadcrumbs[0].__dict__,
                                            Breadcrumb(**self.data[0]).__dict__)
        self.assertEqual(self.breadcrumbs[1].__dict__,
                                            Breadcrumb(**self.data[1]).__dict__)
        self.assertEqual(brd[1].__dict__, Breadcrumbs()[1].__dict__)

    def test_breadcrumbs_params_and_iteration(self):

        b = self.breadcrumbs

        b(self.data[0]['name'], self.data[0]['url'])
        b(*self.data[1].values())
        b(**self.data[2])
        b(self.data[3:5])
        for i, bd in enumerate(b):
            self.assertEqual(bd.__dict__, Breadcrumb(**self.data[i]).__dict__)


    def test_request_breadcrumbs(self):
        response = self.client.get('/page1/')
        self.assertEqual(response.status_code, 200)
        self.assertContains(response,
            '<ul id="breadcrumbs"><li><a href="/page1/">Page 1</a></li></ul>')