Rev 2268: Fix a small bug with negative numbers and __getitem__ in http://bzr.arbash-meinel.com/branches/bzr/0.15-dev/list_patch
John Arbash Meinel
john at arbash-meinel.com
Wed Jan 31 01:23:03 GMT 2007
At http://bzr.arbash-meinel.com/branches/bzr/0.15-dev/list_patch
------------------------------------------------------------
revno: 2268
revision-id: john at arbash-meinel.com-20070131012258-nhhiaf5wo39w0rzb
parent: john at arbash-meinel.com-20070131003302-1o0y49dn55m25cga
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: list_patch
timestamp: Tue 2007-01-30 19:22:58 -0600
message:
Fix a small bug with negative numbers and __getitem__
modified:
bzrlib/hybrid_linked_list.py hybrid_linked_list.p-20070130001028-zlexwz74tzo56o2t-1
bzrlib/tests/test_hybrid_linked_list.py test_hybrid_linked_l-20070130001028-zlexwz74tzo56o2t-2
-------------- next part --------------
=== modified file 'bzrlib/hybrid_linked_list.py'
--- a/bzrlib/hybrid_linked_list.py 2007-01-31 00:28:29 +0000
+++ b/bzrlib/hybrid_linked_list.py 2007-01-31 01:22:58 +0000
@@ -151,6 +151,8 @@
cur += stride
return result
else:
+ if pos < 0:
+ pos = self._length + pos
(prev_range_id, cur_range_id, offset,
start, end, next_range_id, content) = self._find_nodes_for_pos(pos)
return content[start+offset]
=== modified file 'bzrlib/tests/test_hybrid_linked_list.py'
--- a/bzrlib/tests/test_hybrid_linked_list.py 2007-01-31 00:28:29 +0000
+++ b/bzrlib/tests/test_hybrid_linked_list.py 2007-01-31 01:22:58 +0000
@@ -108,6 +108,12 @@
self.assertEqual([], hll[20:])
self.assertEqual([], hll[20:21])
+ # Test negative values
+ self.assertEqual(8, hll[-1])
+ self.assertEqual(5, hll[-2])
+ self.assertEqual([5, 8], hll[-2:])
+ self.assertEqual([4, 5], hll[-3:-1])
+
def test__str__and__repr__(self):
hll = hybrid_linked_list.HybridLinkedList([0, 1, 2, 3, 4])
self.assertEqual('[0, 1, 2, 3, 4]', str(hll))
More information about the bazaar-commits
mailing list