Don't assume 'next' appears last.

This commit is contained in:
Imran Sobir 2017-03-02 22:40:24 +05:00
parent cb6c6b814e
commit 895620b536
2 changed files with 8 additions and 6 deletions

View File

@ -211,7 +211,7 @@ def qute_history(url):
last_item = item
continue
if item_newer:
yield {"next": int(last_item.atime)}
yield {"next": int(last_item.atime if last_item else -1)}
return
# Use item's url as title if there's no title.

View File

@ -110,10 +110,10 @@ class TestHistoryHandler:
fake_web_history.save()
@pytest.mark.parametrize("start_time_offset, expected_item_count", [
(0, 5),
(24*60*60, 5),
(48*60*60, 5),
(72*60*60, 1)
(0, 4),
(24*60*60, 4),
(48*60*60, 4),
(72*60*60, 0)
])
def test_qutehistory_data(self, start_time_offset, expected_item_count):
"""Ensure qute://history/data returns correct items."""
@ -121,12 +121,13 @@ class TestHistoryHandler:
url = QUrl("qute://history/data?start_time=" + str(start_time))
_mimetype, data = qutescheme.qute_history(url)
items = json.loads(data)
items = [item for item in items if 'time' in item] # skip 'next' item
assert len(items) == expected_item_count
# test times
end_time = start_time - 24*60*60
for item in items[:expected_item_count-1]:
for item in items:
assert item['time'] <= start_time
assert item['time'] > end_time
@ -142,6 +143,7 @@ class TestHistoryHandler:
url = QUrl("qute://history/data?start_time=" + str(start_time))
_mimetype, data = qutescheme.qute_history(url)
items = json.loads(data)
items = [item for item in items if 'next' in item] # 'next' items
if next_time == -1:
assert items[-1]["next"] == -1