this repo has no description
1#!/usr/bin/env python3
2# Copyright (c) Facebook, Inc. and its affiliates. (http://www.facebook.com)
3import unittest
4
5from test_support import pyro_only
6
7
8try:
9 import _path
10except ImportError:
11 pass
12
13
14@pyro_only
15class UnderPathTest(unittest.TestCase):
16 def test_dirname_with_non_str_raises_type_error(self):
17 with self.assertRaises(TypeError):
18 _path.dirname(1)
19
20 def test_dirname_handles_empty_string(self):
21 self.assertEqual(_path.dirname(""), "")
22
23 def test_dirname_keeps_stripping_path_until_root(self):
24 path = "/foo/bar"
25 path = _path.dirname(path)
26 self.assertEqual(path, "/foo")
27 path = _path.dirname(path)
28 self.assertEqual(path, "/")
29 path = _path.dirname(path)
30 self.assertEqual(path, "/")
31
32 def test_join_with_non_str_path_raises_type_error(self):
33 with self.assertRaises(TypeError):
34 _path.join(1)
35
36 with self.assertRaises(TypeError):
37 _path.join("path", 1)
38
39 def test_join_with_single_path_returns_path(self):
40 path = "/"
41 self.assertEqual(_path.join(path), path)
42
43 def test_join_with_concats_multiple_paths(self):
44 self.assertEqual(_path.join("foo/", "bar"), "foo/bar")
45 self.assertEqual(_path.join("foo", "bar", "baz"), "foo/bar/baz")
46
47 def test_join_with_root_path_starts_at_root_path(self):
48 self.assertEqual(_path.join("foo", "/bar"), "/bar")
49 self.assertEqual(_path.join("foo", "/bar", "baz"), "/bar/baz")
50 self.assertEqual(_path.join("foo", "/bar", "/baz"), "/baz")
51
52
53if __name__ == "__main__":
54 unittest.main()