author | sylvain.thenault@logilab.fr |
Mon, 11 May 2009 11:20:38 +0200 | |
branch | tls-sprint |
changeset 1721 | 694f6a50e138 |
parent 1533 | bcd4bfff658b |
child 1739 | 78b0819162a8 |
permissions | -rw-r--r-- |
1284 | 1 |
from logilab.common.testlib import TestCase, unittest_main |
1533 | 2 |
from cubicweb.rtags import RelationTags, RelationTagsSet |
1284 | 3 |
|
4 |
class RelationTagsTC(TestCase): |
|
1533 | 5 |
|
1284 | 6 |
def test_rtags_expansion(self): |
7 |
rtags = RelationTags() |
|
1721
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
8 |
rtags.tag_relation('!Societe', 'travaille', '*', 'primary') |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
9 |
rtags.tag_relation('!*', 'evaluee', '*', 'secondary') |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
10 |
rtags.tag_relation('*', 'tags', '!*', 'generated') |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
11 |
self.assertEquals(rtags.get('!Note', 'evaluee', '*'), |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
12 |
'secondary') |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
13 |
self.assertEquals(rtags.get('Note', 'evaluee', '*', 'subject'), |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
14 |
'secondary') |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
15 |
self.assertEquals(rtags.get('!Societe', 'travaille', '*'), |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
16 |
'primary') |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
17 |
self.assertEquals(rtags.get('!Note', 'travaille', '*'), |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
18 |
None) |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
19 |
self.assertEquals(rtags.get('!Note', 'tags', '*'), |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
20 |
None) |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
21 |
self.assertEquals(rtags.get('*', 'tags', '!Note'), |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
22 |
'generated') |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
23 |
self.assertEquals(rtags.get('Tag', 'tags', '!*'), |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
24 |
'generated') |
1533 | 25 |
|
1284 | 26 |
# self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('secondary', 'link'))) |
27 |
# self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), False) |
|
28 |
# self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link'))) |
|
29 |
# self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False) |
|
30 |
# self.assertEquals(rtags.rtag('ecrit_par', 'Note', 'object'), set(('inlineview', 'link'))) |
|
31 |
# self.assertEquals(rtags.is_inlined('ecrit_par', 'Note', 'object'), True) |
|
32 |
# class Personne2(Personne): |
|
33 |
# id = 'Personne' |
|
34 |
# __rtags__ = { |
|
35 |
# ('evaluee', 'Note', 'subject') : set(('inlineview',)), |
|
36 |
# } |
|
37 |
# self.vreg.register_vobject_class(Personne2) |
|
38 |
# rtags = Personne2.rtags |
|
39 |
# self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('inlineview', 'link'))) |
|
40 |
# self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), True) |
|
41 |
# self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link'))) |
|
1533 | 42 |
# self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False) |
43 |
||
44 |
||
45 |
def test_rtagset_expansion(self): |
|
46 |
rtags = RelationTagsSet() |
|
1721
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
47 |
rtags.tag_relation('!Societe', 'travaille', '*', 'primary') |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
48 |
rtags.tag_relation('!*', 'travaille', '*', 'secondary') |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
49 |
self.assertEquals(rtags.get('!Societe', 'travaille', '*'), |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
50 |
set(('primary', 'secondary'))) |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
51 |
self.assertEquals(rtags.get('Societe', 'travaille', '*', 'subject'), |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
52 |
set(('primary', 'secondary'))) |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
53 |
self.assertEquals(rtags.get('!Note', 'travaille', '*'), |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
54 |
set(('secondary',))) |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
55 |
self.assertEquals(rtags.get('!Note', 'tags', "*"), |
694f6a50e138
final rtags api (eventually :$)
sylvain.thenault@logilab.fr
parents:
1533
diff
changeset
|
56 |
set()) |
1284 | 57 |
|
58 |
if __name__ == '__main__': |
|
59 |
unittest_main() |