3 from os.path import join |
3 from os.path import join |
4 |
4 |
5 from cubicweb import CW_SOFTWARE_ROOT as BASE |
5 from cubicweb import CW_SOFTWARE_ROOT as BASE |
6 from cubicweb.vregistry import VObject |
6 from cubicweb.vregistry import VObject |
7 from cubicweb.cwvreg import CubicWebRegistry, UnknownProperty |
7 from cubicweb.cwvreg import CubicWebRegistry, UnknownProperty |
8 from cubicweb.cwconfig import CubicWebConfiguration |
8 from cubicweb.devtools import TestServerConfiguration |
|
9 from cubicweb.entities.lib import Card |
|
10 from cubicweb.interfaces import IMileStone |
9 |
11 |
10 class YesSchema: |
12 class YesSchema: |
11 def __contains__(self, something): |
13 def __contains__(self, something): |
12 return True |
14 return True |
13 |
15 |
14 class VRegistryTC(TestCase): |
16 class VRegistryTC(TestCase): |
15 |
17 |
16 def setUp(self): |
18 def setUp(self): |
17 config = CubicWebConfiguration('data') |
19 config = TestServerConfiguration('data') |
18 self.vreg = CubicWebRegistry(config) |
20 self.vreg = CubicWebRegistry(config) |
19 self.vreg.schema = YesSchema() |
21 config.bootstrap_cubes() |
|
22 self.vreg.schema = config.load_schema() |
20 |
23 |
21 def test_load(self): |
24 def test_load(self): |
22 self.vreg.load_file(join(BASE, 'web', 'views'), 'euser.py') |
25 self.vreg.load_file(join(BASE, 'web', 'views'), 'euser.py') |
23 self.vreg.load_file(join(BASE, 'web', 'views'), 'baseviews.py') |
26 self.vreg.load_file(join(BASE, 'web', 'views'), 'baseviews.py') |
24 fpvc = [v for v in self.vreg.registry_objects('views', 'primary') |
27 fpvc = [v for v in self.vreg.registry_objects('views', 'primary') |
43 |
46 |
44 def test_properties(self): |
47 def test_properties(self): |
45 self.failIf('system.version.cubicweb' in self.vreg['propertydefs']) |
48 self.failIf('system.version.cubicweb' in self.vreg['propertydefs']) |
46 self.failUnless(self.vreg.property_info('system.version.cubicweb')) |
49 self.failUnless(self.vreg.property_info('system.version.cubicweb')) |
47 self.assertRaises(UnknownProperty, self.vreg.property_info, 'a.non.existent.key') |
50 self.assertRaises(UnknownProperty, self.vreg.property_info, 'a.non.existent.key') |
|
51 |
|
52 def test_load_subinterface_based_vobjects(self): |
|
53 self.vreg.reset() |
|
54 self.vreg.register_objects([join(BASE, 'web', 'views', 'iprogress.py')]) |
|
55 # check progressbar was kicked |
|
56 self.failIf(self.vreg['views'].get('progressbar')) |
|
57 class MyCard(Card): |
|
58 __implements__ = (IMileStone,) |
|
59 self.vreg.reset() |
|
60 self.vreg.register_vobject_class(MyCard) |
|
61 self.vreg.register_objects([join(BASE, 'web', 'views', 'iprogress.py')]) |
|
62 # check progressbar isn't kicked |
|
63 self.assertEquals(len(self.vreg['views']['progressbar']), 1) |
48 |
64 |
49 |
65 |
50 if __name__ == '__main__': |
66 if __name__ == '__main__': |
51 unittest_main() |
67 unittest_main() |