1 #!/usr/bin/env python2.2
4 sys
.path
.append('../../python')
6 os
.environ
['CHOICESPATH'] = '/tmp/choices:/tmp/choices2'
7 os
.environ
['XDG_CONFIG_HOME'] = '/tmp/config'
9 from rox
import basedir
, choices
, options
11 class TestOptions(unittest
.TestCase
):
13 for d
in ['/tmp/choices', '/tmp/choices2', '/tmp/config']:
17 def testChoices(self
):
18 group
= options
.OptionGroup('MyProg', 'Options')
19 o1
= options
.Option('colour', 'red', group
)
20 assert not os
.path
.isfile('/tmp/choices/MyProg/Options')
23 assert os
.path
.isfile('/tmp/choices/MyProg/Options')
25 g2
= options
.OptionGroup('MyProg', 'Options')
26 o1
= options
.Option('colour', 'green', g2
)
28 self
.assertEquals('red', o1
.value
)
31 group
= options
.OptionGroup('MyProg', 'Options', 'site')
32 o1
= options
.Option('colour', 'red', group
)
33 assert not os
.path
.isfile('/tmp/config/site/MyProg/Options')
36 assert os
.path
.isfile('/tmp/config/site/MyProg/Options')
38 g2
= options
.OptionGroup('MyProg', 'Options', 'site')
39 o1
= options
.Option('colour', 'green', g2
)
41 self
.assertEquals('red', o1
.value
)
47 group
= options
.OptionGroup('MyProg', 'Options', 'site')
48 o1
= options
.Option('colour', 'green', group
)
49 group
.add_notify(notify
)
50 self
.assertEquals(0, self
.c
)
52 self
.assertEquals(1, self
.c
)
55 options
.Option('size', 'small', group
)
56 raise Exception('Too late!')
57 except AssertionError:
60 group
.remove_notify(notify
)
62 self
.assertEquals(1, self
.c
)
64 assert not o1
.has_changed
68 assert not o1
.has_changed
71 suite
= unittest
.makeSuite(TestOptions
)
72 if __name__
== '__main__':