389
389
self.assertRaises(TransportNotPossible,
390
390
t.append, 'a', 'add\nsome\nmore\ncontents\n')
393
('a', StringIO('diff\ncontents for\na\n')),
394
('b', StringIO('contents\nfor b\n'))
392
t.put_bytes('a', 'diff\ncontents for\na\n')
393
t.put_bytes('b', 'contents\nfor b\n')
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
# a file with no parent should fail..
403
self.assertRaises(NoSuchFile,
404
t.append, 'missing/path', StringIO('content'))
406
# And we can create new files, too
408
t.append('c', StringIO('some text\nfor a missing file\n')))
409
self.check_transport_contents('some text\nfor a missing file\n',
412
def test_append_bytes(self):
413
t = self.get_transport()
416
self.assertRaises(TransportNotPossible,
417
t.append_bytes, 'a', 'add\nsome\nmore\ncontents\n')
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'))
424
t.append_bytes('a', 'add\nsome\nmore\ncontents\n'))
426
self.check_transport_contents(
427
'diff\ncontents for\na\nadd\nsome\nmore\ncontents\n',
430
# a file with no parent should fail..
431
self.assertRaises(NoSuchFile,
432
t.append_bytes, 'missing/path', 'content')
434
def test_append_multi(self):
435
t = self.get_transport()
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')
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',
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',
446
self.check_transport_contents('some text\nfor a missing file\n',
448
483
self.check_transport_contents('missing file r\n', t, 'd')
450
# a file with no parent should fail..
451
self.assertRaises(NoSuchFile,
452
t.append, 'missing/path',
455
def test_append_bytes(self):
456
t = self.get_transport()
459
self.assertRaises(TransportNotPossible,
460
t.append, 'a', 'add\nsome\nmore\ncontents\n')
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'))
467
t.append_bytes('a', 'add\nsome\nmore\ncontents\n'))
469
self.check_transport_contents(
470
'diff\ncontents for\na\nadd\nsome\nmore\ncontents\n',
473
# a file with no parent should fail..
474
self.assertRaises(NoSuchFile,
475
t.append_bytes, 'missing/path', 'content')
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)
482
493
t.append('f', StringIO('f'), mode=None)
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)
489
t.append('f', StringIO('f'), mode=None)
502
t.append_bytes('f', 'f', mode=None)
491
504
def test_delete(self):
492
505
# TODO: Test Transport.delete