/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_non_ascii.py

  • Committer: John Arbash Meinel
  • Date: 2006-07-03 17:22:41 UTC
  • mto: (1711.2.75 jam-integration)
  • mto: This revision was merged to the branch mainline in revision 1838.
  • Revision ID: john@arbash-meinel.com-20060703172241-472cf8694c656854
Cleanup the rest of the test_non_ascii suite to use internal apis.

Show diffs side-by-side

added added

removed removed

Lines of Context:
84
84
        open(fname, 'wb').write('unicode filename\n')
85
85
        wt.add(fname)
86
86
        wt.commit(u'And a unicode file\n')
 
87
        self.wt = wt
87
88
 
88
89
    def test_status(self):
89
90
        bzr = self.run_bzr_decode
184
185
        self.failIfExists('a')
185
186
        self.failUnlessExists(fname2)
186
187
 
187
 
        bzr('commit', '-m', 'renamed to non-ascii')
 
188
        # After 'mv' we need to re-open the working tree
 
189
        self.wt = self.wt.bzrdir.open_workingtree()
 
190
        self.wt.commit('renamed to non-ascii')
188
191
 
189
 
        bzr('mkdir', dirname)
 
192
        os.mkdir(dirname)
 
193
        self.wt.add(dirname)
190
194
        txt = bzr('mv', fname1, fname2, dirname)
191
195
        self.assertEqual([u'%s => %s/%s' % (fname1, dirname, fname1),
192
196
                          u'%s => %s/%s' % (fname2, dirname, fname2)]
211
215
 
212
216
        dirname1 = self.info['directory']
213
217
        dirname2 = self.info['directory'] + '2'
214
 
        bzr('branch', '.', dirname1)
215
 
        bzr('branch', dirname1, dirname2)
 
218
        url1 = urlutils.local_path_to_url(dirname1)
 
219
        url2 = urlutils.local_path_to_url(dirname2)
 
220
        out_bzrdir = self.wt.bzrdir.sprout(url1)
 
221
        out_bzrdir.sprout(url2)
216
222
 
217
223
        os.chdir(dirname1)
218
224
        open('a', 'ab').write('more text\n')
219
 
        bzr('commit', '-m', 'mod a')
 
225
        self.wt.commit('mod a')
220
226
 
221
227
        pwd = osutils.getcwd()
222
228
 
227
233
 
228
234
        os.chdir('../' + dirname1)
229
235
        open('a', 'ab').write('and yet more\n')
230
 
        bzr('commit', '-m', 'modifying a by ' + self.info['committer'])
 
236
        self.wt.commit(u'modifying a by ' + self.info['committer'])
231
237
 
232
238
        os.chdir('../' + dirname2)
233
239
        # We should be able to pull, even if our encoding is bad
246
252
        bzr('push', dirname)
247
253
 
248
254
        open('a', 'ab').write('adding more text\n')
249
 
        bzr('commit', '-m', 'added some stuff')
 
255
        self.wt.commit('added some stuff')
250
256
 
251
257
        # TODO: check the output text is properly encoded
252
258
        bzr('push')
253
259
 
254
260
        f = open('a', 'ab')
255
 
        f.write('and a bit more: ')
256
 
        f.write(dirname.encode('utf-8'))
257
 
        f.write('\n')
258
 
        f.close()
 
261
        try:
 
262
            f.write('and a bit more: ')
 
263
            f.write(dirname.encode('utf-8'))
 
264
            f.write('\n')
 
265
        finally:
 
266
            f.close()
259
267
 
260
 
        bzr('commit', '-m', u'Added some ' + dirname)
 
268
        self.wt.commit('Added some ' + dirname)
261
269
        bzr('push', '--verbose', encoding='ascii')
262
270
 
263
271
        bzr('push', '--verbose', dirname + '2')
306
314
        # Create a directory structure
307
315
        fname = self.info['filename']
308
316
        dirname = self.info['directory']
309
 
        bzr('mkdir', 'base')
310
 
        bzr('mkdir', 'base/' + dirname)
 
317
        os.mkdir('base')
 
318
        os.mkdir('base/' + dirname)
 
319
        self.wt.add('base')
 
320
        self.wt.add('base/'+dirname)
311
321
        path = '/'.join(['base', dirname, fname])
312
 
        bzr('mv', fname, path)
313
 
        bzr('commit', '-m', 'moving things around')
 
322
        self.wt.rename_one(fname, path)
 
323
        self.wt.commit('moving things around')
314
324
 
315
325
        txt = bzr('file-path', path)
316
326
 
345
355
 
346
356
        fname = self.info['filename']
347
357
        os.remove(fname)
348
 
        bzr('rm', fname)
 
358
        self.wt.remove(fname)
349
359
 
350
360
        txt = bzr('deleted')
351
361
        self.assertEqual(fname+'\n', txt)
374
384
 
375
385
        fname = self.info['filename'] + '2'
376
386
        open(fname, 'wb').write('added\n')
377
 
        bzr('add', fname)
 
387
        self.wt.add(fname)
378
388
 
379
389
        txt = bzr('added')
380
390
        self.assertEqual(fname+'\n', txt)
385
395
        bzr = self.run_bzr_decode
386
396
 
387
397
        dirname = self.info['directory']
 
398
        url = urlutils.local_path_to_url(dirname)
388
399
        bzr('root')
389
400
 
390
 
        bzr('branch', u'.', dirname)
 
401
        self.wt.bzrdir.sprout(url)
391
402
 
392
403
        os.chdir(dirname)
393
404
 
421
432
        self.assertEqual(u'     3 added %s\n' % (fname,), txt)
422
433
 
423
434
        fname2 = self.info['filename'] + '2'
424
 
        bzr('mv', fname, fname2)
425
 
        bzr('commit', '-m', u'Renamed %s => %s' % (fname, fname2))
 
435
        self.wt.rename_one(fname, fname2)
 
436
        self.wt.commit(u'Renamed %s => %s' % (fname, fname2))
426
437
 
427
438
        txt = bzr('touching-revisions', fname2)
428
439
        expected_txt = (u'     3 added %s\n' 
464
475
        fname2 = self.info['filename'] + '2.txt'
465
476
        open(fname2, 'wb').write('ignored\n')
466
477
 
467
 
        txt = bzr('unknowns')
468
 
        self.assertEqual(u'"%s"\n' % (fname2,), txt)
 
478
        def check_unknowns(expected):
 
479
            self.assertEqual(expected, list(self.wt.unknowns()))
 
480
 
 
481
        check_unknowns([fname2])
469
482
 
470
483
        bzr('ignore', './' + fname2)
471
 
        txt = bzr('unknowns')
472
 
        self.assertEqual(u'', txt)
 
484
        # After 'ignore' you must re-open the working tree
 
485
        self.wt = self.wt.bzrdir.open_workingtree()
 
486
        check_unknowns([])
473
487
 
474
488
        fname3 = self.info['filename'] + '3.txt'
475
489
        open(fname3, 'wb').write('unknown 3\n')
476
 
        txt = bzr('unknowns')
477
 
        self.assertEqual(u'"%s"\n' % (fname3,), txt)
 
490
        check_unknowns([fname3])
478
491
 
479
492
        # Ignore should not care what the encoding is
480
493
        # (right now it doesn't print anything)
481
494
        bzr('ignore', fname3, encoding='ascii')
482
 
        txt = bzr('unknowns')
483
 
        self.assertEqual('', txt)
 
495
        self.wt = self.wt.bzrdir.open_workingtree()
 
496
        check_unknowns([])
484
497
 
485
498
        # Now try a wildcard match
486
499
        fname4 = self.info['filename'] + '4.txt'
487
500
        open(fname4, 'wb').write('unknown 4\n')
488
501
        bzr('ignore', '*.txt')
489
 
        txt = bzr('unknowns')
490
 
        self.assertEqual('', txt)
 
502
        self.wt = self.wt.bzrdir.open_workingtree()
 
503
        check_unknowns([])
491
504
 
 
505
        # and a different wildcard that matches everything
492
506
        os.remove('.bzrignore')
493
507
        bzr('ignore', self.info['filename'] + '*')
494
 
        txt = bzr('unknowns')
495
 
        self.assertEqual('', txt)
 
508
        self.wt = self.wt.bzrdir.open_workingtree()
 
509
        check_unknowns([])
496
510
 
497
511
    def test_missing(self):
498
512
        bzr = self.run_bzr_decode