~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_osutils.py

  • Committer: Martin Packman
  • Date: 2012-02-01 12:31:53 UTC
  • mto: (6437.23.4 2.5)
  • mto: This revision was merged to the branch mainline in revision 6459.
  • Revision ID: martin.packman@canonical.com-20120201123153-dklmkf7wlurfba26
Add and test osutils._get_home_dir for unicode access to home location across platforms

Show diffs side-by-side

added added

removed removed

Lines of Context:
2095
2095
        self.assertEquals(self.gid, s.st_gid)
2096
2096
 
2097
2097
 
 
2098
class TestGetHomeDir(tests.TestCase):
 
2099
 
 
2100
    def test_is_unicode(self):
 
2101
        home = osutils._get_home_dir()
 
2102
        self.assertIsInstance(home, unicode)
 
2103
 
 
2104
    def test_posix_homeless(self):
 
2105
        self.overrideEnv('HOME', None)
 
2106
        home = osutils._get_home_dir()
 
2107
        self.assertIsInstance(home, unicode)
 
2108
 
 
2109
    def test_posix_home_ascii(self):
 
2110
        self.overrideEnv('HOME', '/home/test')
 
2111
        home = osutils._posix_get_home_dir()
 
2112
        self.assertIsInstance(home, unicode)
 
2113
        self.assertEqual(u'/home/test', home)
 
2114
 
 
2115
    def test_posix_home_unicode(self):
 
2116
        self.requireFeature(features.ByteStringNamedFilesystem)
 
2117
        self.overrideEnv('HOME', '/home/\xa7test')
 
2118
        self.overrideAttr(osutils, "_fs_enc", "iso8859-1")
 
2119
        self.assertEqual(u'/home/\xa7test', osutils._posix_get_home_dir())
 
2120
        osutils._fs_enc = "iso8859-5"
 
2121
        self.assertEqual(u'/home/\u0407test', osutils._posix_get_home_dir())
 
2122
        osutils._fs_enc = "utf-8"
 
2123
        self.assertRaises(errors.BadFilenameEncoding,
 
2124
            osutils._posix_get_home_dir)
 
2125
 
 
2126
 
2098
2127
class TestGetuserUnicode(tests.TestCase):
2099
2128
 
2100
2129
    def test_is_unicode(self):