Merged revisions 78247 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78247 | ezio.melotti | 2010-02-20 10:09:39 +0200 (Sat, 20 Feb 2010) | 1 line

  #3426: os.path.abspath now returns unicode when its arg is unicode.
........
diff --git a/Lib/test/test_macpath.py b/Lib/test/test_macpath.py
index 2449b0a..81374d1 100644
--- a/Lib/test/test_macpath.py
+++ b/Lib/test/test_macpath.py
@@ -1,3 +1,4 @@
+import os
 import macpath
 from test import test_support
 import unittest
@@ -8,6 +9,22 @@
     def test_abspath(self):
         self.assert_(macpath.abspath("xx:yy") == "xx:yy")
 
+        # Issue 3426: check that abspath retuns unicode when the arg is unicode
+        # and str when it's str, with both ASCII and non-ASCII cwds
+        saved_cwd = os.getcwd()
+        for cwd in (u'cwd', u'\xe7w\xf0'):
+            try:
+                os.mkdir(cwd)
+                os.chdir(cwd)
+                for path in ('', 'foo', 'f\xf2\xf2', '/foo', 'C:\\'):
+                    self.assertTrue(isinstance(macpath.abspath(path), str))
+                for upath in (u'', u'fuu', u'f\xf9\xf9', u'/fuu', u'U:\\'):
+                    self.assertTrue(isinstance(macpath.abspath(upath), unicode))
+            finally:
+                os.chdir(saved_cwd)
+                os.rmdir(cwd)
+
+
     def test_isabs(self):
         isabs = macpath.isabs
         self.assert_(isabs("xx:yy"))