/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/test_versionedfile.py

  • Committer: Robert Collins
  • Date: 2006-03-12 14:57:32 UTC
  • mto: (1615.1.2 bzr.mbp.integration)
  • mto: This revision was merged to the branch mainline in revision 1616.
  • Revision ID: robertc@robertcollins.net-20060312145732-78cb2cc26ae0f578
Reduce re-extraction of texts during weave to knit joins by providing a memoisation facility.

Show diffs side-by-side

added added

removed removed

Lines of Context:
66
66
        f = self.reopen_file()
67
67
        verify_file(f)
68
68
 
 
69
    def test_adds_with_parent_texts(self):
 
70
        f = self.get_file()
 
71
        parent_texts = {}
 
72
        parent_texts['r0'] = f.add_lines('r0', [], ['a\n', 'b\n'])
 
73
        try:
 
74
            parent_texts['r1'] = f.add_lines_with_ghosts('r1',
 
75
                                                         ['r0', 'ghost'], 
 
76
                                                         ['b\n', 'c\n'],
 
77
                                                         parent_texts=parent_texts)
 
78
        except NotImplementedError:
 
79
            # if the format doesn't support ghosts, just add normally.
 
80
            parent_texts['r1'] = f.add_lines('r1',
 
81
                                             ['r0'], 
 
82
                                             ['b\n', 'c\n'],
 
83
                                             parent_texts=parent_texts)
 
84
        f.add_lines('r2', ['r1'], ['c\n', 'd\n'], parent_texts=parent_texts)
 
85
        self.assertNotEqual(None, parent_texts['r0'])
 
86
        self.assertNotEqual(None, parent_texts['r1'])
 
87
        def verify_file(f):
 
88
            versions = f.versions()
 
89
            self.assertTrue('r0' in versions)
 
90
            self.assertTrue('r1' in versions)
 
91
            self.assertTrue('r2' in versions)
 
92
            self.assertEquals(f.get_lines('r0'), ['a\n', 'b\n'])
 
93
            self.assertEquals(f.get_lines('r1'), ['b\n', 'c\n'])
 
94
            self.assertEquals(f.get_lines('r2'), ['c\n', 'd\n'])
 
95
            self.assertEqual(3, f.num_versions())
 
96
            origins = f.annotate('r1')
 
97
            self.assertEquals(origins[0][0], 'r0')
 
98
            self.assertEquals(origins[1][0], 'r1')
 
99
            origins = f.annotate('r2')
 
100
            self.assertEquals(origins[0][0], 'r1')
 
101
            self.assertEquals(origins[1][0], 'r2')
 
102
 
 
103
        verify_file(f)
 
104
        f = self.reopen_file()
 
105
        verify_file(f)
 
106
 
69
107
    def test_ancestry(self):
70
108
        f = self.get_file()
71
109
        self.assertEqual([], f.get_ancestry([]))