test/unittest_rtags.py
branchtls-sprint
changeset 1284 63ed4f4ff38d
child 1533 bcd4bfff658b
equal deleted inserted replaced
1283:d812bd08c11c 1284:63ed4f4ff38d
       
     1 from logilab.common.testlib import TestCase, unittest_main
       
     2 from cubicweb.rtags import RelationTags
       
     3 
       
     4 class RelationTagsTC(TestCase):
       
     5     
       
     6     def test_rtags_expansion(self):
       
     7         rtags = RelationTags()
       
     8         rtags.set_rtag('primary', 'travaille', 'subject', 'Societe')
       
     9         rtags.set_rtag('secondary', 'evaluee', 'subject')
       
    10         rtags.set_rtag('generated', 'tags', 'object')
       
    11         self.assertEquals(rtags.rtag('evaluee', 'subject', 'Note'), 'secondary')
       
    12         self.assertEquals(rtags.rtag('travaille', 'subject', 'Societe'), 'primary')
       
    13         self.assertEquals(rtags.rtag('travaille', 'subject', 'Note'), None)
       
    14         self.assertEquals(rtags.rtag('tags', 'subject', 'Note'), None)
       
    15         self.assertEquals(rtags.rtag('tags', 'object', 'Note'), 'generated')
       
    16         
       
    17 #         self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('secondary', 'link')))
       
    18 #         self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), False)
       
    19 #         self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link')))
       
    20 #         self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False)
       
    21 #         self.assertEquals(rtags.rtag('ecrit_par', 'Note', 'object'), set(('inlineview', 'link')))
       
    22 #         self.assertEquals(rtags.is_inlined('ecrit_par', 'Note', 'object'), True)
       
    23 #         class Personne2(Personne):
       
    24 #             id = 'Personne'
       
    25 #             __rtags__ = {
       
    26 #                 ('evaluee', 'Note', 'subject') : set(('inlineview',)),
       
    27 #                 }
       
    28 #         self.vreg.register_vobject_class(Personne2)
       
    29 #         rtags = Personne2.rtags
       
    30 #         self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('inlineview', 'link')))
       
    31 #         self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), True)
       
    32 #         self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link')))
       
    33 #         self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False)        
       
    34 
       
    35 if __name__ == '__main__':
       
    36     unittest_main()