|
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() |