Rev 5102: Add .memos() as a public api for getting the list of items. in http://bzr.arbash-meinel.com/branches/bzr/lp/2.2.0b2-contained-pack
John Arbash Meinel
john at arbash-meinel.com
Mon Mar 8 22:10:02 GMT 2010
At http://bzr.arbash-meinel.com/branches/bzr/lp/2.2.0b2-contained-pack
------------------------------------------------------------
revno: 5102
revision-id: john at arbash-meinel.com-20100308220957-ula2lqzc7dtqkur8
parent: john at arbash-meinel.com-20100308215925-or3lq7hnateakrju
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: 2.2.0b2-contained-pack
timestamp: Mon 2010-03-08 16:09:57 -0600
message:
Add .memos() as a public api for getting the list of items.
-------------- next part --------------
=== modified file 'bzrlib/pack_collection.py'
--- a/bzrlib/pack_collection.py 2010-03-08 21:59:25 +0000
+++ b/bzrlib/pack_collection.py 2010-03-08 22:09:57 +0000
@@ -330,6 +330,10 @@
assert old == value
self.update_policy.memo_removed(name, value)
+ def memos(self):
+ """Return a list of (name, value) memo pairs."""
+ return self._memos.items()
+
def save(self):
"""Save the current in-memory content to disk."""
self.locking_policy.lock_write()
=== modified file 'bzrlib/tests/test_pack_collection.py'
--- a/bzrlib/tests/test_pack_collection.py 2010-03-08 21:59:25 +0000
+++ b/bzrlib/tests/test_pack_collection.py 2010-03-08 22:09:57 +0000
@@ -186,7 +186,7 @@
# Shouldn't raise an exception, but just set up that there isn't any
# content
self.assertTrue(self.tracker._ensure_loaded())
- self.assertEqual({}, self.tracker._memos)
+ self.assertEqual([], sorted(self.tracker.memos()))
# We should create the file at this time, and it should be a valid
# index file
self.tracker.save()
@@ -196,12 +196,11 @@
def test_add_memo(self):
self.tracker.add_memo(*self._m1)
self.assertEqual('content1', self.tracker.get_memo('name1'))
- self.assertEqual({'name1': 'content1'}, self.tracker._memos)
+ self.assertEqual([self._m1], sorted(self.tracker.memos()))
self.assertEqual([], sorted(self.tracker._last_read_memos))
self.tracker.save()
- self.assertEqual({'name1': 'content1'}, self.tracker._memos)
- self.assertEqual([('name1', 'content1')],
- sorted(self.tracker._last_read_memos))
+ self.assertEqual([self._m1], sorted(self.tracker.memos()))
+ self.assertEqual([self._m1], sorted(self.tracker._last_read_memos))
btree = btree_index.BTreeGraphIndex(self.transport, 'meta', size=None)
self.assertEqual(1, btree.key_count())
self.assertEqual([(('name1',), 'content1')],
@@ -219,21 +218,18 @@
def test_remove_memo(self):
self.tracker.add_memo(*self._m1)
self.tracker.add_memo(*self._m2)
- self.assertEqual({'name1': 'content1',
- 'name2': 'content2'}, self.tracker._memos)
+ self.assertEqual([self._m1, self._m2], sorted(self.tracker.memos()))
self.assertEqual([], sorted(self.tracker._last_read_memos))
self.tracker.save()
self.tracker.remove_memo(*self._m2)
- self.assertEqual([('name1', 'content1'),
- ('name2', 'content2'),
- ], sorted(self.tracker._last_read_memos))
- self.assertEqual({'name1': 'content1'}, self.tracker._memos)
+ self.assertEqual([self._m1, self._m2],
+ sorted(self.tracker._last_read_memos))
+ self.assertEqual([self._m1], sorted(self.tracker.memos()))
# Before saving, we should have both keys
btree = btree_index.BTreeGraphIndex(self.transport, 'meta', size=None)
self.assertEqual(2, btree.key_count())
self.tracker.save()
- self.assertEqual([('name1', 'content1')],
- sorted(self.tracker._last_read_memos))
+ self.assertEqual([self._m1], sorted(self.tracker._last_read_memos))
btree = btree_index.BTreeGraphIndex(self.transport, 'meta', size=None)
self.assertEqual(1, btree.key_count())
@@ -254,10 +250,8 @@
self.tracker.save()
# When we save, tracker should notice that there was a new entry, and
# add it to the in-memory data.
- self.assertEqual({'name1': 'content1',
- 'name2': 'content2',
- 'name3': 'content3',
- }, self.tracker._memos)
+ self.assertEqual([self._m1, self._m2, self._m3],
+ sorted(self.tracker.memos()))
# And the on-disk record should also have all 3
btree = btree_index.BTreeGraphIndex(self.transport, 'meta', size=None)
self.assertEqual(3, btree.key_count())
@@ -272,8 +266,7 @@
self.tracker.save()
# When we save, tracker should notice that m1 was removed, and remove
# it from the in-memory structure.
- self.assertEqual({'name2': 'content2',
- }, self.tracker._memos)
+ self.assertEqual([self._m2], sorted(self.tracker.memos()))
# And the on-disk record should also have all 3
btree = btree_index.BTreeGraphIndex(self.transport, 'meta', size=None)
self.assertEqual(1, btree.key_count())
@@ -291,9 +284,7 @@
self.tracker.save()
# When we save, tracker should notice that m1 was removed, and remove
# it from the in-memory structure.
- self.assertEqual({'name2': 'content2',
- 'name3': 'content3',
- }, self.tracker._memos)
+ self.assertEqual([self._m2, self._m3], sorted(self.tracker.memos()))
self.assertEqual([('removed', 'name1', 'content1'),
('added', 'name3', 'content3'),
], policy.log)
More information about the bazaar-commits
mailing list