1 #!/usr/bin/env python2.2
4 sys
.path
.append('../../python')
6 from rox
import basedir
8 class TestBasedir(unittest
.TestCase
):
10 os
.environ
['XDG_DATA_HOME'] = '/tmp/share'
11 os
.environ
['XDG_DATA_DIRS'] = '/tmp/share.2:/tmp/share.3'
12 os
.environ
['XDG_CONFIG_HOME'] = '/tmp/config'
13 os
.environ
['XDG_CONFIG_DIRS'] = '/tmp/config.2:/tmp/config.3'
16 for dir in ['/tmp/config']:
17 if os
.path
.isdir(dir):
20 def testDefaults(self
):
21 for x
in ['XDG_DATA_HOME', 'XDG_DATA_DIRS',
22 'XDG_CONFIG_HOME', 'XDG_CONFIG_DIRS']:
26 self
.assertEquals(os
.path
.expanduser('~/.config'),
27 basedir
.xdg_config_home
)
28 self
.assertEquals([basedir
.xdg_config_home
, '/etc/xdg'],
29 basedir
.xdg_config_dirs
)
31 self
.assertEquals(os
.path
.expanduser('~/.local/share'),
32 basedir
.xdg_data_home
)
33 self
.assertEquals([basedir
.xdg_data_home
,
34 '/usr/local/share', '/usr/share'],
35 basedir
.xdg_data_dirs
)
37 def testOverride(self
):
38 self
.assertEquals('/tmp/config', basedir
.xdg_config_home
)
39 self
.assertEquals([basedir
.xdg_config_home
,
40 '/tmp/config.2', '/tmp/config.3'],
41 basedir
.xdg_config_dirs
)
43 self
.assertEquals('/tmp/share', basedir
.xdg_data_home
)
44 self
.assertEquals([basedir
.xdg_data_home
,
45 '/tmp/share.2', '/tmp/share.3'],
46 basedir
.xdg_data_dirs
)
49 assert not os
.path
.isdir(basedir
.xdg_config_home
)
50 path
= basedir
.save_config_path('ROX-Lib-Test')
51 self
.assertEquals('/tmp/config/ROX-Lib-Test', path
)
52 assert os
.path
.isdir(basedir
.xdg_config_home
)
53 assert os
.path
.isdir(path
)
56 self
.assertEquals('/tmp/config/foo/bar',
57 basedir
.save_config_path('foo/bar'))
58 self
.assertEquals('/tmp/config/foo/bar',
59 basedir
.save_config_path('foo', 'bar'))
61 self
.assertEquals('/tmp/share/foo/bar',
62 basedir
.save_data_path('foo/bar'))
63 self
.assertEquals('/tmp/share/foo/bar',
64 basedir
.save_data_path('foo', 'bar'))
66 self
.assertEquals(['/tmp/share/foo/bar'],
67 list(basedir
.load_data_paths('foo/bar')))
68 self
.assertEquals(['/tmp/share/foo/bar'],
69 list(basedir
.load_data_paths('foo', 'bar')))
71 self
.assertEquals(['/tmp/config/foo/bar'],
72 list(basedir
.load_config_paths('foo/bar')))
73 self
.assertEquals(['/tmp/config/foo/bar'],
74 list(basedir
.load_config_paths('foo', 'bar')))
76 suite
= unittest
.makeSuite(TestBasedir
)
77 if __name__
== '__main__':