Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(73)

Side by Side Diff: Lib/test/test_posixpath.py

Issue 3055: combined patches from http://bugs.python.org/issue3187 (Closed) SVN Base: http://svn.python.org/view/*checkout*/python/branches/py3k/
Patch Set: Number 3 from Victor Created 1 year, 2 months ago , Downloaded from: http://bugs.python.org/file11680/python3_bytes_filename-3.patch
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 import unittest 1 import unittest
2 from test import support 2 from test import support
3 3
4 import posixpath, os 4 import posixpath, os
5 from posixpath import realpath, abspath, join, dirname, basename, relpath 5 from posixpath import realpath, abspath, join, dirname, basename, relpath
6 6
7 # An absolute path to a temporary filename for testing. We can't rely on TESTFN 7 # An absolute path to a temporary filename for testing. We can't rely on TESTFN
8 # being an absolute path, so we need this. 8 # being an absolute path, so we need this.
9 9
10 ABSTFN = abspath(support.TESTFN) 10 ABSTFN = abspath(support.TESTFN)
(...skipping 13 matching lines...) Expand all
24 for suffix in ["", "1", "2"]: 24 for suffix in ["", "1", "2"]:
25 support.unlink(support.TESTFN + suffix) 25 support.unlink(support.TESTFN + suffix)
26 safe_rmdir(support.TESTFN + suffix) 26 safe_rmdir(support.TESTFN + suffix)
27 27
28 def assertIs(self, a, b): 28 def assertIs(self, a, b):
29 self.assert_(a is b) 29 self.assert_(a is b)
30 30
31 def test_normcase(self): 31 def test_normcase(self):
32 # Check that normcase() is idempotent 32 # Check that normcase() is idempotent
33 p = "FoO/./BaR" 33 p = "FoO/./BaR"
34 p = posixpath.normcase(p) 34 self.assertEqual(p, posixpath.normcase(p))
35
36 p = b"FoO/./BaR"
35 self.assertEqual(p, posixpath.normcase(p)) 37 self.assertEqual(p, posixpath.normcase(p))
36 38
37 self.assertRaises(TypeError, posixpath.normcase) 39 self.assertRaises(TypeError, posixpath.normcase)
38 40
39 def test_join(self): 41 def test_join(self):
40 self.assertEqual(posixpath.join("/foo", "bar", "/bar", "baz"), "/bar/baz ") 42 self.assertEqual(posixpath.join("/foo", "bar", "/bar", "baz"), "/bar/baz ")
41 self.assertEqual(posixpath.join("/foo", "bar", "baz"), "/foo/bar/baz") 43 self.assertEqual(posixpath.join("/foo", "bar", "baz"), "/foo/bar/baz")
42 self.assertEqual(posixpath.join("/foo/", "bar/", "baz/"), "/foo/bar/baz/ ") 44 self.assertEqual(posixpath.join("/foo/", "bar/", "baz/"), "/foo/bar/baz/ ")
43 45
46 self.assertEqual(posixpath.join(b"/foo", b"bar", b"/bar", b"baz"),
47 b"/bar/baz")
48 self.assertEqual(posixpath.join(b"/foo", b"bar", b"baz"),
49 b"/foo/bar/baz")
50 self.assertEqual(posixpath.join(b"/foo/", b"bar/", b"baz/"),
51 b"/foo/bar/baz/")
52
44 self.assertRaises(TypeError, posixpath.join) 53 self.assertRaises(TypeError, posixpath.join)
54 self.assertRaises(TypeError, posixpath.join, b"bytes", "str")
55 self.assertRaises(TypeError, posixpath.join, "str", b"bytes")
45 56
46 def test_splitdrive(self): 57 def test_splitdrive(self):
47 self.assertEqual(posixpath.splitdrive("/foo/bar"), ("", "/foo/bar")) 58 self.assertEqual(posixpath.splitdrive("/foo/bar"), ("", "/foo/bar"))
59 self.assertEqual(posixpath.splitdrive(b"/foo/bar"), (b"", b"/foo/bar"))
48 60
49 self.assertRaises(TypeError, posixpath.splitdrive) 61 self.assertRaises(TypeError, posixpath.splitdrive)
50 62
51 def test_split(self): 63 def test_split(self):
52 self.assertEqual(posixpath.split("/foo/bar"), ("/foo", "bar")) 64 self.assertEqual(posixpath.split("/foo/bar"), ("/foo", "bar"))
53 self.assertEqual(posixpath.split("/"), ("/", "")) 65 self.assertEqual(posixpath.split("/"), ("/", ""))
54 self.assertEqual(posixpath.split("foo"), ("", "foo")) 66 self.assertEqual(posixpath.split("foo"), ("", "foo"))
55 self.assertEqual(posixpath.split("////foo"), ("////", "foo")) 67 self.assertEqual(posixpath.split("////foo"), ("////", "foo"))
56 self.assertEqual(posixpath.split("//foo//bar"), ("//foo", "bar")) 68 self.assertEqual(posixpath.split("//foo//bar"), ("//foo", "bar"))
69
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"))
57 75
58 self.assertRaises(TypeError, posixpath.split) 76 self.assertRaises(TypeError, posixpath.split)
59 77
60 def splitextTest(self, path, filename, ext): 78 def splitextTest(self, path, filename, ext):
61 self.assertEqual(posixpath.splitext(path), (filename, ext)) 79 self.assertEqual(posixpath.splitext(path), (filename, ext))
62 self.assertEqual(posixpath.splitext("/" + path), ("/" + filename, ext)) 80 self.assertEqual(posixpath.splitext("/" + path), ("/" + filename, ext))
63 self.assertEqual(posixpath.splitext("abc/" + path), ("abc/" + filename, ext)) 81 self.assertEqual(posixpath.splitext("abc/" + path), ("abc/" + filename, ext))
64 self.assertEqual(posixpath.splitext("abc.def/" + path), ("abc.def/" + fi lename, ext)) 82 self.assertEqual(posixpath.splitext("abc.def/" + path), ("abc.def/" + fi lename, ext))
65 self.assertEqual(posixpath.splitext("/abc.def/" + path), ("/abc.def/" + filename, ext)) 83 self.assertEqual(posixpath.splitext("/abc.def/" + path), ("/abc.def/" + filename, ext))
66 self.assertEqual(posixpath.splitext(path + "/"), (filename + ext + "/", "")) 84 self.assertEqual(posixpath.splitext(path + "/"), (filename + ext + "/", ""))
(...skipping 13 matching lines...) Expand all
80 self.splitextTest("", "", "") 98 self.splitextTest("", "", "")
81 self.assertRaises(TypeError, posixpath.splitext) 99 self.assertRaises(TypeError, posixpath.splitext)
82 100
83 def test_isabs(self): 101 def test_isabs(self):
84 self.assertIs(posixpath.isabs(""), False) 102 self.assertIs(posixpath.isabs(""), False)
85 self.assertIs(posixpath.isabs("/"), True) 103 self.assertIs(posixpath.isabs("/"), True)
86 self.assertIs(posixpath.isabs("/foo"), True) 104 self.assertIs(posixpath.isabs("/foo"), True)
87 self.assertIs(posixpath.isabs("/foo/bar"), True) 105 self.assertIs(posixpath.isabs("/foo/bar"), True)
88 self.assertIs(posixpath.isabs("foo/bar"), False) 106 self.assertIs(posixpath.isabs("foo/bar"), False)
89 107
108 self.assertIs(posixpath.isabs(b""), False)
109 self.assertIs(posixpath.isabs(b"/"), True)
110 self.assertIs(posixpath.isabs(b"/foo"), True)
111 self.assertIs(posixpath.isabs(b"/foo/bar"), True)
112 self.assertIs(posixpath.isabs(b"foo/bar"), False)
113
90 self.assertRaises(TypeError, posixpath.isabs) 114 self.assertRaises(TypeError, posixpath.isabs)
91
92 def test_splitdrive(self):
93 self.assertEqual(posixpath.splitdrive("/foo/bar"), ("", "/foo/bar"))
94
95 self.assertRaises(TypeError, posixpath.splitdrive)
96 115
97 def test_basename(self): 116 def test_basename(self):
98 self.assertEqual(posixpath.basename("/foo/bar"), "bar") 117 self.assertEqual(posixpath.basename("/foo/bar"), "bar")
99 self.assertEqual(posixpath.basename("/"), "") 118 self.assertEqual(posixpath.basename("/"), "")
100 self.assertEqual(posixpath.basename("foo"), "foo") 119 self.assertEqual(posixpath.basename("foo"), "foo")
101 self.assertEqual(posixpath.basename("////foo"), "foo") 120 self.assertEqual(posixpath.basename("////foo"), "foo")
102 self.assertEqual(posixpath.basename("//foo//bar"), "bar") 121 self.assertEqual(posixpath.basename("//foo//bar"), "bar")
122
123 self.assertEqual(posixpath.basename(b"/foo/bar"), b"bar")
124 self.assertEqual(posixpath.basename(b"/"), b"")
125 self.assertEqual(posixpath.basename(b"foo"), b"foo")
126 self.assertEqual(posixpath.basename(b"////foo"), b"foo")
127 self.assertEqual(posixpath.basename(b"//foo//bar"), b"bar")
103 128
104 self.assertRaises(TypeError, posixpath.basename) 129 self.assertRaises(TypeError, posixpath.basename)
105 130
106 def test_dirname(self): 131 def test_dirname(self):
107 self.assertEqual(posixpath.dirname("/foo/bar"), "/foo") 132 self.assertEqual(posixpath.dirname("/foo/bar"), "/foo")
108 self.assertEqual(posixpath.dirname("/"), "/") 133 self.assertEqual(posixpath.dirname("/"), "/")
109 self.assertEqual(posixpath.dirname("foo"), "") 134 self.assertEqual(posixpath.dirname("foo"), "")
110 self.assertEqual(posixpath.dirname("////foo"), "////") 135 self.assertEqual(posixpath.dirname("////foo"), "////")
111 self.assertEqual(posixpath.dirname("//foo//bar"), "//foo") 136 self.assertEqual(posixpath.dirname("//foo//bar"), "//foo")
137
138 self.assertEqual(posixpath.dirname(b"/foo/bar"), b"/foo")
139 self.assertEqual(posixpath.dirname(b"/"), b"/")
140 self.assertEqual(posixpath.dirname(b"foo"), b"")
141 self.assertEqual(posixpath.dirname(b"////foo"), b"////")
142 self.assertEqual(posixpath.dirname(b"//foo//bar"), b"//foo")
112 143
113 self.assertRaises(TypeError, posixpath.dirname) 144 self.assertRaises(TypeError, posixpath.dirname)
114 145
115 def test_commonprefix(self): 146 def test_commonprefix(self):
116 self.assertEqual( 147 self.assertEqual(
117 posixpath.commonprefix([]), 148 posixpath.commonprefix([]),
118 "" 149 ""
119 ) 150 )
120 self.assertEqual( 151 self.assertEqual(
121 posixpath.commonprefix(["/home/swenson/spam", "/home/swen/spam"]), 152 posixpath.commonprefix(["/home/swenson/spam", "/home/swen/spam"]),
122 "/home/swen" 153 "/home/swen"
123 ) 154 )
124 self.assertEqual( 155 self.assertEqual(
125 posixpath.commonprefix(["/home/swen/spam", "/home/swen/eggs"]), 156 posixpath.commonprefix(["/home/swen/spam", "/home/swen/eggs"]),
126 "/home/swen/" 157 "/home/swen/"
127 ) 158 )
128 self.assertEqual( 159 self.assertEqual(
129 posixpath.commonprefix(["/home/swen/spam", "/home/swen/spam"]), 160 posixpath.commonprefix(["/home/swen/spam", "/home/swen/spam"]),
130 "/home/swen/spam" 161 "/home/swen/spam"
162 )
163
164 self.assertEqual(
165 posixpath.commonprefix([b"/home/swenson/spam", b"/home/swen/spam"]),
166 b"/home/swen"
167 )
168 self.assertEqual(
169 posixpath.commonprefix([b"/home/swen/spam", b"/home/swen/eggs"]),
170 b"/home/swen/"
171 )
172 self.assertEqual(
173 posixpath.commonprefix([b"/home/swen/spam", b"/home/swen/spam"]),
174 b"/home/swen/spam"
131 ) 175 )
132 176
133 testlist = ['', 'abc', 'Xbcd', 'Xb', 'XY', 'abcd', 'aXc', 'abd', 'ab', ' aX', 'abcX'] 177 testlist = ['', 'abc', 'Xbcd', 'Xb', 'XY', 'abcd', 'aXc', 'abd', 'ab', ' aX', 'abcX']
134 for s1 in testlist: 178 for s1 in testlist:
135 for s2 in testlist: 179 for s2 in testlist:
136 p = posixpath.commonprefix([s1, s2]) 180 p = posixpath.commonprefix([s1, s2])
137 self.assert_(s1.startswith(p)) 181 self.assert_(s1.startswith(p))
138 self.assert_(s2.startswith(p)) 182 self.assert_(s2.startswith(p))
139 if s1 != s2: 183 if s1 != s2:
140 n = len(p) 184 n = len(p)
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 367
324 self.assertRaises(TypeError, posixpath.samestat) 368 self.assertRaises(TypeError, posixpath.samestat)
325 369
326 def test_ismount(self): 370 def test_ismount(self):
327 self.assertIs(posixpath.ismount("/"), True) 371 self.assertIs(posixpath.ismount("/"), True)
328 372
329 self.assertRaises(TypeError, posixpath.ismount) 373 self.assertRaises(TypeError, posixpath.ismount)
330 374
331 def test_expanduser(self): 375 def test_expanduser(self):
332 self.assertEqual(posixpath.expanduser("foo"), "foo") 376 self.assertEqual(posixpath.expanduser("foo"), "foo")
377 self.assertEqual(posixpath.expanduser(b"foo"), b"foo")
333 try: 378 try:
334 import pwd 379 import pwd
335 except ImportError: 380 except ImportError:
336 pass 381 pass
337 else: 382 else:
338 self.assert_(isinstance(posixpath.expanduser("~/"), str)) 383 self.assert_(isinstance(posixpath.expanduser("~/"), str))
384 self.assert_(isinstance(posixpath.expanduser(b"~/"), bytes))
339 # if home directory == root directory, this test makes no sense 385 # if home directory == root directory, this test makes no sense
340 if posixpath.expanduser("~") != '/': 386 if posixpath.expanduser("~") != '/':
341 self.assertEqual( 387 self.assertEqual(
342 posixpath.expanduser("~") + "/", 388 posixpath.expanduser("~") + "/",
343 posixpath.expanduser("~/") 389 posixpath.expanduser("~/")
344 ) 390 )
391 self.assertEqual(
392 posixpath.expanduser(b"~") + b"/",
393 posixpath.expanduser(b"~/")
394 )
345 self.assert_(isinstance(posixpath.expanduser("~root/"), str)) 395 self.assert_(isinstance(posixpath.expanduser("~root/"), str))
346 self.assert_(isinstance(posixpath.expanduser("~foo/"), str)) 396 self.assert_(isinstance(posixpath.expanduser("~foo/"), str))
397 self.assert_(isinstance(posixpath.expanduser(b"~root/"), bytes))
398 self.assert_(isinstance(posixpath.expanduser(b"~foo/"), bytes))
347 399
348 self.assertRaises(TypeError, posixpath.expanduser) 400 self.assertRaises(TypeError, posixpath.expanduser)
349 401
350 def test_expandvars(self): 402 def test_expandvars(self):
351 oldenv = os.environ.copy() 403 oldenv = os.environ.copy()
352 try: 404 try:
353 os.environ.clear() 405 os.environ.clear()
354 os.environ["foo"] = "bar" 406 os.environ["foo"] = "bar"
355 os.environ["{foo"] = "baz1" 407 os.environ["{foo"] = "baz1"
356 os.environ["{foo}"] = "baz2" 408 os.environ["{foo}"] = "baz2"
357 self.assertEqual(posixpath.expandvars("foo"), "foo") 409 self.assertEqual(posixpath.expandvars("foo"), "foo")
358 self.assertEqual(posixpath.expandvars("$foo bar"), "bar bar") 410 self.assertEqual(posixpath.expandvars("$foo bar"), "bar bar")
359 self.assertEqual(posixpath.expandvars("${foo}bar"), "barbar") 411 self.assertEqual(posixpath.expandvars("${foo}bar"), "barbar")
360 self.assertEqual(posixpath.expandvars("$[foo]bar"), "$[foo]bar") 412 self.assertEqual(posixpath.expandvars("$[foo]bar"), "$[foo]bar")
361 self.assertEqual(posixpath.expandvars("$bar bar"), "$bar bar") 413 self.assertEqual(posixpath.expandvars("$bar bar"), "$bar bar")
362 self.assertEqual(posixpath.expandvars("$?bar"), "$?bar") 414 self.assertEqual(posixpath.expandvars("$?bar"), "$?bar")
363 self.assertEqual(posixpath.expandvars("${foo}bar"), "barbar") 415 self.assertEqual(posixpath.expandvars("${foo}bar"), "barbar")
364 self.assertEqual(posixpath.expandvars("$foo}bar"), "bar}bar") 416 self.assertEqual(posixpath.expandvars("$foo}bar"), "bar}bar")
365 self.assertEqual(posixpath.expandvars("${foo"), "${foo") 417 self.assertEqual(posixpath.expandvars("${foo"), "${foo")
366 self.assertEqual(posixpath.expandvars("${{foo}}"), "baz1}") 418 self.assertEqual(posixpath.expandvars("${{foo}}"), "baz1}")
367 self.assertEqual(posixpath.expandvars("$foo$foo"), "barbar") 419 self.assertEqual(posixpath.expandvars("$foo$foo"), "barbar")
368 self.assertEqual(posixpath.expandvars("$bar$bar"), "$bar$bar") 420 self.assertEqual(posixpath.expandvars("$bar$bar"), "$bar$bar")
421
422 self.assertEqual(posixpath.expandvars(b"foo"), b"foo")
423 self.assertEqual(posixpath.expandvars(b"$foo bar"), b"bar bar")
424 self.assertEqual(posixpath.expandvars(b"${foo}bar"), b"barbar")
425 self.assertEqual(posixpath.expandvars(b"$[foo]bar"), b"$[foo]bar")
426 self.assertEqual(posixpath.expandvars(b"$bar bar"), b"$bar bar")
427 self.assertEqual(posixpath.expandvars(b"$?bar"), b"$?bar")
428 self.assertEqual(posixpath.expandvars(b"${foo}bar"), b"barbar")
429 self.assertEqual(posixpath.expandvars(b"$foo}bar"), b"bar}bar")
430 self.assertEqual(posixpath.expandvars(b"${foo"), b"${foo")
431 self.assertEqual(posixpath.expandvars(b"${{foo}}"), b"baz1}")
432 self.assertEqual(posixpath.expandvars(b"$foo$foo"), b"barbar")
433 self.assertEqual(posixpath.expandvars(b"$bar$bar"), b"$bar$bar")
369 finally: 434 finally:
370 os.environ.clear() 435 os.environ.clear()
371 os.environ.update(oldenv) 436 os.environ.update(oldenv)
372 437
373 self.assertRaises(TypeError, posixpath.expandvars) 438 self.assertRaises(TypeError, posixpath.expandvars)
374 439
375 def test_normpath(self): 440 def test_normpath(self):
376 self.assertEqual(posixpath.normpath(""), ".") 441 self.assertEqual(posixpath.normpath(""), ".")
377 self.assertEqual(posixpath.normpath("/"), "/") 442 self.assertEqual(posixpath.normpath("/"), "/")
378 self.assertEqual(posixpath.normpath("//"), "//") 443 self.assertEqual(posixpath.normpath("//"), "//")
379 self.assertEqual(posixpath.normpath("///"), "/") 444 self.assertEqual(posixpath.normpath("///"), "/")
380 self.assertEqual(posixpath.normpath("///foo/.//bar//"), "/foo/bar") 445 self.assertEqual(posixpath.normpath("///foo/.//bar//"), "/foo/bar")
381 self.assertEqual(posixpath.normpath("///foo/.//bar//.//..//.//baz"), "/f oo/baz") 446 self.assertEqual(posixpath.normpath("///foo/.//bar//.//..//.//baz"), "/f oo/baz")
382 self.assertEqual(posixpath.normpath("///..//./foo/.//bar"), "/foo/bar") 447 self.assertEqual(posixpath.normpath("///..//./foo/.//bar"), "/foo/bar")
448
449 self.assertEqual(posixpath.normpath(b""), b".")
450 self.assertEqual(posixpath.normpath(b"/"), b"/")
451 self.assertEqual(posixpath.normpath(b"//"), b"//")
452 self.assertEqual(posixpath.normpath(b"///"), b"/")
453 self.assertEqual(posixpath.normpath(b"///foo/.//bar//"), b"/foo/bar")
454 self.assertEqual(posixpath.normpath(b"///foo/.//bar//.//..//.//baz"), b" /foo/baz")
455 self.assertEqual(posixpath.normpath(b"///..//./foo/.//bar"), b"/foo/bar" )
383 456
384 self.assertRaises(TypeError, posixpath.normpath) 457 self.assertRaises(TypeError, posixpath.normpath)
385 458
386 def test_abspath(self): 459 def test_abspath(self):
387 self.assert_("foo" in posixpath.abspath("foo")) 460 self.assert_("foo" in posixpath.abspath("foo"))
461 self.assert_(b"foo" in posixpath.abspath(b"foo"))
388 462
389 self.assertRaises(TypeError, posixpath.abspath) 463 self.assertRaises(TypeError, posixpath.abspath)
390 464
391 def test_realpath(self): 465 def test_realpath(self):
392 self.assert_("foo" in realpath("foo")) 466 self.assert_("foo" in realpath("foo"))
467 self.assert_(b"foo" in realpath(b"foo"))
393 self.assertRaises(TypeError, posixpath.realpath) 468 self.assertRaises(TypeError, posixpath.realpath)
394 469
395 if hasattr(os, "symlink"): 470 if hasattr(os, "symlink"):
396 def test_realpath_basic(self): 471 def test_realpath_basic(self):
397 # Basic operation. 472 # Basic operation.
398 try: 473 try:
399 os.symlink(ABSTFN+"1", ABSTFN) 474 os.symlink(ABSTFN+"1", ABSTFN)
400 self.assertEqual(realpath(ABSTFN), ABSTFN+"1") 475 self.assertEqual(realpath(ABSTFN), ABSTFN+"1")
401 finally: 476 finally:
402 support.unlink(ABSTFN) 477 support.unlink(ABSTFN)
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 self.assertEqual(posixpath.relpath("a"), "a") 572 self.assertEqual(posixpath.relpath("a"), "a")
498 self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a") 573 self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a")
499 self.assertEqual(posixpath.relpath("a/b"), "a/b") 574 self.assertEqual(posixpath.relpath("a/b"), "a/b")
500 self.assertEqual(posixpath.relpath("../a/b"), "../a/b") 575 self.assertEqual(posixpath.relpath("../a/b"), "../a/b")
501 self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a") 576 self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a")
502 self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/ b") 577 self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/ b")
503 self.assertEqual(posixpath.relpath("a", "b/c"), "../../a") 578 self.assertEqual(posixpath.relpath("a", "b/c"), "../../a")
504 self.assertEqual(posixpath.relpath("a", "a"), ".") 579 self.assertEqual(posixpath.relpath("a", "a"), ".")
505 finally: 580 finally:
506 os.getcwd = real_getcwd 581 os.getcwd = real_getcwd
582
583 def test_relpath_bytes(self):
584 (real_getcwdb, os.getcwdb) = (os.getcwdb, lambda: br"/home/user/bar")
585 try:
586 curdir = os.path.split(os.getcwdb())[-1]
587 self.assertRaises(ValueError, posixpath.relpath, b"")
588 self.assertEqual(posixpath.relpath(b"a"), b"a")
589 self.assertEqual(posixpath.relpath(posixpath.abspath(b"a")), b"a")
590 self.assertEqual(posixpath.relpath(b"a/b"), b"a/b")
591 self.assertEqual(posixpath.relpath(b"../a/b"), b"../a/b")
592 self.assertEqual(posixpath.relpath(b"a", b"../b"),
593 b"../"+curdir+b"/a")
594 self.assertEqual(posixpath.relpath(b"a/b", b"../c"),
595 b"../"+curdir+b"/a/b")
596 self.assertEqual(posixpath.relpath(b"a", b"b/c"), b"../../a")
597 self.assertEqual(posixpath.relpath(b"a", b"a"), b".")
598
599 self.assertRaises(TypeError, posixpath.relpath, b"bytes", "str")
600 self.assertRaises(TypeError, posixpath.relpath, "str", b"bytes")
601 finally:
602 os.getcwdb = real_getcwdb
507 603
508 def test_main(): 604 def test_main():
509 support.run_unittest(PosixPathTest) 605 support.run_unittest(PosixPathTest)
510 606
511 if __name__=="__main__": 607 if __name__=="__main__":
512 test_main() 608 test_main()
OLDNEW

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld r497