Added 'testall' script to run all the unit tests together (Thomas Leonard).
[rox-lib/lack.git] / tests / python / testbasedir.py
blob9c5c2aa85b88f1c8dfd313fcbf89b2441e1020ba
1 #!/usr/bin/env python2.2
2 import unittest
3 import os, sys, shutil
4 sys.path.append('../../python')
6 from rox import basedir
8 class TestBasedir(unittest.TestCase):
9 def setUp(self):
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'
14 reload(basedir)
16 for dir in ['/tmp/config']:
17 if os.path.isdir(dir):
18 shutil.rmtree(dir)
20 def testDefaults(self):
21 for x in ['XDG_DATA_HOME', 'XDG_DATA_DIRS',
22 'XDG_CONFIG_HOME', 'XDG_CONFIG_DIRS']:
23 if x in os.environ:
24 del os.environ[x]
25 reload(basedir)
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)
48 def testMkDir(self):
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)
55 def testJoin(self):
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__':
78 sys.argv.append('-v')
79 unittest.main()