Fixed deprecation warning with Python 2.6
[rox-lib.git] / ROX-Lib2 / tests / python / testbasedir.py
blob54948c49e5ee2107d997d2be038a38bad5572f0d
1 #!/usr/bin/env python2.6
2 import unittest
3 import os, sys, shutil
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):
11 def setUp(self):
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'
16 reload(basedir)
18 for dir in ['/tmp/config']:
19 if os.path.isdir(dir):
20 shutil.rmtree(dir)
22 def testDefaults(self):
23 for x in ['XDG_DATA_HOME', 'XDG_DATA_DIRS',
24 'XDG_CONFIG_HOME', 'XDG_CONFIG_DIRS']:
25 if x in os.environ:
26 del os.environ[x]
27 reload(basedir)
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)
50 def testMkDir(self):
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)
57 def testJoin(self):
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__':
80 sys.argv.append('-v')
81 unittest.main()