@@ -496,6 +496,41 @@ def onselect(*args):
496496 assert not tool ._selection_completed
497497
498498
499+ @pytest .mark .parametrize ('selector' , ['span' , 'rectangle' ])
500+ def test_selector_clear_method (selector ):
501+ ax = get_ax ()
502+
503+ def onselect (* args ):
504+ pass
505+
506+ if selector == 'span' :
507+ tool = widgets .SpanSelector (ax , onselect , 'horizontal' ,
508+ interactive = True ,
509+ ignore_event_outside = True )
510+ else :
511+ tool = widgets .RectangleSelector (ax , onselect , interactive = True )
512+ do_event (tool , 'press' , xdata = 10 , ydata = 10 , button = 1 )
513+ do_event (tool , 'onmove' , xdata = 100 , ydata = 120 , button = 1 )
514+ do_event (tool , 'release' , xdata = 100 , ydata = 120 , button = 1 )
515+ assert tool ._selection_completed
516+ assert tool .visible
517+ if selector == 'span' :
518+ assert tool .extents == (10 , 100 )
519+
520+ tool .clear ()
521+ assert not tool ._selection_completed
522+ assert not tool .visible
523+
524+ # Do another cycle of events to make sure we can
525+ do_event (tool , 'press' , xdata = 10 , ydata = 10 , button = 1 )
526+ do_event (tool , 'onmove' , xdata = 50 , ydata = 120 , button = 1 )
527+ do_event (tool , 'release' , xdata = 50 , ydata = 120 , button = 1 )
528+ assert tool ._selection_completed
529+ assert tool .visible
530+ if selector == 'span' :
531+ assert tool .extents == (10 , 50 )
532+
533+
499534def test_tool_line_handle ():
500535 ax = get_ax ()
501536
0 commit comments