~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_transport_implementations.py

  • Committer: John Arbash Meinel
  • Date: 2006-09-05 20:27:57 UTC
  • mto: (1946.2.8 reduce-knit-churn)
  • mto: This revision was merged to the branch mainline in revision 1988.
  • Revision ID: john@arbash-meinel.com-20060905202757-504f1f3519a25183
clean up append, append_bytes, and append_multi tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
389
389
            self.assertRaises(TransportNotPossible,
390
390
                    t.append, 'a', 'add\nsome\nmore\ncontents\n')
391
391
            return
392
 
        t.put_multi([
393
 
                ('a', StringIO('diff\ncontents for\na\n')),
394
 
                ('b', StringIO('contents\nfor b\n'))
395
 
                ])
 
392
        t.put_bytes('a', 'diff\ncontents for\na\n')
 
393
        t.put_bytes('b', 'contents\nfor b\n')
396
394
 
397
395
        self.assertEqual(20,
398
396
            t.append('a', StringIO('add\nsome\nmore\ncontents\n')))
401
399
            'diff\ncontents for\na\nadd\nsome\nmore\ncontents\n',
402
400
            t, 'a')
403
401
 
 
402
        # a file with no parent should fail..
 
403
        self.assertRaises(NoSuchFile,
 
404
                          t.append, 'missing/path', StringIO('content'))
 
405
 
 
406
        # And we can create new files, too
 
407
        self.assertEqual(0,
 
408
            t.append('c', StringIO('some text\nfor a missing file\n')))
 
409
        self.check_transport_contents('some text\nfor a missing file\n',
 
410
                                      t, 'c')
 
411
 
 
412
    def test_append_bytes(self):
 
413
        t = self.get_transport()
 
414
 
 
415
        if t.is_readonly():
 
416
            self.assertRaises(TransportNotPossible,
 
417
                    t.append_bytes, 'a', 'add\nsome\nmore\ncontents\n')
 
418
            return
 
419
 
 
420
        self.assertEqual(0, t.append_bytes('a', 'diff\ncontents for\na\n'))
 
421
        self.assertEqual(0, t.append_bytes('b', 'contents\nfor b\n'))
 
422
 
 
423
        self.assertEqual(20,
 
424
            t.append_bytes('a', 'add\nsome\nmore\ncontents\n'))
 
425
 
 
426
        self.check_transport_contents(
 
427
            'diff\ncontents for\na\nadd\nsome\nmore\ncontents\n',
 
428
            t, 'a')
 
429
 
 
430
        # a file with no parent should fail..
 
431
        self.assertRaises(NoSuchFile,
 
432
                          t.append_bytes, 'missing/path', 'content')
 
433
 
 
434
    def test_append_multi(self):
 
435
        t = self.get_transport()
 
436
 
 
437
        if t.is_readonly():
 
438
            return
 
439
        t.put_bytes('a', 'diff\ncontents for\na\n'
 
440
                         'add\nsome\nmore\ncontents\n')
 
441
        t.put_bytes('b', 'contents\nfor b\n')
 
442
 
404
443
        self.assertEqual((43, 15),
405
444
            t.append_multi([('a', StringIO('and\nthen\nsome\nmore\n')),
406
445
                            ('b', StringIO('some\nmore\nfor\nb\n'))]))
430
469
                'from an iterator\n',
431
470
                t, 'b')
432
471
 
433
 
        self.assertEqual(0,
434
 
            t.append('c', StringIO('some text\nfor a missing file\n')))
435
472
        self.assertEqual((80, 0),
436
473
            t.append_multi([('a', StringIO('some text in a\n')),
437
474
                            ('d', StringIO('missing file r\n'))]))
443
480
            'a little bit more\n'
444
481
            'some text in a\n',
445
482
            t, 'a')
446
 
        self.check_transport_contents('some text\nfor a missing file\n',
447
 
                                      t, 'c')
448
483
        self.check_transport_contents('missing file r\n', t, 'd')
449
 
        
450
 
        # a file with no parent should fail..
451
 
        self.assertRaises(NoSuchFile,
452
 
                          t.append, 'missing/path',
453
 
                          StringIO('content'))
454
 
 
455
 
    def test_append_bytes(self):
456
 
        t = self.get_transport()
457
 
 
458
 
        if t.is_readonly():
459
 
            self.assertRaises(TransportNotPossible,
460
 
                    t.append, 'a', 'add\nsome\nmore\ncontents\n')
461
 
            return
462
 
 
463
 
        self.assertEqual(0, t.append_bytes('a', 'diff\ncontents for\na\n'))
464
 
        self.assertEqual(0, t.append_bytes('b', 'contents\nfor b\n'))
465
 
 
466
 
        self.assertEqual(20,
467
 
            t.append_bytes('a', 'add\nsome\nmore\ncontents\n'))
468
 
 
469
 
        self.check_transport_contents(
470
 
            'diff\ncontents for\na\nadd\nsome\nmore\ncontents\n',
471
 
            t, 'a')
472
 
 
473
 
        # a file with no parent should fail..
474
 
        self.assertRaises(NoSuchFile,
475
 
                          t.append_bytes, 'missing/path', 'content')
476
484
 
477
485
    def test_append_mode(self):
 
486
        """Check that append accepts a mode parameter"""
478
487
        # check append accepts a mode
479
488
        t = self.get_transport()
480
489
        if t.is_readonly():
 
490
            self.assertRaises(TransportNotPossible,
 
491
                t.append, 'f', StringIO('f'), mode=None)
481
492
            return
482
493
        t.append('f', StringIO('f'), mode=None)
483
494
        
485
496
        # check append_bytes accepts a mode
486
497
        t = self.get_transport()
487
498
        if t.is_readonly():
 
499
            self.assertRaises(TransportNotPossible,
 
500
                t.append_bytes, 'f', 'f', mode=None)
488
501
            return
489
 
        t.append('f', StringIO('f'), mode=None)
 
502
        t.append_bytes('f', 'f', mode=None)
490
503
        
491
504
    def test_delete(self):
492
505
        # TODO: Test Transport.delete