~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_workingtree.py

  • Committer: John Arbash Meinel
  • Date: 2006-07-18 15:41:17 UTC
  • mto: This revision was merged to the branch mainline in revision 1875.
  • Revision ID: john@arbash-meinel.com-20060718154117-29600c9d3f23c59f
Fix bug #43801 by squashing file ids a little bit more.

Show diffs side-by-side

added added

removed removed

Lines of Context:
246
246
 
247
247
    
248
248
    def test_gen_file_id(self):
249
 
        self.assertStartsWith(bzrlib.workingtree.gen_file_id('bar'), 'bar-')
250
 
        self.assertStartsWith(bzrlib.workingtree.gen_file_id('Mwoo oof\t m'), 'Mwoooofm-')
251
 
        self.assertStartsWith(bzrlib.workingtree.gen_file_id('..gam.py'), 'gam.py-')
252
 
        self.assertStartsWith(bzrlib.workingtree.gen_file_id('..Mwoo oof\t m'), 'Mwoooofm-')
 
249
        gen_file_id = bzrlib.workingtree.gen_file_id
 
250
 
 
251
        # We try to use the filename if possible
 
252
        self.assertStartsWith(gen_file_id('bar'), 'bar-')
 
253
 
 
254
        # but we squash capitalization, and remove non word characters
 
255
        self.assertStartsWith(gen_file_id('Mwoo oof\t m'), 'mwoooofm-')
 
256
 
 
257
        # We also remove leading '.' characters to prevent hidden file-ids
 
258
        self.assertStartsWith(gen_file_id('..gam.py'), 'gam.py-')
 
259
        self.assertStartsWith(gen_file_id('..Mwoo oof\t m'), 'mwoooofm-')
 
260
 
 
261
        # we remove unicode characters, and still don't end up with a 
 
262
        # hidden file id
 
263
        self.assertStartsWith(gen_file_id(u'\xe5\xb5.txt'), 'txt-')
 
264
        
 
265
        # We truncate long filenames to be friendly to OS. This is
 
266
        # less important with case squashing, because we do less escaping
 
267
        # (A long all-caps filename used to create a *huge* filename on disk)
 
268
        fid = gen_file_id('A'*50 + '.txt')
 
269
        self.assertStartsWith(fid, 'a'*20 + '-')
 
270
 
 
271
        # restricting length happens after the other actions, so
 
272
        # we preserv as much as possible
 
273
        fid = gen_file_id('\xe5\xb5..aBcd\tefGhijKLMnop\tqrstuvwxyz')
 
274
        self.assertStartsWith(fid, 'abcdefghijklmnopqrst-')
253
275
 
254
276
    def test_next_id_suffix(self):
255
277
        bzrlib.workingtree._gen_id_suffix = None