~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_nonascii.py

  • Committer: John Arbash Meinel
  • Date: 2006-07-03 19:27:26 UTC
  • mto: This revision was merged to the branch mainline in revision 1845.
  • Revision ID: john@arbash-meinel.com-20060703192726-629d09e2a00190e9
Use different filenames to avoid path collisions on win32 w/ FAT32

Show diffs side-by-side

added added

removed removed

Lines of Context:
61
61
            self.assertEqual((a_circle_d, False), unicode_filename(a_circle_d))
62
62
 
63
63
    def test_platform(self):
 
64
        # With FAT32 and certain encodings on win32
 
65
        # a_circle_c and a_dots_c actually map to the same file
 
66
        # adding a suffix kicks in the 'preserving but insensitive'
 
67
        # route, and maintains the right files
 
68
        files = [a_circle_c+'.1', a_dots_c+'.2', z_umlat_c+'.3']
64
69
        try:
65
 
            self.build_tree([a_circle_c, a_dots_c, z_umlat_c])
 
70
            self.build_tree(files)
66
71
        except UnicodeError:
67
72
            raise TestSkipped("filesystem cannot create unicode files")
68
73
 
69
74
        if sys.platform == 'darwin':
70
 
            expected = sorted([a_circle_d, a_dots_d, z_umlat_d])
 
75
            expected = sorted([a_circle_d+'.1', a_dots_d+'.2', z_umlat_d+'.3'])
71
76
        else:
72
 
            expected = sorted([a_circle_c, a_dots_c, z_umlat_c])
 
77
            expected = sorted(files)
73
78
 
74
79
        present = sorted(os.listdir(u'.'))
75
80
        self.assertEqual(expected, present)
77
82
    def test_access(self):
78
83
        # We should always be able to access files by the path returned
79
84
        # from unicode_filename
80
 
        files = [a_circle_c, a_dots_c, z_umlat_c]
 
85
        # With FAT32 and certain encodings on win32
 
86
        # a_circle_c and a_dots_c actually map to the same file
 
87
        # adding a suffix kicks in the 'preserving but insensitive'
 
88
        # route, and maintains the right files
 
89
        files = [a_circle_c+'.1', a_dots_c+'.2', z_umlat_c+'.3']
81
90
        try:
82
91
            self.build_tree(files)
83
92
        except UnicodeError:
88
97
            # We should get an exception if we can't open the file at
89
98
            # this location.
90
99
            f = open(path, 'rb')
91
 
            f.close()
 
100
            try:
 
101
                # Check the contents
 
102
                shouldbe = 'contents of %s%s' % (path.encode('utf8'),
 
103
                                                 os.linesep)
 
104
                actual = f.read()
 
105
            finally:
 
106
                f.close()
 
107
            self.assertEqual(shouldbe, actual, 
 
108
                             'contents of %s is incorrect: %r != %r'
 
109
                             % (path, shouldbe, actual))
92
110
 
93
111