| "Test editor, coverage 35%." |
| |
| from idlelib import editor |
| import unittest |
| from test.support import requires |
| from tkinter import Tk |
| |
| Editor = editor.EditorWindow |
| |
| |
| class EditorWindowTest(unittest.TestCase): |
| |
| @classmethod |
| def setUpClass(cls): |
| requires('gui') |
| cls.root = Tk() |
| cls.root.withdraw() |
| |
| @classmethod |
| def tearDownClass(cls): |
| cls.root.update_idletasks() |
| for id in cls.root.tk.call('after', 'info'): |
| cls.root.after_cancel(id) |
| cls.root.destroy() |
| del cls.root |
| |
| def test_init(self): |
| e = Editor(root=self.root) |
| self.assertEqual(e.root, self.root) |
| e._close() |
| |
| |
| class EditorFunctionTest(unittest.TestCase): |
| |
| def test_filename_to_unicode(self): |
| func = Editor._filename_to_unicode |
| class dummy(): |
| filesystemencoding = 'utf-8' |
| pairs = (('abc', 'abc'), ('a\U00011111c', 'a\ufffdc'), |
| (b'abc', 'abc'), (b'a\xf0\x91\x84\x91c', 'a\ufffdc')) |
| for inp, out in pairs: |
| self.assertEqual(func(dummy, inp), out) |
| |
| |
| if __name__ == '__main__': |
| unittest.main(verbosity=2) |