From ccd3f3c3f8baccf700f7f5286d33156a6938edfe Mon Sep 17 00:00:00 2001 From: hut Date: Wed, 13 Jan 2010 18:47:39 +0100 Subject: commandlist: improvements and test case --- test/tc_commandlist.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 test/tc_commandlist.py (limited to 'test') diff --git a/test/tc_commandlist.py b/test/tc_commandlist.py new file mode 100644 index 00000000..ed9b1bd7 --- /dev/null +++ b/test/tc_commandlist.py @@ -0,0 +1,54 @@ +if __name__ == '__main__': from __init__ import init; init() + +from unittest import TestCase, main +from ranger.container.commandlist import CommandList as CL + +class Test(TestCase): + def assertKeyError(self, obj, key): + self.assertRaises(KeyError, obj.__getitem__, key) + + def test_commandist(self): + cl = CL() + fnc = lambda arg: 1 + dmy = cl.dummy_object + + cl.bind(fnc, 'aaaa') + cl.rebuild_paths() + + self.assertEqual(dmy, cl['a']) + self.assertEqual(dmy, cl['aa']) + self.assertEqual(dmy, cl['aaa']) + self.assertEqual(fnc, cl['aaaa'].execute) + self.assertKeyError(cl, 'aabb') + self.assertKeyError(cl, 'aaaaa') + + cl.bind(fnc, 'aabb') + cl.rebuild_paths() + + self.assertEqual(dmy, cl['a']) + self.assertEqual(dmy, cl['aa']) + self.assertEqual(dmy, cl['aab']) + self.assertEqual(fnc, cl['aabb'].execute) + self.assertEqual(dmy, cl['aaa']) + self.assertEqual(fnc, cl['aaaa'].execute) + + cl.unbind('aabb') + cl.rebuild_paths() + + self.assertEqual(dmy, cl['a']) + self.assertEqual(dmy, cl['aa']) + self.assertKeyError(cl, 'aabb') + self.assertKeyError(cl, 'aab') + self.assertEqual(dmy, cl['aaa']) + self.assertEqual(fnc, cl['aaaa'].execute) + + hint_text = 'some tip blablablba' + cl.hint(hint_text, 'aa') + cl.rebuild_paths() + + self.assertEqual(dmy, cl['a']) + self.assertEqual(hint_text, cl['aa'].text) + self.assertEqual(dmy, cl['aaa']) + self.assertEqual(fnc, cl['aaaa'].execute) + +if __name__ == '__main__': main() -- cgit 1.4.1-2-gfad0