diff options
author | Aleksey Lim <alsroot@member.fsf.org> | 2009-08-25 16:28:35 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@member.fsf.org> | 2009-08-25 16:28:35 (GMT) |
commit | d0b12ac2dc48c066c86eb3b3dbde642b5829f615 (patch) | |
tree | 568005434e8f2931fd28a7c778c52583bca2cd29 /tests | |
parent | 01ca2fe683577c0ff0f2bb101e2f97ddebb75694 (diff) |
Revert thumbs merge
Diffstat (limited to 'tests')
l--------- | tests/jarabe | 1 | ||||
-rwxr-xr-x | tests/lazymodel.py | 319 |
2 files changed, 0 insertions, 320 deletions
diff --git a/tests/jarabe b/tests/jarabe deleted file mode 120000 index 2ed1cfb..0000000 --- a/tests/jarabe +++ /dev/null @@ -1 +0,0 @@ -../src/jarabe
\ No newline at end of file diff --git a/tests/lazymodel.py b/tests/lazymodel.py deleted file mode 100755 index 7189f42..0000000 --- a/tests/lazymodel.py +++ /dev/null @@ -1,319 +0,0 @@ -#!/bin/env python - -import gtk -import unittest -import logging -import gobject -import glib - -import gobject -gobject.threads_init() - -from jarabe.journal.browse.lazymodel import Source, LazyModel, Row - -TIMEOUT = 100 - -class FakeSource(Source): - def __init__(self): - self.count = 9 - Source.__init__(self) - self.stat = [0] * self.get_count() - self.delayed_stat = [0] * self.get_count() - self.delayed = False - - def get_count(self): - return self.count - - def get_row(self, offset): - if not self.delayed: - self.stat[offset] += 1 - return {'f': offset} - - def timeout_cb(): - self.delayed_stat[offset] += 1 - self.emit('row-delayed-fetch', offset, {'f': offset}) - return False - - gobject.timeout_add(TIMEOUT, timeout_cb) - - def get_columns(self): - return ['f'] - - def get_order(self): - return ('f', gtk.SORT_ASCENDING) - - def set_order(self, field_name, sort_type): - pass - -class FakeView: - def set_model(self, model): - if model: - self.frame = (0, model.source.get_count()-1) - - def get_visible_range(self): - return ((self.frame[0],), (self.frame[1],)) - - def get_cursor(self): - return None - -class CalcModel(LazyModel): - def __init__(self, fields, calced_fields): - LazyModel.__init__(self, fields, calced_fields) - - def set_source(self, source, force=False): - if source: - self.stat = [0] * source.get_count() - LazyModel.set_source(self, source, force) - - def on_calc_value(self, row, column): - self.stat[row.path[0]] += 1 - return -row.path[0] - -class TestLazyModel(unittest.TestCase): - def test_per_row_fetch(self): - model = LazyModel({'f': (0, int)}) - model.source = FakeSource() - model.view = FakeView() - - for i in range(9): - model.view.frame = (i, i+2) - for j in range(3): - self.assertEqual((i+j) < 9 and i+j or 0, model.get_value(model.get_iter((i+j,)), 0)) - self.assertEqual([1, 1, 1, 1, 1, 1, 1, 1, 1], model.source.stat) - - for i in range(3): - self.assertEqual(0, model.get_value(model.get_iter((9+i,)), 0)) - self.assertEqual([1, 1, 1, 1, 1, 1, 1, 1, 1], model.source.stat) - - for i in range(8, -1, -1): - model.view.frame = (i, i+2) - for j in range(3): - self.assertEqual((i+j) < 9 and i+j or 0, model.get_value(model.get_iter((i+j,)), 0)) - self.assertEqual([2, 2, 2, 2, 2, 2, 1, 1, 1], model.source.stat) - - def test_per_page_fetch(self): - model = LazyModel({'f': (0, int)}) - model.source = FakeSource() - model.view = FakeView() - - for page in range(3): - i = page*3 - model.view.frame = (i, i+2) - for j in range(3): - self.assertEqual((i+j) < 9 and i+j or 0, model.get_value(model.get_iter((i+j,)), 0)) - self.assertEqual([1, 1, 1, 1, 1, 1, 1, 1, 1], model.source.stat) - - for page in range(2, -1, -1): - i = page*3 - model.view.frame = (i, i+2) - for j in range(3): - self.assertEqual((i+j) < 9 and i+j or 0, model.get_value(model.get_iter((i+j,)), 0)) - self.assertEqual([2, 2, 2, 2, 2, 2, 1, 1, 1], model.source.stat) - - def test_subframe_fetch(self): - model = LazyModel({'f': (0, int)}) - model.source = FakeSource() - model.view = FakeView() - - for i in range(9): - self.assertEqual(i, model.get_value(model.get_iter((i,)), 0)) - self.assertEqual([1, 1, 1, 1, 1, 1, 1, 1, 1], model.source.stat) - - for i in range(4): - model.view.frame = (i+1, 9-i-1) - for j in range(model.view.frame[0], model.view.frame[1]+1): - self.assertEqual(j, model.get_value(model.get_iter((j,)), 0)) - self.assertEqual([1, 1, 1, 1, 1, 1, 1, 1, 1], model.source.stat) - - def test_delayed_fetch(self): - model = LazyModel({'f': (0, int)}) - model.source = FakeSource() - model.view = FakeView() - - model.source.delayed = True - stat_signal = [] - - def row_changed_cb(sender, path, iter): - stat_signal.append(path) - - model.connect('row-changed', row_changed_cb) - - for i in range(9): - self.assertEqual(None, model.get_row((i,))) - run_timed(TIMEOUT*18) - self.assertEqual([0, 0, 0, 0, 0, 0, 0, 0, 0], model.source.stat) - self.assertEqual([1, 1, 1, 1, 1, 1, 1, 1, 1], model.source.delayed_stat) - self.assertEqual(9, len(stat_signal)) - - for i in range(9): - self.assertEqual(None, model.get_row((i,))) - run_timed(TIMEOUT*18) - self.assertEqual([0, 0, 0, 0, 0, 0, 0, 0, 0], model.source.stat) - self.assertEqual([2, 2, 2, 2, 2, 2, 2, 2, 2], model.source.delayed_stat) - self.assertEqual(18, len(stat_signal)) - - model.source.delayed = False - - for i in range(9): - self.assertEqual(i, model.get_value(model.get_iter((i,)), 0)) - self.assertEqual([1, 1, 1, 1, 1, 1, 1, 1, 1], model.source.stat) - self.assertEqual([2, 2, 2, 2, 2, 2, 2, 2, 2], model.source.delayed_stat) - - model.source.delayed = True - - for i in range(9): - self.assertEqual((i,), model.get_row((i,)).path) - run_timed(TIMEOUT*18) - self.assertEqual([1, 1, 1, 1, 1, 1, 1, 1, 1], model.source.stat) - self.assertEqual([2, 2, 2, 2, 2, 2, 2, 2, 2], model.source.delayed_stat) - self.assertEqual(18, len(stat_signal)) - - def test_calced_cache(self): - model = CalcModel({'f': (0, int)}, {'f2': (1, int)}) - model.set_source(FakeSource()) - model.view = FakeView() - - for trying in range(9): - for i in range(9): - self.assertEqual(-i, model.get_value(model.get_iter((i,)), 1)) - - self.assertEqual([1, 1, 1, 1, 1, 1, 1, 1, 1], model.stat) - - def test_fast_scroll(self): - model = LazyModel({'f': (0, int)}) - model.source = FakeSource() - model.view = FakeView() - - model.source.delayed = True - - for page in range(3): - i = page*3 - for j in range(3): - self.assertEqual(None, model.get_row((i+j,), (i, i+2))) - - run_timed(TIMEOUT*18) - - self.assertEqual([0, 0, 0, 0, 0, 0, 0, 0, 0], model.source.stat) - self.assertEqual([1, 0, 0, 0, 0, 0, 1, 1, 1], model.source.delayed_stat) - - def test_mutlty_request(self): - model = LazyModel({'f': (0, int)}) - model.source = FakeSource() - model.view = FakeView() - - model.source.delayed = True - - for trying in range(3): - self.assertEqual(None, model.get_row((0,))) - run_timed(TIMEOUT*16) - self.assertEqual([0, 0, 0, 0, 0, 0, 0, 0, 0], model.source.stat) - self.assertEqual([3, 0, 0, 0, 0, 0, 0, 0, 0], model.source.delayed_stat) - - for trying in range(3): - self.assertEqual(None, model.get_row((0,), (0, 8))) - run_timed(TIMEOUT*6) - self.assertEqual([0, 0, 0, 0, 0, 0, 0, 0, 0], model.source.stat) - self.assertEqual([4, 0, 0, 0, 0, 0, 0, 0, 0], model.source.delayed_stat) - - for trying in range(3): - self.assertEqual(0, model.get_row((0,)).path[0]) - run_timed(TIMEOUT*6) - self.assertEqual([0, 0, 0, 0, 0, 0, 0, 0, 0], model.source.stat) - self.assertEqual([4, 0, 0, 0, 0, 0, 0, 0, 0], model.source.delayed_stat) - - def test_fast_scroll_plus_back_scroll(self): - model = LazyModel({'f': (0, int)}) - model.source = FakeSource() - model.view = FakeView() - - def row_changed_cb(sender, path, iter): - signals.append(path[0]) - model.connect('row-changed', row_changed_cb) - - model.source.delayed = True - signals = [] - - for page in range(3): - i = page*3 - for j in range(3): - self.assertEqual(None, model.get_row((i+j,), (i, i+2))) - run_timed(TIMEOUT*18) - self.assertEqual([0, 0, 0, 0, 0, 0, 0, 0, 0], model.source.stat) - self.assertEqual([1, 0, 0, 0, 0, 0, 1, 1, 1], model.source.delayed_stat) - self.assertEqual([0, 6, 7, 8], signals.sort() or signals) - - signals = [] - - for page in reversed(range(2)): - i = page*3 - for j in range(3): - self.assertEqual(None, model.get_row((i+j,), (i, i+2))) - run_timed(TIMEOUT*6) - self.assertEqual([0, 0, 0, 0, 0, 0, 0, 0, 0], model.source.stat) - self.assertEqual([2, 1, 1, 1, 1, 1, 1, 1, 1], model.source.delayed_stat) - self.assertEqual([0, 1, 2, 3, 4, 5], signals.sort() or signals) - - # skip until we fix huge row-* signals issue - def _test_refresh(self): - model = LazyModel({'f': (0, int)}) - model.source = FakeSource() - model.view = FakeView() - - def row_cb(sender, path, iter, type): - signals[type].append(path[0]) - model.connect('row-changed', row_cb, 0) - model.connect('row-deleted', row_cb, None, 1) - model.connect('row-inserted', row_cb, 2) - - signals = [[], [], []] - - model.refresh() - run_timed(TIMEOUT*18) - self.assertEqual([[], [], []], signals) - - signals = [[], [], []] - - model.view.frame = (3, 5) - for i in range(*model.view.frame): - self.assertEqual(i, model.get_value(model.get_iter((i,)), 0)) - model.refresh() - run_timed(TIMEOUT*6) - self.assertEqual([[3, 4, 5], [], []], signals) - - signals = [[], [], []] - - model.source.count = 12 - model.refresh() - run_timed(TIMEOUT*12) - self.assertEqual([[3, 4, 5], [], [9, 10, 11]], signals) - - signals = [[], [], []] - - model.source.count = 9 - model.refresh() - run_timed(TIMEOUT*12) - self.assertEqual([[3, 4, 5], [11, 10, 9], []], signals) - - signals = [[], [], []] - - model.source.count = 5 - model.refresh() - run_timed(TIMEOUT*12) - self.assertEqual([[3, 4], [8, 7, 6, 5], []], signals) - - signals = [[], [], []] - - model.source.count = 3 - model.refresh() - run_timed(TIMEOUT*4) - self.assertEqual([[], [4, 3], []], signals) - -def run_timed(timeout): - def _timeout_cb(): - gtk.main_quit() - return False - gobject.timeout_add(timeout, _timeout_cb) - gtk.main() - -if __name__ == '__main__': - unittest.main() |