~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_versionedfile.py

  • Committer: John Arbash Meinel
  • Date: 2009-06-02 18:59:18 UTC
  • mto: This revision was merged to the branch mainline in revision 4469.
  • Revision ID: john@arbash-meinel.com-20090602185918-86l9eljnn8z2iljk
Add a VersionedFile.add_text() api.

Similar to VF.add_lines() except it takes a string for the content, rather
than a list of lines.

For now, it just thunks over to VF.add_lines(), but it will be special
cased in the future.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1471
1471
            self.addCleanup(lambda:self.cleanup(files))
1472
1472
        return files
1473
1473
 
 
1474
    def test_add_lines(self):
 
1475
        f = self.get_versionedfiles()
 
1476
        if self.key_length == 1:
 
1477
            key0 = ('r0',)
 
1478
            key1 = ('r1',)
 
1479
            key2 = ('r2',)
 
1480
            keyf = ('foo',)
 
1481
        else:
 
1482
            key0 = ('fid', 'r0')
 
1483
            key1 = ('fid', 'r1')
 
1484
            key2 = ('fid', 'r2')
 
1485
            keyf = ('fid', 'foo')
 
1486
        f.add_lines(key0, [], ['a\n', 'b\n'])
 
1487
        if self.graph:
 
1488
            f.add_lines(key1, [key0], ['b\n', 'c\n'])
 
1489
        else:
 
1490
            f.add_lines(key1, [], ['b\n', 'c\n'])
 
1491
        keys = f.keys()
 
1492
        self.assertTrue(key0 in keys)
 
1493
        self.assertTrue(key1 in keys)
 
1494
        records = []
 
1495
        for record in f.get_record_stream([key0, key1], 'unordered', True):
 
1496
            records.append((record.key, record.get_bytes_as('fulltext')))
 
1497
        records.sort()
 
1498
        self.assertEqual([(key0, 'a\nb\n'), (key1, 'b\nc\n')], records)
 
1499
 
 
1500
    def test_add_text(self):
 
1501
        f = self.get_versionedfiles()
 
1502
        if self.key_length == 1:
 
1503
            key0 = ('r0',)
 
1504
            key1 = ('r1',)
 
1505
            key2 = ('r2',)
 
1506
            keyf = ('foo',)
 
1507
        else:
 
1508
            key0 = ('fid', 'r0')
 
1509
            key1 = ('fid', 'r1')
 
1510
            key2 = ('fid', 'r2')
 
1511
            keyf = ('fid', 'foo')
 
1512
        f.add_text(key0, [], 'a\nb\n')
 
1513
        if self.graph:
 
1514
            f.add_text(key1, [key0], 'b\nc\n')
 
1515
        else:
 
1516
            f.add_text(key1, [], 'b\nc\n')
 
1517
        keys = f.keys()
 
1518
        self.assertTrue(key0 in keys)
 
1519
        self.assertTrue(key1 in keys)
 
1520
        records = []
 
1521
        for record in f.get_record_stream([key0, key1], 'unordered', True):
 
1522
            records.append((record.key, record.get_bytes_as('fulltext')))
 
1523
        records.sort()
 
1524
        self.assertEqual([(key0, 'a\nb\n'), (key1, 'b\nc\n')], records)
 
1525
 
1474
1526
    def test_annotate(self):
1475
1527
        files = self.get_versionedfiles()
1476
1528
        self.get_diamond_files(files)