22import os
33import rlcompleter
44import sys
5+ import tempfile
56import unittest
67from code import InteractiveConsole
78from functools import partial
@@ -603,57 +604,63 @@ def test_global_namespace_completion(self):
603604
604605@patch ("_pyrepl.curses.tigetstr" , lambda x : b"" )
605606class TestUnivEventQueue (TestCase ):
607+ def setUp (self ):
608+ self .file = tempfile .TemporaryFile ()
609+
610+ def tearDown (self ) -> None :
611+ self .file .close ()
612+
606613 def test_get (self ):
607- eq = EventQueue (sys . stdout .fileno (), "utf-8" )
614+ eq = EventQueue (self . file .fileno (), "utf-8" )
608615 event = Event ("key" , "a" , b"a" )
609616 eq .insert (event )
610617 self .assertEqual (eq .get (), event )
611618
612619 def test_empty (self ):
613- eq = EventQueue (sys . stdout .fileno (), "utf-8" )
620+ eq = EventQueue (self . file .fileno (), "utf-8" )
614621 self .assertTrue (eq .empty ())
615622 eq .insert (Event ("key" , "a" , b"a" ))
616623 self .assertFalse (eq .empty ())
617624
618625 def test_flush_buf (self ):
619- eq = EventQueue (sys . stdout .fileno (), "utf-8" )
626+ eq = EventQueue (self . file .fileno (), "utf-8" )
620627 eq .buf .extend (b"test" )
621628 self .assertEqual (eq .flush_buf (), b"test" )
622629 self .assertEqual (eq .buf , bytearray ())
623630
624631 def test_insert (self ):
625- eq = EventQueue (sys . stdout .fileno (), "utf-8" )
632+ eq = EventQueue (self . file .fileno (), "utf-8" )
626633 event = Event ("key" , "a" , b"a" )
627634 eq .insert (event )
628635 self .assertEqual (eq .events [0 ], event )
629636
630637 @patch ("_pyrepl.unix_eventqueue.keymap" )
631638 def test_push_with_key_in_keymap (self , mock_keymap ):
632639 mock_keymap .compile_keymap .return_value = {"a" : "b" }
633- eq = EventQueue (sys . stdout .fileno (), "utf-8" )
640+ eq = EventQueue (self . file .fileno (), "utf-8" )
634641 eq .keymap = {b"a" : "b" }
635642 eq .push ("a" )
636- self . assertTrue ( mock_keymap .compile_keymap .called )
643+ mock_keymap .compile_keymap .assert_called ( )
637644 self .assertEqual (eq .events [0 ].evt , "key" )
638645 self .assertEqual (eq .events [0 ].data , "b" )
639646
640647 @patch ("_pyrepl.unix_eventqueue.keymap" )
641648 def test_push_without_key_in_keymap (self , mock_keymap ):
642649 mock_keymap .compile_keymap .return_value = {"a" : "b" }
643- eq = EventQueue (sys . stdout .fileno (), "utf-8" )
650+ eq = EventQueue (self . file .fileno (), "utf-8" )
644651 eq .keymap = {b"c" : "d" }
645652 eq .push ("a" )
646- self . assertTrue ( mock_keymap .compile_keymap .called )
653+ mock_keymap .compile_keymap .assert_called ( )
647654 self .assertEqual (eq .events [0 ].evt , "key" )
648655 self .assertEqual (eq .events [0 ].data , "a" )
649656
650657 @patch ("_pyrepl.unix_eventqueue.keymap" )
651658 def test_push_with_keymap_in_keymap (self , mock_keymap ):
652659 mock_keymap .compile_keymap .return_value = {"a" : "b" }
653- eq = EventQueue (sys . stdout .fileno (), "utf-8" )
660+ eq = EventQueue (self . file .fileno (), "utf-8" )
654661 eq .keymap = {b"a" : {b"b" : "c" }}
655662 eq .push ("a" )
656- self . assertTrue ( mock_keymap .compile_keymap .called )
663+ mock_keymap .compile_keymap .assert_called ( )
657664 self .assertTrue (eq .empty ())
658665 eq .push ("b" )
659666 self .assertEqual (eq .events [0 ].evt , "key" )
@@ -665,10 +672,10 @@ def test_push_with_keymap_in_keymap(self, mock_keymap):
665672 @patch ("_pyrepl.unix_eventqueue.keymap" )
666673 def test_push_with_keymap_in_keymap_and_escape (self , mock_keymap ):
667674 mock_keymap .compile_keymap .return_value = {"a" : "b" }
668- eq = EventQueue (sys . stdout .fileno (), "utf-8" )
675+ eq = EventQueue (self . file .fileno (), "utf-8" )
669676 eq .keymap = {b"a" : {b"b" : "c" }}
670677 eq .push ("a" )
671- self . assertTrue ( mock_keymap .compile_keymap .called )
678+ mock_keymap .compile_keymap .assert_called ( )
672679 self .assertTrue (eq .empty ())
673680 eq .flush_buf ()
674681 eq .push ("\033 " )
@@ -679,7 +686,7 @@ def test_push_with_keymap_in_keymap_and_escape(self, mock_keymap):
679686 self .assertEqual (eq .events [1 ].data , "b" )
680687
681688 def test_push_special_key (self ):
682- eq = EventQueue (sys . stdout .fileno (), "utf-8" )
689+ eq = EventQueue (self . file .fileno (), "utf-8" )
683690 eq .keymap = {}
684691 eq .push ("\x1b " )
685692 eq .push ("[" )
@@ -688,7 +695,7 @@ def test_push_special_key(self):
688695 self .assertEqual (eq .events [0 ].data , "\x1b " )
689696
690697 def test_push_unrecognized_escape_sequence (self ):
691- eq = EventQueue (sys . stdout .fileno (), "utf-8" )
698+ eq = EventQueue (self . file .fileno (), "utf-8" )
692699 eq .keymap = {}
693700 eq .push ("\x1b " )
694701 eq .push ("[" )
0 commit comments