(ax, selector)
| 778 | |
| 779 | @pytest.mark.parametrize('selector', ['span', 'rectangle']) |
| 780 | def test_selector_clear(ax, selector): |
| 781 | kwargs = dict(ax=ax, interactive=True) |
| 782 | if selector == 'span': |
| 783 | Selector = widgets.SpanSelector |
| 784 | kwargs['direction'] = 'horizontal' |
| 785 | kwargs['onselect'] = noop |
| 786 | else: |
| 787 | Selector = widgets.RectangleSelector |
| 788 | |
| 789 | tool = Selector(**kwargs) |
| 790 | click_and_drag(tool, start=(10, 10), end=(100, 120)) |
| 791 | |
| 792 | # press-release event outside the selector to clear the selector |
| 793 | click_and_drag(tool, start=(130, 130), end=(130, 130)) |
| 794 | assert not tool._selection_completed |
| 795 | |
| 796 | kwargs['ignore_event_outside'] = True |
| 797 | tool = Selector(**kwargs) |
| 798 | assert tool.ignore_event_outside |
| 799 | click_and_drag(tool, start=(10, 10), end=(100, 120)) |
| 800 | |
| 801 | # press-release event outside the selector ignored |
| 802 | click_and_drag(tool, start=(130, 130), end=(130, 130)) |
| 803 | assert tool._selection_completed |
| 804 | |
| 805 | KeyEvent("key_press_event", ax.figure.canvas, "escape")._process() |
| 806 | assert not tool._selection_completed |
| 807 | |
| 808 | |
| 809 | @pytest.mark.parametrize('selector', ['span', 'rectangle']) |
nothing calls this directly
no test coverage detected
searching dependent graphs…