예제 #1
0
 def test_callable(self):
     cfg = [
            node('', r'(?P<id>\d+)', lambda id_: int(id_) + 1),
            node('', r'\w+', lambda x: "ID"),
           ]
     bc = Breadcrumbs(cfg).create()
     self.assertEquals(bc("/path"), ["ID"])
     self.assertEquals(bc("/13"), [14])
예제 #2
0
 def test_regex(self):
     cfg = [
            node('', r'\d+', 'id'),
            node('', r'.*', 'star'),
           ]
     bc = Breadcrumbs(cfg).create()
     self.assertEquals(bc("/path"), ["star"])
     self.assertEquals(bc("/123"), ["id"])
예제 #3
0
 def test_same_level_different_pattern(self):
     cfg = [
            node('', r'A', 'AAA'),
            node('', r'B', 'BBB'),
           ]
     bc = Breadcrumbs(cfg).create()
     self.assertEquals(bc("/A/B"), ["AAA"])
     self.assertEquals(bc("/B/A"), ["BBB"])
예제 #4
0
 def test_embed_pattern(self):
     nodes = [
            node('', r'A', 'A'),
            node('-->', r'B', 'BB'),
            node('', r'B', 'B'),
           ]
     bc = Breadcrumbs(nodes).create()
     self.assertEquals(bc("/A/B"), ["A", "BB"])
     self.assertEquals(bc("/B/A"), ["B"])
     self.assertEquals(bc("/B/B/"), ["B"])
예제 #5
0
 def test_custom_pattern(self):
     node = create_node("---")
     nodes = [
            node('', r'A', 'A'),
            node('---', r'B', 'BB'),
            node('', r'B', 'B'),
           ]
     bc = Breadcrumbs(nodes).create()
     self.assertEquals(bc("/A/B"), ["A", "BB"])
     self.assertEquals(bc("/B/A"), ["B"])
     self.assertEquals(bc("/B/B/"), ["B"])
예제 #6
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])
예제 #7
0
 def test_constante_breadcrumbs(self):
     cfg = [node('', r'path', 'BC'),]
     bc = Breadcrumbs(cfg).create()
     self.assertEquals(bc("/path"), ["BC"])
예제 #8
0
 def test_node_raise_exception_if_invalid_level2(self):
     with self.assertRaises(ValueError):
         node('---', r'', 'error')
예제 #9
0
 def test_value_none(self):
     cfg = [
            node('', r'A', None),
           ]
     bc = Breadcrumbs(cfg).create()
     self.assertEquals(bc("/A"), [])