1 #!/usr/bin/env python2.6
4 from os
.path
import dirname
, abspath
, join
5 rox_lib
= dirname(dirname(dirname(abspath(sys
.argv
[0]))))
6 sys
.path
.insert(0, join(rox_lib
, 'python'))
8 from rox
import basedir
10 class TestBasedir(unittest
.TestCase
):
12 os
.environ
['XDG_DATA_HOME'] = '/tmp/share'
13 os
.environ
['XDG_DATA_DIRS'] = '/tmp/share.2:/tmp/share.3'
14 os
.environ
['XDG_CONFIG_HOME'] = '/tmp/config'
15 os
.environ
['XDG_CONFIG_DIRS'] = '/tmp/config.2:/tmp/config.3'
18 for dir in ['/tmp/config']:
19 if os
.path
.isdir(dir):
22 def testDefaults(self
):
23 for x
in ['XDG_DATA_HOME', 'XDG_DATA_DIRS',
24 'XDG_CONFIG_HOME', 'XDG_CONFIG_DIRS']:
28 self
.assertEquals(os
.path
.expanduser('~/.config'),
29 basedir
.xdg_config_home
)
30 self
.assertEquals([basedir
.xdg_config_home
, '/etc/xdg'],
31 basedir
.xdg_config_dirs
)
33 self
.assertEquals(os
.path
.expanduser('~/.local/share'),
34 basedir
.xdg_data_home
)
35 self
.assertEquals([basedir
.xdg_data_home
,
36 '/usr/local/share', '/usr/share'],
37 basedir
.xdg_data_dirs
)
39 def testOverride(self
):
40 self
.assertEquals('/tmp/config', basedir
.xdg_config_home
)
41 self
.assertEquals([basedir
.xdg_config_home
,
42 '/tmp/config.2', '/tmp/config.3'],
43 basedir
.xdg_config_dirs
)
45 self
.assertEquals('/tmp/share', basedir
.xdg_data_home
)
46 self
.assertEquals([basedir
.xdg_data_home
,
47 '/tmp/share.2', '/tmp/share.3'],
48 basedir
.xdg_data_dirs
)
51 assert not os
.path
.isdir(basedir
.xdg_config_home
)
52 path
= basedir
.save_config_path('ROX-Lib-Test')
53 self
.assertEquals('/tmp/config/ROX-Lib-Test', path
)
54 assert os
.path
.isdir(basedir
.xdg_config_home
)
55 assert os
.path
.isdir(path
)
58 self
.assertEquals('/tmp/config/foo/bar',
59 basedir
.save_config_path('foo/bar'))
60 self
.assertEquals('/tmp/config/foo/bar',
61 basedir
.save_config_path('foo', 'bar'))
63 self
.assertEquals('/tmp/share/foo/bar',
64 basedir
.save_data_path('foo/bar'))
65 self
.assertEquals('/tmp/share/foo/bar',
66 basedir
.save_data_path('foo', 'bar'))
68 self
.assertEquals(['/tmp/share/foo/bar'],
69 list(basedir
.load_data_paths('foo/bar')))
70 self
.assertEquals(['/tmp/share/foo/bar'],
71 list(basedir
.load_data_paths('foo', 'bar')))
73 self
.assertEquals(['/tmp/config/foo/bar'],
74 list(basedir
.load_config_paths('foo/bar')))
75 self
.assertEquals(['/tmp/config/foo/bar'],
76 list(basedir
.load_config_paths('foo', 'bar')))
78 suite
= unittest
.makeSuite(TestBasedir
)
79 if __name__
== '__main__':