blob: 557769352091143dcd3c953baefe12eef033ada0 [file] [log] [blame]
Colin Cross14747412016-04-27 16:10:38 -07001#!/usr/bin/env python
2
Dan Willemsen6ac18ec2016-03-22 14:08:17 -07003from __future__ import print_function
4
5import os
6import shutil
7import tempfile
8import unittest
9
10from reverse_path import reverse_path
11
12class TestReversePath(unittest.TestCase):
13 def setUp(self):
14 self.tmpdir = tempfile.mkdtemp()
15 os.chdir(self.tmpdir)
16
17 def tearDown(self):
18 shutil.rmtree(self.tmpdir)
19
20 def test_absolute(self):
21 self.assertEqual(self.tmpdir, reverse_path('/out'))
22
23 def test_relative(self):
24 os.mkdir('a')
25 os.mkdir('b')
26
27 self.assertEqual('..', reverse_path('a'))
28
29 os.chdir('a')
30 self.assertEqual('a', reverse_path('..'))
31 self.assertEqual('.', reverse_path('../a'))
32 self.assertEqual('../a', reverse_path('../b'))
33
34 def test_symlink(self):
35 os.mkdir('b')
36 os.symlink('b', 'a')
37 os.mkdir('b/d')
38 os.symlink('b/d', 'c')
39
40 self.assertEqual('..', reverse_path('a'))
41 self.assertEqual('..', reverse_path('b'))
42 self.assertEqual(self.tmpdir, reverse_path('c'))
43 self.assertEqual('../..', reverse_path('b/d'))
44
45
46if __name__ == '__main__':
47 unittest.main()