+++ /dev/null
-"""\r
-Very minimal unittests for parts of the readline module.\r
-\r
-These tests were added to check that the libedit emulation on OSX and\r
-the "real" readline have the same interface for history manipulation. That's\r
-why the tests cover only a small subset of the interface.\r
-"""\r
-import unittest\r
-from test.test_support import run_unittest, import_module\r
-\r
-# Skip tests if there is no readline module\r
-readline = import_module('readline')\r
-\r
-class TestHistoryManipulation (unittest.TestCase):\r
- def testHistoryUpdates(self):\r
- readline.clear_history()\r
-\r
- readline.add_history("first line")\r
- readline.add_history("second line")\r
-\r
- self.assertEqual(readline.get_history_item(0), None)\r
- self.assertEqual(readline.get_history_item(1), "first line")\r
- self.assertEqual(readline.get_history_item(2), "second line")\r
-\r
- readline.replace_history_item(0, "replaced line")\r
- self.assertEqual(readline.get_history_item(0), None)\r
- self.assertEqual(readline.get_history_item(1), "replaced line")\r
- self.assertEqual(readline.get_history_item(2), "second line")\r
-\r
- self.assertEqual(readline.get_current_history_length(), 2)\r
-\r
- readline.remove_history_item(0)\r
- self.assertEqual(readline.get_history_item(0), None)\r
- self.assertEqual(readline.get_history_item(1), "second line")\r
-\r
- self.assertEqual(readline.get_current_history_length(), 1)\r
-\r
-\r
-def test_main():\r
- run_unittest(TestHistoryManipulation)\r
-\r
-if __name__ == "__main__":\r
- test_main()\r