async def METHOD_NAME(
    widget,
    probe,
    on_select_handler,
    content1_probe,
    content2_probe,
    content3_probe,
):
    """Tabs of content can be selected"""
    # Initially selected tab has content that is the full size of the widget
    await probe.redraw("Tab 1 should be selected")
    assert widget.current_tab.index == 0
    assert content1_probe.width > 500
    assert content1_probe.height > 400
    # on_select hasn't been invoked.
    on_select_handler.assert_not_called()
    # Select item 1 programmatically
    widget.current_tab = "Tab 2"
    await probe.redraw("Tab 2 should be selected")
    assert widget.current_tab.index == 1
    assert content2_probe.width > 500
    assert content2_probe.height > 400
    # on_select has been invoked
    on_select_handler.assert_called_once_with(widget)
    on_select_handler.reset_mock()
    # Select item 2 in the GUI
    probe.select_tab(2)
    await probe.redraw("Tab 3 should be selected")
    assert widget.current_tab.index == 2
    assert content3_probe.width > 500
    assert content3_probe.height > 400
    # on_select has been invoked
    on_select_handler.assert_called_once_with(widget)
    on_select_handler.reset_mock()