diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/posixpath.py | 8 | ||||
-rw-r--r-- | Lib/test/test_posixpath.py | 6 |
2 files changed, 9 insertions, 5 deletions
diff --git a/Lib/posixpath.py b/Lib/posixpath.py index 1c63af8..7f907ef 100644 --- a/Lib/posixpath.py +++ b/Lib/posixpath.py @@ -303,11 +303,11 @@ def expanduser(path): do nothing.""" if not path.startswith('~'): return path - i, n = 1, len(path) - while i < n and path[i] != '/': - i += 1 + i = path.find('/', 1) + if i < 0: + i = len(path) if i == 1: - if not 'HOME' in os.environ: + if 'HOME' not in os.environ: import pwd userhome = pwd.getpwuid(os.getuid()).pw_dir else: diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py index 9ba7216..30551d8 100644 --- a/Lib/test/test_posixpath.py +++ b/Lib/test/test_posixpath.py @@ -332,12 +332,16 @@ class PosixPathTest(unittest.TestCase): def test_expanduser(self): self.assertEqual(posixpath.expanduser("foo"), "foo") - self.assert_(isinstance(posixpath.expanduser("~/"), basestring)) try: import pwd except ImportError: pass else: + self.assert_(isinstance(posixpath.expanduser("~/"), basestring)) + self.assertEqual( + posixpath.expanduser("~") + "/", + posixpath.expanduser("~/") + ) self.assert_(isinstance(posixpath.expanduser("~root/"), basestring)) self.assert_(isinstance(posixpath.expanduser("~foo/"), basestring)) |