Esempio n. 1
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__)
Esempio n. 2
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/')]),
        ]
Esempio n. 3
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()
Esempio n. 4
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
Esempio n. 5
0
 def process_request(self, request):
     request.breadcrumbs = Breadcrumbs()
     request.breadcrumbs._clean()