diff -r c39ddff53694 Lib/idlelib/IdleHistory.py --- a/Lib/idlelib/IdleHistory.py Mon Jul 01 00:42:52 2013 -0400 +++ b/Lib/idlelib/IdleHistory.py Thu Jul 11 03:18:03 2013 +0530 @@ -86,3 +86,8 @@ self.history.append(source) self.history_pointer = None self.history_prefix = None + +if __name__ == "__main__": + from test import support; support.use_resources = ['gui'] + import unittest + unittest.main('idlelib.idle_test.test_idlehistory', verbosity=2, exit=False) diff -r c39ddff53694 Lib/idlelib/idle_test/test_idlehistory.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Lib/idlelib/idle_test/test_idlehistory.py Thu Jul 11 03:18:03 2013 +0530 @@ -0,0 +1,52 @@ +import unittest +import idlelib.IdleHistory as ihis +from idlelib.idle_test.mock_tk import Text +from idlelib.configHandler import idleConf + + +class IdleHistoryTest(unittest.TestCase): + + def setUp(self): + self.mytext = Text() + self.mytext.insert('1.0', " idlehistory test ") + self.myhistory = ihis.History(self.mytext) + + def TearDown(self): + self.mytext = None + self.myhistory = None + + def test_myhistory(self): + self.assertIs(self.myhistory.text, self.mytext) + self.assertEqual(self.myhistory.history,[]) + self.assertIsNone(self.myhistory.history_prefix) + self.assertIsNone(self.myhistory.history_pointer) + self.assertEqual(self.myhistory.cyclic, idleConf.GetOption("main", + "History", "cyclic", 1, "bool")) + self.assertEqual(self.myhistory.output_sep,"\n") + + def test_duplicates_history_store(self): + # source having length less than 3 (after stripped) should be avoided + source = self.mytext.get('1.0','1.4') + self.myhistory.history_store(source) + self.assertEqual(self.myhistory.history, []) + + def test_history_store(self): + source = self.mytext.get('1.0','1.6') + self.myhistory.history_store(source) + self.assertEqual(self.myhistory.history, ['idle']) + + def test_history_do_next(self): + """ + source = self.mytext.get('1.0','1.6') + self.myhistory.history_store(source) + self.myhistory.history_do(0) + + gives following error on _decode + /cpython/Lib/idlelib/idle_test/mock_tk.py", line 102, in _decode + line, col = position.split('.') + ValueError: need more than 1 value to unpack + """ + + +if __name__ == '__main__': + unittest.main(verbosity=2, exit=2)