@@ -636,6 +636,8 @@ def test_focus(self):
636636 self .assertEqual (e .x_root , '??' )
637637 self .assertEqual (e .y_root , '??' )
638638 self .assertEqual (e .delta , 0 )
639+ self .assertEqual (e .user_data , '??' )
640+ self .assertEqual (e .detail , 'NotifyAncestor' )
639641 self .assertEqual (repr (e ), '<FocusIn event>' )
640642
641643 def test_configure (self ):
@@ -669,6 +671,8 @@ def test_configure(self):
669671 self .assertEqual (e .x_root , '??' )
670672 self .assertEqual (e .y_root , '??' )
671673 self .assertEqual (e .delta , 0 )
674+ self .assertEqual (e .user_data , '??' )
675+ self .assertEqual (e .detail , '??' )
672676 self .assertEqual (repr (e ), '<Configure event x=0 y=0 width=150 height=100>' )
673677
674678 def test_event_generate_key_press (self ):
@@ -705,6 +709,8 @@ def test_event_generate_key_press(self):
705709 self .assertEqual (e .x_root , - 1 )
706710 self .assertEqual (e .y_root , - 1 )
707711 self .assertEqual (e .delta , 0 )
712+ self .assertEqual (e .user_data , '??' )
713+ self .assertEqual (e .detail , '??' )
708714 self .assertEqual (repr (e ),
709715 f"<KeyPress event state={ e .state :#x} "
710716 f"keysym=z keycode={ e .keycode } char='z' x={ e .x } y={ e .y } >" )
@@ -740,8 +746,17 @@ def test_event_generate_enter(self):
740746 self .assertEqual (e .x_root , 100 + f .winfo_rootx ())
741747 self .assertEqual (e .y_root , 50 + f .winfo_rooty ())
742748 self .assertEqual (e .delta , 0 )
749+ self .assertEqual (e .user_data , '??' )
750+ self .assertEqual (e .detail , 'NotifyAncestor' )
743751 self .assertEqual (repr (e ), '<Enter event focus=False x=100 y=50>' )
744752
753+ f .event_generate ('<Enter>' , x = 100 , y = 50 , detail = 'NotifyPointer' )
754+ self .assertEqual (len (events ), 2 , events )
755+ e = events [1 ]
756+ self .assertIs (e .type , tkinter .EventType .Enter )
757+ self .assertEqual (e .user_data , '??' )
758+ self .assertEqual (e .detail , 'NotifyPointer' )
759+
745760 def test_event_generate_button_press (self ):
746761 f = tkinter .Frame (self .root , width = 150 , height = 100 )
747762 f .pack ()
@@ -774,6 +789,8 @@ def test_event_generate_button_press(self):
774789 self .assertEqual (e .x_root , f .winfo_rootx () + 100 )
775790 self .assertEqual (e .y_root , f .winfo_rooty () + 50 )
776791 self .assertEqual (e .delta , 0 )
792+ self .assertEqual (e .user_data , '??' )
793+ self .assertEqual (e .detail , '??' )
777794 self .assertEqual (repr (e ), '<ButtonPress event num=1 x=100 y=50>' )
778795
779796 def test_event_generate_motion (self ):
@@ -808,6 +825,8 @@ def test_event_generate_motion(self):
808825 self .assertEqual (e .x_root , f .winfo_rootx () + 100 )
809826 self .assertEqual (e .y_root , f .winfo_rooty () + 50 )
810827 self .assertEqual (e .delta , 0 )
828+ self .assertEqual (e .user_data , '??' )
829+ self .assertEqual (e .detail , '??' )
811830 self .assertEqual (repr (e ), '<Motion event state=Button1 x=100 y=50>' )
812831
813832 def test_event_generate_mouse_wheel (self ):
@@ -842,9 +861,11 @@ def test_event_generate_mouse_wheel(self):
842861 self .assertEqual (e .x_root , f .winfo_rootx () + 100 )
843862 self .assertEqual (e .y_root , f .winfo_rooty () + 50 )
844863 self .assertEqual (e .delta , - 5 )
864+ self .assertEqual (e .user_data , '??' )
865+ self .assertEqual (e .detail , '??' )
845866 self .assertEqual (repr (e ), '<MouseWheel event delta=-5 x=100 y=50>' )
846867
847- def test_generate_event_virtual_event (self ):
868+ def test_event_generate_virtual_event (self ):
848869 f = tkinter .Frame (self .root , width = 150 , height = 100 )
849870 f .pack ()
850871 self .root .wait_visibility () # needed on Windows
@@ -876,9 +897,18 @@ def test_generate_event_virtual_event(self):
876897 self .assertEqual (e .x_root , f .winfo_rootx () + 50 )
877898 self .assertEqual (e .y_root , - 1 )
878899 self .assertEqual (e .delta , 0 )
900+ self .assertEqual (e .user_data , '' )
901+ self .assertEqual (e .detail , '??' )
879902 self .assertEqual (repr (e ),
880903 f"<VirtualEvent event x=50 y=0>" )
881904
905+ f .event_generate ('<<Spam>>' , data = 'spam' )
906+ self .assertEqual (len (events ), 2 , events )
907+ e = events [1 ]
908+ self .assertIs (e .type , tkinter .EventType .VirtualEvent )
909+ self .assertEqual (e .user_data , 'spam' )
910+ self .assertEqual (e .detail , '??' )
911+
882912
883913class BindTest (AbstractTkTest , unittest .TestCase ):
884914
0 commit comments