Lines Matching refs:self

41     def setUp(self):
42 self.tearDown()
44 def tearDown(self):
49 def test_join(self):
50 self.assertEqual(posixpath.join("/foo", "bar", "/bar", "baz"),
52 self.assertEqual(posixpath.join("/foo", "bar", "baz"), "/foo/bar/baz")
53 self.assertEqual(posixpath.join("/foo/", "bar/", "baz/"),
56 self.assertEqual(posixpath.join(b"/foo", b"bar", b"/bar", b"baz"),
58 self.assertEqual(posixpath.join(b"/foo", b"bar", b"baz"),
60 self.assertEqual(posixpath.join(b"/foo/", b"bar/", b"baz/"),
63 def test_split(self):
64 self.assertEqual(posixpath.split("/foo/bar"), ("/foo", "bar"))
65 self.assertEqual(posixpath.split("/"), ("/", ""))
66 self.assertEqual(posixpath.split("foo"), ("", "foo"))
67 self.assertEqual(posixpath.split("////foo"), ("////", "foo"))
68 self.assertEqual(posixpath.split("//foo//bar"), ("//foo", "bar"))
70 self.assertEqual(posixpath.split(b"/foo/bar"), (b"/foo", b"bar"))
71 self.assertEqual(posixpath.split(b"/"), (b"/", b""))
72 self.assertEqual(posixpath.split(b"foo"), (b"", b"foo"))
73 self.assertEqual(posixpath.split(b"////foo"), (b"////", b"foo"))
74 self.assertEqual(posixpath.split(b"//foo//bar"), (b"//foo", b"bar"))
76 def splitextTest(self, path, filename, ext):
77 self.assertEqual(posixpath.splitext(path), (filename, ext))
78 self.assertEqual(posixpath.splitext("/" + path), ("/" + filename, ext))
79 self.assertEqual(posixpath.splitext("abc/" + path),
81 self.assertEqual(posixpath.splitext("abc.def/" + path),
83 self.assertEqual(posixpath.splitext("/abc.def/" + path),
85 self.assertEqual(posixpath.splitext(path + "/"),
92 self.assertEqual(posixpath.splitext(path), (filename, ext))
93 self.assertEqual(posixpath.splitext(b"/" + path),
95 self.assertEqual(posixpath.splitext(b"abc/" + path),
97 self.assertEqual(posixpath.splitext(b"abc.def/" + path),
99 self.assertEqual(posixpath.splitext(b"/abc.def/" + path),
101 self.assertEqual(posixpath.splitext(path + b"/"),
104 def test_splitext(self):
105 self.splitextTest("foo.bar", "foo", ".bar")
106 self.splitextTest("foo.boo.bar", "foo.boo", ".bar")
107 self.splitextTest("foo.boo.biff.bar", "foo.boo.biff", ".bar")
108 self.splitextTest(".csh.rc", ".csh", ".rc")
109 self.splitextTest("nodots", "nodots", "")
110 self.splitextTest(".cshrc", ".cshrc", "")
111 self.splitextTest("...manydots", "...manydots", "")
112 self.splitextTest("...manydots.ext", "...manydots", ".ext")
113 self.splitextTest(".", ".", "")
114 self.splitextTest("..", "..", "")
115 self.splitextTest("........", "........", "")
116 self.splitextTest("", "", "")
118 def test_isabs(self):
119 self.assertIs(posixpath.isabs(""), False)
120 self.assertIs(posixpath.isabs("/"), True)
121 self.assertIs(posixpath.isabs("/foo"), True)
122 self.assertIs(posixpath.isabs("/foo/bar"), True)
123 self.assertIs(posixpath.isabs("foo/bar"), False)
125 self.assertIs(posixpath.isabs(b""), False)
126 self.assertIs(posixpath.isabs(b"/"), True)
127 self.assertIs(posixpath.isabs(b"/foo"), True)
128 self.assertIs(posixpath.isabs(b"/foo/bar"), True)
129 self.assertIs(posixpath.isabs(b"foo/bar"), False)
131 def test_basename(self):
132 self.assertEqual(posixpath.basename("/foo/bar"), "bar")
133 self.assertEqual(posixpath.basename("/"), "")
134 self.assertEqual(posixpath.basename("foo"), "foo")
135 self.assertEqual(posixpath.basename("////foo"), "foo")
136 self.assertEqual(posixpath.basename("//foo//bar"), "bar")
138 self.assertEqual(posixpath.basename(b"/foo/bar"), b"bar")
139 self.assertEqual(posixpath.basename(b"/"), b"")
140 self.assertEqual(posixpath.basename(b"foo"), b"foo")
141 self.assertEqual(posixpath.basename(b"////foo"), b"foo")
142 self.assertEqual(posixpath.basename(b"//foo//bar"), b"bar")
144 def test_dirname(self):
145 self.assertEqual(posixpath.dirname("/foo/bar"), "/foo")
146 self.assertEqual(posixpath.dirname("/"), "/")
147 self.assertEqual(posixpath.dirname("foo"), "")
148 self.assertEqual(posixpath.dirname("////foo"), "////")
149 self.assertEqual(posixpath.dirname("//foo//bar"), "//foo")
151 self.assertEqual(posixpath.dirname(b"/foo/bar"), b"/foo")
152 self.assertEqual(posixpath.dirname(b"/"), b"/")
153 self.assertEqual(posixpath.dirname(b"foo"), b"")
154 self.assertEqual(posixpath.dirname(b"////foo"), b"////")
155 self.assertEqual(posixpath.dirname(b"//foo//bar"), b"//foo")
157 def test_islink(self):
158 self.assertIs(posixpath.islink(os_helper.TESTFN + "1"), False)
159 self.assertIs(posixpath.lexists(os_helper.TESTFN + "2"), False)
163 self.assertIs(posixpath.islink(os_helper.TESTFN + "1"), False)
167 self.assertIs(posixpath.islink(os_helper.TESTFN + "2"), True)
169 self.assertIs(posixpath.islink(os_helper.TESTFN + "2"), True)
170 self.assertIs(posixpath.exists(os_helper.TESTFN + "2"), False)
171 self.assertIs(posixpath.lexists(os_helper.TESTFN + "2"), True)
173 self.assertIs(posixpath.islink(os_helper.TESTFN + "\udfff"), False)
174 self.assertIs(posixpath.islink(os.fsencode(os_helper.TESTFN) + b"\xff"), False)
175 self.assertIs(posixpath.islink(os_helper.TESTFN + "\x00"), False)
176 self.assertIs(posixpath.islink(os.fsencode(os_helper.TESTFN) + b"\x00"), False)
178 def test_ismount(self):
179 self.assertIs(posixpath.ismount("/"), True)
180 self.assertIs(posixpath.ismount(b"/"), True)
181 self.assertIs(posixpath.ismount(FakePath("/")), True)
182 self.assertIs(posixpath.ismount(FakePath(b"/")), True)
184 def test_ismount_non_existent(self):
186 self.assertIs(posixpath.ismount(ABSTFN), False)
189 self.assertIs(posixpath.ismount(ABSTFN), False)
193 self.assertIs(posixpath.ismount('/\udfff'), False)
194 self.assertIs(posixpath.ismount(b'/\xff'), False)
195 self.assertIs(posixpath.ismount('/\x00'), False)
196 self.assertIs(posixpath.ismount(b'/\x00'), False)
199 def test_ismount_symlinks(self):
203 self.assertIs(posixpath.ismount(ABSTFN), False)
208 def test_ismount_different_device(self):
221 self.assertIs(posixpath.ismount(ABSTFN), True)
226 def test_ismount_directory_not_readable(self):
243 self.assertIs(posixpath.ismount(ABSTFN), True)
247 def test_expanduser(self):
248 self.assertEqual(posixpath.expanduser("foo"), "foo")
249 self.assertEqual(posixpath.expanduser(b"foo"), b"foo")
251 def test_expanduser_home_envvar(self):
254 self.assertEqual(posixpath.expanduser("~"), "/home/victor")
258 self.assertEqual(posixpath.expanduser("~"), "/home/victor")
261 with self.subTest(home=home):
263 self.assertEqual(posixpath.expanduser("~"), "/")
264 self.assertEqual(posixpath.expanduser("~/"), "/")
265 self.assertEqual(posixpath.expanduser("~/foo"), "/foo")
269 def test_expanduser_pwd(self):
272 self.assertIsInstance(posixpath.expanduser("~/"), str)
273 self.assertIsInstance(posixpath.expanduser(b"~/"), bytes)
277 self.assertEqual(
281 self.assertEqual(
285 self.assertIsInstance(posixpath.expanduser("~root/"), str)
286 self.assertIsInstance(posixpath.expanduser("~foo/"), str)
287 self.assertIsInstance(posixpath.expanduser(b"~root/"), bytes)
288 self.assertIsInstance(posixpath.expanduser(b"~foo/"), bytes)
297 self.assertEqual(posixpath.expanduser("~"), home)
306 self.assertEqual(posixpath.expanduser(path), path)
359 def test_normpath(self):
360 for path, expected in self.NORMPATH_CASES:
361 with self.subTest(path):
363 self.assertEqual(result, expected)
367 with self.subTest(path, type=bytes):
369 self.assertEqual(result, expected)
372 def test_realpath_curdir(self):
373 self.assertEqual(realpath('.'), os.getcwd())
374 self.assertEqual(realpath('./.'), os.getcwd())
375 self.assertEqual(realpath('/'.join(['.'] * 100)), os.getcwd())
377 self.assertEqual(realpath(b'.'), os.getcwdb())
378 self.assertEqual(realpath(b'./.'), os.getcwdb())
379 self.assertEqual(realpath(b'/'.join([b'.'] * 100)), os.getcwdb())
382 def test_realpath_pardir(self):
383 self.assertEqual(realpath('..'), dirname(os.getcwd()))
384 self.assertEqual(realpath('../..'), dirname(dirname(os.getcwd())))
385 self.assertEqual(realpath('/'.join(['..'] * 100)), '/')
387 self.assertEqual(realpath(b'..'), dirname(os.getcwdb()))
388 self.assertEqual(realpath(b'../..'), dirname(dirname(os.getcwdb())))
389 self.assertEqual(realpath(b'/'.join([b'..'] * 100)), b'/')
393 def test_realpath_basic(self):
397 self.assertEqual(realpath(ABSTFN), ABSTFN+"1")
403 def test_realpath_strict(self):
408 self.assertRaises(FileNotFoundError, realpath, ABSTFN, strict=True)
409 self.assertRaises(FileNotFoundError, realpath, ABSTFN + "2", strict=True)
415 def test_realpath_relative(self):
418 self.assertEqual(realpath(ABSTFN), ABSTFN+"1")
424 def test_realpath_symlink_loops(self):
429 self.assertEqual(realpath(ABSTFN), ABSTFN)
433 self.assertEqual(realpath(ABSTFN+"1"), ABSTFN+"1")
434 self.assertEqual(realpath(ABSTFN+"2"), ABSTFN+"2")
436 self.assertEqual(realpath(ABSTFN+"1/x"), ABSTFN+"1/x")
437 self.assertEqual(realpath(ABSTFN+"1/.."), dirname(ABSTFN))
438 self.assertEqual(realpath(ABSTFN+"1/../x"), dirname(ABSTFN) + "/x")
440 self.assertEqual(realpath(ABSTFN+"1/../" + basename(ABSTFN) + "y"),
442 self.assertEqual(realpath(ABSTFN+"1/../" + basename(ABSTFN) + "1"),
446 self.assertEqual(realpath(ABSTFN+"a"), ABSTFN+"a/b")
450 self.assertEqual(realpath(ABSTFN+"c"), ABSTFN+"c")
454 self.assertEqual(realpath(basename(ABSTFN)), ABSTFN)
465 def test_realpath_symlink_loops_strict(self):
470 self.assertRaises(OSError, realpath, ABSTFN, strict=True)
474 self.assertRaises(OSError, realpath, ABSTFN+"1", strict=True)
475 self.assertRaises(OSError, realpath, ABSTFN+"2", strict=True)
477 self.assertRaises(OSError, realpath, ABSTFN+"1/x", strict=True)
478 self.assertRaises(OSError, realpath, ABSTFN+"1/..", strict=True)
479 self.assertRaises(OSError, realpath, ABSTFN+"1/../x", strict=True)
481 self.assertRaises(OSError, realpath,
483 self.assertRaises(OSError, realpath,
487 self.assertRaises(OSError, realpath, ABSTFN+"a", strict=True)
491 self.assertRaises(OSError, realpath, ABSTFN+"c", strict=True)
495 self.assertRaises(OSError, realpath, basename(ABSTFN), strict=True)
506 def test_realpath_repeated_indirect_symlinks(self):
510 os.symlink('../' + basename(ABSTFN), ABSTFN + '/self')
511 os.symlink('self/self/self', ABSTFN + '/link')
512 self.assertEqual(realpath(ABSTFN + '/link'), ABSTFN)
514 os_helper.unlink(ABSTFN + '/self')
520 def test_realpath_deep_recursion(self):
527 self.assertEqual(realpath(ABSTFN + '/%d' % depth), ABSTFN)
531 self.assertEqual(realpath('%d' % depth), ABSTFN)
539 def test_realpath_resolve_parents(self):
550 self.assertEqual(realpath("a"), ABSTFN + "/y/a")
558 def test_realpath_resolve_before_normalizing(self):
573 self.assertEqual(realpath(ABSTFN + "/link-y/.."), ABSTFN + "/k")
576 self.assertEqual(realpath(basename(ABSTFN) + "/link-y/.."),
586 def test_realpath_resolve_first(self):
596 self.assertEqual(realpath(base + "link"), ABSTFN)
597 self.assertEqual(realpath(base + "link/k"), ABSTFN + "/k")
603 def test_relpath(self):
607 self.assertRaises(ValueError, posixpath.relpath, "")
608 self.assertEqual(posixpath.relpath("a"), "a")
609 self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a")
610 self.assertEqual(posixpath.relpath("a/b"), "a/b")
611 self.assertEqual(posixpath.relpath("../a/b"), "../a/b")
612 self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a")
613 self.assertEqual(posixpath.relpath("a/b", "../c"),
615 self.assertEqual(posixpath.relpath("a", "b/c"), "../../a")
616 self.assertEqual(posixpath.relpath("a", "a"), ".")
617 self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x/y/z"), '../../../foo/bar/bat')
618 self.assertEqual(posixpath.relpath("/foo/bar/bat", "/foo/bar"), 'bat')
619 self.assertEqual(posixpath.relpath("/foo/bar/bat", "/"), 'foo/bar/bat')
620 self.assertEqual(posixpath.relpath("/", "/foo/bar/bat"), '../../..')
621 self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x"), '../foo/bar/bat')
622 self.assertEqual(posixpath.relpath("/x", "/foo/bar/bat"), '../../../x')
623 self.assertEqual(posixpath.relpath("/", "/"), '.')
624 self.assertEqual(posixpath.relpath("/a", "/a"), '.')
625 self.assertEqual(posixpath.relpath("/a/b", "/a/b"), '.')
629 def test_relpath_bytes(self):
633 self.assertRaises(ValueError, posixpath.relpath, b"")
634 self.assertEqual(posixpath.relpath(b"a"), b"a")
635 self.assertEqual(posixpath.relpath(posixpath.abspath(b"a")), b"a")
636 self.assertEqual(posixpath.relpath(b"a/b"), b"a/b")
637 self.assertEqual(posixpath.relpath(b"../a/b"), b"../a/b")
638 self.assertEqual(posixpath.relpath(b"a", b"../b"),
640 self.assertEqual(posixpath.relpath(b"a/b", b"../c"),
642 self.assertEqual(posixpath.relpath(b"a", b"b/c"), b"../../a")
643 self.assertEqual(posixpath.relpath(b"a", b"a"), b".")
644 self.assertEqual(posixpath.relpath(b"/foo/bar/bat", b"/x/y/z"), b'../../../foo/bar/bat')
645 self.assertEqual(posixpath.relpath(b"/foo/bar/bat", b"/foo/bar"), b'bat')
646 self.assertEqual(posixpath.relpath(b"/foo/bar/bat", b"/"), b'foo/bar/bat')
647 self.assertEqual(posixpath.relpath(b"/", b"/foo/bar/bat"), b'../../..')
648 self.assertEqual(posixpath.relpath(b"/foo/bar/bat", b"/x"), b'../foo/bar/bat')
649 self.assertEqual(posixpath.relpath(b"/x", b"/foo/bar/bat"), b'../../../x')
650 self.assertEqual(posixpath.relpath(b"/", b"/"), b'.')
651 self.assertEqual(posixpath.relpath(b"/a", b"/a"), b'.')
652 self.assertEqual(posixpath.relpath(b"/a/b", b"/a/b"), b'.')
654 self.assertRaises(TypeError, posixpath.relpath, b"bytes", "str")
655 self.assertRaises(TypeError, posixpath.relpath, "str", b"bytes")
659 def test_commonpath(self):
661 self.assertEqual(posixpath.commonpath(paths), expected)
662 self.assertEqual(posixpath.commonpath([os.fsencode(p) for p in paths]),
665 self.assertRaises(exc, posixpath.commonpath, paths)
666 self.assertRaises(exc, posixpath.commonpath,
669 self.assertRaises(ValueError, posixpath.commonpath, [])
700 self.assertRaises(TypeError, posixpath.commonpath,
702 self.assertRaises(TypeError, posixpath.commonpath,
704 self.assertRaises(TypeError, posixpath.commonpath,
706 self.assertRaises(TypeError, posixpath.commonpath,
708 self.assertRaises(TypeError, posixpath.commonpath,
710 self.assertRaises(TypeError, posixpath.commonpath,
723 def setUp(self):
724 self.file_name = os_helper.TESTFN
725 self.file_path = FakePath(os_helper.TESTFN)
726 self.addCleanup(os_helper.unlink, self.file_name)
727 with open(self.file_name, 'xb', 0) as file:
730 def assertPathEqual(self, func):
731 self.assertEqual(func(self.file_path), func(self.file_name))
733 def test_path_normcase(self):
734 self.assertPathEqual(self.path.normcase)
736 def test_path_isabs(self):
737 self.assertPathEqual(self.path.isabs)
739 def test_path_join(self):
740 self.assertEqual(self.path.join('a', FakePath('b'), 'c'),
741 self.path.join('a', 'b', 'c'))
743 def test_path_split(self):
744 self.assertPathEqual(self.path.split)
746 def test_path_splitext(self):
747 self.assertPathEqual(self.path.splitext)
749 def test_path_splitdrive(self):
750 self.assertPathEqual(self.path.splitdrive)
752 def test_path_basename(self):
753 self.assertPathEqual(self.path.basename)
755 def test_path_dirname(self):
756 self.assertPathEqual(self.path.dirname)
758 def test_path_islink(self):
759 self.assertPathEqual(self.path.islink)
761 def test_path_lexists(self):
762 self.assertPathEqual(self.path.lexists)
764 def test_path_ismount(self):
765 self.assertPathEqual(self.path.ismount)
767 def test_path_expanduser(self):
768 self.assertPathEqual(self.path.expanduser)
770 def test_path_expandvars(self):
771 self.assertPathEqual(self.path.expandvars)
773 def test_path_normpath(self):
774 self.assertPathEqual(self.path.normpath)
776 def test_path_abspath(self):
777 self.assertPathEqual(self.path.abspath)
779 def test_path_realpath(self):
780 self.assertPathEqual(self.path.realpath)
782 def test_path_relpath(self):
783 self.assertPathEqual(self.path.relpath)
785 def test_path_commonpath(self):
786 common_path = self.path.commonpath([self.file_path, self.file_name])
787 self.assertEqual(common_path, self.file_name)