diff -r 111c52e0022f -r bcd4bfff658b test/unittest_rtags.py --- a/test/unittest_rtags.py Wed Apr 29 09:27:03 2009 +0200 +++ b/test/unittest_rtags.py Wed Apr 29 10:29:03 2009 +0200 @@ -1,19 +1,19 @@ from logilab.common.testlib import TestCase, unittest_main -from cubicweb.rtags import RelationTags +from cubicweb.rtags import RelationTags, RelationTagsSet class RelationTagsTC(TestCase): - + def test_rtags_expansion(self): rtags = RelationTags() - rtags.set_rtag('primary', 'travaille', 'subject', 'Societe') - rtags.set_rtag('secondary', 'evaluee', 'subject') - rtags.set_rtag('generated', 'tags', 'object') - self.assertEquals(rtags.rtag('evaluee', 'subject', 'Note'), 'secondary') - self.assertEquals(rtags.rtag('travaille', 'subject', 'Societe'), 'primary') - self.assertEquals(rtags.rtag('travaille', 'subject', 'Note'), None) - self.assertEquals(rtags.rtag('tags', 'subject', 'Note'), None) - self.assertEquals(rtags.rtag('tags', 'object', 'Note'), 'generated') - + rtags.tag_relation('primary', ('Societe', 'travaille', '*'), 'subject', ) + rtags.tag_relation('secondary', ('*', 'evaluee', '*'), 'subject') + rtags.tag_relation('generated', ('*', 'tags', '*'), 'object') + self.assertEquals(rtags.get('evaluee', 'subject', 'Note'), 'secondary') + self.assertEquals(rtags.get('travaille', 'subject', 'Societe'), 'primary') + self.assertEquals(rtags.get('travaille', 'subject', 'Note'), None) + self.assertEquals(rtags.get('tags', 'subject', 'Note'), None) + self.assertEquals(rtags.get('tags', 'object', 'Note'), 'generated') + # self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('secondary', 'link'))) # self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), False) # self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link'))) @@ -30,7 +30,16 @@ # self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('inlineview', 'link'))) # self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), True) # self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link'))) -# self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False) +# self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False) + + + def test_rtagset_expansion(self): + rtags = RelationTagsSet() + rtags.tag_relation('primary', ('Societe', 'travaille', '*'), 'subject', ) + rtags.tag_relation('secondary', ('*', 'travaille', '*'), 'subject') + self.assertEquals(rtags.get('travaille', 'subject', 'Societe'), set(('primary', 'secondary'))) + self.assertEquals(rtags.get('travaille', 'subject', 'Note'), set(('secondary',))) + self.assertEquals(rtags.get('tags', 'subject', 'Note'), set()) if __name__ == '__main__': unittest_main()