Пример #1
0
 def test_register_without_priority(self):
     """ Registering a tag without specifying a priority: default to 0 """
     tag_objs = [Tag("dummy"), Tag("dumdum"), Tag("mudmud")]
     tag.register(*tag_objs)
     tags = tag.get_manager()._tag_list
     self.assertTrue(0 in tags.keys())
     self.assertEqual(len(tags[0]), 3)
     self.assertListEqual(tags[0], tag_objs)
Пример #2
0
 def test_global_cache_clear(self):
     """ Clearing all registered tags' cache """
     tag.register(tag.Tag("dummy", cached=True), tag.Tag("dumdum", cached=True), tag.Tag("mudmud", cached=True))
     m = tag.get_manager()
     for t in m:
         t.process("dummydumdummudmud", **{"dummy": "dummy", "dumdum": "dumdum", "mudmud": "mudmud"})
     m.clear_cache()
     for t in m:
         self.assertEqual({}, t.cache)
Пример #3
0
    def test_register_Tag_sublass(self):
        """ Registering a Tag subclass """

        class DummyTag(Tag):
            pass

        t = DummyTag("dummy")
        tag.register(t)
        self.assertTrue(isinstance(tag.get_manager()._tag_list[0], DummyTag))
Пример #4
0
def default_renderer(template, **context):
    """
    Default template renderer. 
    Process each registered Tag and returns the whole processed string.
    """
    out = template.template
    vals = {}
    for t in tag.get_manager():
        vals.update(t.process(out, **context))
    if vals:
        rgx = re.compile('|'.join(vals.keys()))
        return rgx.sub(lambda m: vals[m.group(0)], out)
    else: 
        return out
Пример #5
0
 def tearDown(self):
     tag.get_manager().clear()
Пример #6
0
 def test_get_manager(self):
     """ Getting the current TagManager """
     tm = tag.get_manager()
     self.assertEqual(tm, tag._manager)
Пример #7
0
 def test_check_tags_priority(self):
     """ Checking Tags priority """
     tag.register(("dummy", 4), ("dumdum", 7), ("mudmud", 0))
     tag_patterns = [t.regexp.pattern for t in tag.get_manager()]
     self.assertListEqual(tag_patterns, ["mudmud", "dummy", "dumdum"])