summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/posixpath.py8
-rw-r--r--Lib/test/test_posixpath.py6
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))