aboutsummaryrefslogtreecommitdiffstats
path: root/reverse_path_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'reverse_path_test.py')
-rw-r--r--reverse_path_test.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/reverse_path_test.py b/reverse_path_test.py
new file mode 100644
index 00000000..c5bb8e69
--- /dev/null
+++ b/reverse_path_test.py
@@ -0,0 +1,45 @@
+from __future__ import print_function
+
+import os
+import shutil
+import tempfile
+import unittest
+
+from reverse_path import reverse_path
+
+class TestReversePath(unittest.TestCase):
+ def setUp(self):
+ self.tmpdir = tempfile.mkdtemp()
+ os.chdir(self.tmpdir)
+
+ def tearDown(self):
+ shutil.rmtree(self.tmpdir)
+
+ def test_absolute(self):
+ self.assertEqual(self.tmpdir, reverse_path('/out'))
+
+ def test_relative(self):
+ os.mkdir('a')
+ os.mkdir('b')
+
+ self.assertEqual('..', reverse_path('a'))
+
+ os.chdir('a')
+ self.assertEqual('a', reverse_path('..'))
+ self.assertEqual('.', reverse_path('../a'))
+ self.assertEqual('../a', reverse_path('../b'))
+
+ def test_symlink(self):
+ os.mkdir('b')
+ os.symlink('b', 'a')
+ os.mkdir('b/d')
+ os.symlink('b/d', 'c')
+
+ self.assertEqual('..', reverse_path('a'))
+ self.assertEqual('..', reverse_path('b'))
+ self.assertEqual(self.tmpdir, reverse_path('c'))
+ self.assertEqual('../..', reverse_path('b/d'))
+
+
+if __name__ == '__main__':
+ unittest.main()