diff options
| author | Terry Jan Reedy <tjreedy@udel.edu> | 2018-06-19 23:12:52 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-06-19 23:12:52 (GMT) |
| commit | 4d92158f4c3917fc4fbfebff15224e74782abf79 (patch) | |
| tree | a3eea4b4e5e9d9b9b679eb538d9716758776c3bb /Lib/idlelib/idle_test/test_rpc.py | |
| parent | 00f9edb98dd64e14daf5c44f303deca5cbc3cdeb (diff) | |
| download | cpython-4d92158f4c3917fc4fbfebff15224e74782abf79.zip cpython-4d92158f4c3917fc4fbfebff15224e74782abf79.tar.gz cpython-4d92158f4c3917fc4fbfebff15224e74782abf79.tar.bz2 | |
bpo-33855: Still more edits and minimal tests for IDLE (GH-7784)
Part 3 of 3, continuing PR #7689. This covers 14 idlelib modules and their tests,
rpc to zoomheight except for run (already done) and tooltip (being done separately).
Diffstat (limited to 'Lib/idlelib/idle_test/test_rpc.py')
| -rw-r--r-- | Lib/idlelib/idle_test/test_rpc.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Lib/idlelib/idle_test/test_rpc.py b/Lib/idlelib/idle_test/test_rpc.py new file mode 100644 index 0000000..48be65b --- /dev/null +++ b/Lib/idlelib/idle_test/test_rpc.py @@ -0,0 +1,30 @@ +"Test rpc, coverage 20%." + +from idlelib import rpc +import unittest + +import marshal + + +class CodePicklerTest(unittest.TestCase): + + def test_pickle_unpickle(self): + def f(): return a + b + c + func, (cbytes,) = rpc.pickle_code(f.__code__) + self.assertIs(func, rpc.unpickle_code) + self.assertIn(b'test_rpc.py', cbytes) + code = rpc.unpickle_code(cbytes) + self.assertEqual(code.co_names, ('a', 'b', 'c')) + + def test_code_pickler(self): + self.assertIn(type((lambda:None).__code__), + rpc.CodePickler.dispatch_table) + + def test_dumps(self): + def f(): pass + # The main test here is that pickling code does not raise. + self.assertIn(b'test_rpc.py', rpc.dumps(f.__code__)) + + +if __name__ == '__main__': + unittest.main(verbosity=2) |
