support reverse iteration in PaginatedList

This uses the 'last' and 'prev' links in the HTTP headers.
The usage is repo.get_issues().reversed
This commit is contained in:
davidbrai
2013-08-02 18:20:39 +03:00
parent 0a1e1fa488
commit ef4cf44ebd
4 changed files with 81 additions and 4 deletions
+13
View File
@@ -47,6 +47,19 @@ class PaginatedList(Framework.TestCase):
self.assertEqual(self.list[0].id, 4772349)
self.assertEqual(self.list[24].id, 4286936)
def testReversedIterationWithSinglePage(self):
r = self.list.reversed
self.assertEqual(r[0].id, 4286936)
self.assertEqual(r[1].id, 4317009)
def testReversedIterationWithMultiplePages(self):
r = self.list.reversed
self.assertEqual(r[0].id, 94898)
self.assertEqual(r[1].id, 104702)
self.assertEqual(r[13].id, 166211)
self.assertEqual(r[14].id, 166212)
self.assertEqual(r[15].id, 166214)
def testIntIndexingInThirdPage(self):
self.assertEqual(self.list[50].id, 3911629)
self.assertEqual(self.list[74].id, 3605277)
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long