23 class RustInnerRevlogTestMixin: |
24 class RustInnerRevlogTestMixin: |
24 """Common tests for both Rust Python bindings.""" |
25 """Common tests for both Rust Python bindings.""" |
25 |
26 |
26 node_hex0 = b'd1f4bbb0befc13bd8cd39d0fcdd93b8c078c4a2f' |
27 node_hex0 = b'd1f4bbb0befc13bd8cd39d0fcdd93b8c078c4a2f' |
27 node0 = node_bin(node_hex0) |
28 node0 = node_bin(node_hex0) |
|
29 bogus_node_hex = b'cafe' * 10 |
|
30 bogus_node = node_bin(bogus_node_hex) |
|
31 |
|
32 def test_index_nodemap(self): |
|
33 idx = self.parserustindex() |
|
34 self.assertTrue(idx.has_node(self.node0)) |
|
35 self.assertFalse(idx.has_node(self.bogus_node)) |
|
36 |
|
37 self.assertEqual(idx.get_rev(self.node0), 0) |
|
38 self.assertEqual(idx.get_rev(self.node0), 0) |
|
39 |
|
40 self.assertEqual(idx.rev(self.node0), 0) |
|
41 with self.assertRaises(error.RevlogError) as exc_info: |
|
42 idx.rev(self.bogus_node) |
|
43 self.assertEqual(exc_info.exception.args, (None,)) |
|
44 |
|
45 self.assertEqual(idx.partialmatch(self.node_hex0[:3]), self.node0) |
|
46 self.assertIsNone(idx.partialmatch(self.bogus_node_hex[:3])) |
|
47 self.assertEqual(idx.shortest(self.node0), 1) |
28 |
48 |
29 |
49 |
30 # Conditional skipping done by the base class |
50 # Conditional skipping done by the base class |
31 class RustInnerRevlogTest( |
51 class RustInnerRevlogTest( |
32 revlogtesting.RustRevlogBasedTestBase, RustInnerRevlogTestMixin |
52 revlogtesting.RustRevlogBasedTestBase, RustInnerRevlogTestMixin |