1557
1558
self.assertRaises(RevisionNotPresent,
1558
1559
files.annotate, prefix + ('missing-key',))
1560
def test_get_annotator(self):
1561
def test_check_no_parameters(self):
1562
files = self.get_versionedfiles()
1564
def test_check_progressbar_parameter(self):
1565
"""A progress bar can be supplied because check can be a generator."""
1566
pb = ui.ui_factory.nested_progress_bar()
1567
self.addCleanup(pb.finished)
1568
files = self.get_versionedfiles()
1569
files.check(progress_bar=pb)
1571
def test_check_with_keys_becomes_generator(self):
1561
1572
files = self.get_versionedfiles()
1562
1573
self.get_diamond_files(files)
1563
origin_key = self.get_simple_key('origin')
1564
base_key = self.get_simple_key('base')
1565
left_key = self.get_simple_key('left')
1566
right_key = self.get_simple_key('right')
1567
merged_key = self.get_simple_key('merged')
1568
# annotator = files.get_annotator()
1569
# introduced full text
1570
origins, lines = files.get_annotator().annotate(origin_key)
1571
self.assertEqual([(origin_key,)], origins)
1572
self.assertEqual(['origin\n'], lines)
1574
origins, lines = files.get_annotator().annotate(base_key)
1575
self.assertEqual([(base_key,)], origins)
1577
origins, lines = files.get_annotator().annotate(merged_key)
1586
# Without a graph everything is new.
1593
self.assertRaises(RevisionNotPresent,
1594
files.get_annotator().annotate, self.get_simple_key('missing-key'))
1575
entries = files.check(keys=keys)
1577
# Texts output should be fulltexts.
1578
self.capture_stream(files, entries, seen.add,
1579
files.get_parent_map(keys), require_fulltext=True)
1580
# All texts should be output.
1581
self.assertEqual(set(keys), seen)
1596
1583
def test_construct(self):
1597
1584
"""Each parameterised test can be constructed on a transport."""
1766
1753
'knit-delta-closure', 'knit-delta-closure-ref',
1767
1754
'groupcompress-block', 'groupcompress-block-ref'])
1769
def capture_stream(self, f, entries, on_seen, parents):
1756
def capture_stream(self, f, entries, on_seen, parents,
1757
require_fulltext=False):
1770
1758
"""Capture a stream for testing."""
1771
1759
for factory in entries:
1772
1760
on_seen(factory.key)
1777
1765
self.assertEqual(parents[factory.key], factory.parents)
1778
1766
self.assertIsInstance(factory.get_bytes_as(factory.storage_kind),
1768
if require_fulltext:
1769
factory.get_bytes_as('fulltext')
1781
1771
def test_get_record_stream_interface(self):
1782
1772
"""each item in a stream has to provide a regular interface."""
2150
def test_get_annotator(self):
2151
files = self.get_versionedfiles()
2152
self.get_diamond_files(files)
2153
origin_key = self.get_simple_key('origin')
2154
base_key = self.get_simple_key('base')
2155
left_key = self.get_simple_key('left')
2156
right_key = self.get_simple_key('right')
2157
merged_key = self.get_simple_key('merged')
2158
# annotator = files.get_annotator()
2159
# introduced full text
2160
origins, lines = files.get_annotator().annotate(origin_key)
2161
self.assertEqual([(origin_key,)], origins)
2162
self.assertEqual(['origin\n'], lines)
2164
origins, lines = files.get_annotator().annotate(base_key)
2165
self.assertEqual([(base_key,)], origins)
2167
origins, lines = files.get_annotator().annotate(merged_key)
2176
# Without a graph everything is new.
2183
self.assertRaises(RevisionNotPresent,
2184
files.get_annotator().annotate, self.get_simple_key('missing-key'))
2160
2186
def test_get_parent_map(self):
2161
2187
files = self.get_versionedfiles()
2162
2188
if self.key_length == 1:
2637
2663
self.assertRaises(NotImplementedError,
2638
2664
self.texts.add_mpdiffs, [])
2640
def test_check(self):
2641
self.assertTrue(self.texts.check())
2666
def test_check_noerrors(self):
2643
2669
def test_insert_record_stream(self):
2644
2670
self.assertRaises(NotImplementedError, self.texts.insert_record_stream,