2 from __future__
import unicode_literals
10 class ColaUtilsTestCase(unittest
.TestCase
):
11 """Tests the cola.utils module."""
13 def test_basename(self
):
14 """Test the utils.basename function."""
15 self
.assertEqual(utils
.basename('bar'), 'bar')
16 self
.assertEqual(utils
.basename('/bar'), 'bar')
17 self
.assertEqual(utils
.basename('/bar '), 'bar ')
18 self
.assertEqual(utils
.basename('foo/bar'), 'bar')
19 self
.assertEqual(utils
.basename('/foo/bar'), 'bar')
20 self
.assertEqual(utils
.basename('foo/foo/bar'), 'bar')
21 self
.assertEqual(utils
.basename('/foo/foo/bar'), 'bar')
22 self
.assertEqual(utils
.basename('/foo/foo//bar'), 'bar')
23 self
.assertEqual(utils
.basename('////foo //foo//bar'), 'bar')
25 def test_dirname(self
):
26 """Test the utils.dirname function."""
27 self
.assertEqual(utils
.dirname('bar'), '')
28 self
.assertEqual(utils
.dirname('/bar'), '')
29 self
.assertEqual(utils
.dirname('//bar'), '')
30 self
.assertEqual(utils
.dirname('///bar'), '')
31 self
.assertEqual(utils
.dirname('foo/bar'), 'foo')
32 self
.assertEqual(utils
.dirname('foo//bar'), 'foo')
33 self
.assertEqual(utils
.dirname('foo /bar'), 'foo ')
34 self
.assertEqual(utils
.dirname('/foo//bar'), '/foo')
35 self
.assertEqual(utils
.dirname('/foo /bar'), '/foo ')
36 self
.assertEqual(utils
.dirname('//foo//bar'), '/foo')
37 self
.assertEqual(utils
.dirname('///foo///bar'), '/foo')
39 def test_add_parents(self
):
40 """Test the utils.add_parents() function."""
41 paths
= set(['foo///bar///baz'])
42 path_set
= utils
.add_parents(paths
)
44 self
.assertTrue('foo/bar/baz' in path_set
)
45 self
.assertTrue('foo/bar' in path_set
)
46 self
.assertTrue('foo' in path_set
)
47 self
.assertFalse('foo///bar///baz' in path_set
)
49 # Ensure that the original set is unchanged
50 expect
= set(['foo///bar///baz'])
51 self
.assertEqual(expect
, paths
)
54 def test_tmpdir_gives_consistent_results(self
):
55 utils
.tmpdir
.func
.cache
.clear()
57 first
= utils
.tmpdir()
58 second
= utils
.tmpdir()
59 third
= utils
.tmpdir()
61 self
.assertEqual(first
, second
)
62 self
.assertEqual(first
, third
)
66 def test_tmp_filename_gives_good_file(self
):
67 utils
.tmpdir
.func
.cache
.clear()
69 tmpdir
= utils
.tmpdir()
70 first
= utils
.tmp_filename('test')
71 second
= utils
.tmp_filename('test')
73 self
.assertNotEqual(first
, second
)
74 self
.assertTrue(first
.startswith(os
.path
.join(tmpdir
, 'test')))
75 self
.assertTrue(second
.startswith(os
.path
.join(tmpdir
, 'test')))
80 if __name__
== '__main__':