def METHOD_NAME(self, bokeh_model_page: BokehModelPage) -> None:
    data = {'x': [1,2,3,4], 'y': [0,1,2,3], 'd': ['foo', 'bar', 'baz', 'quux']}
    source = ColumnDataSource(data)
    table = DataTable(columns=[
        TableColumn(field="x", title="x"),
        TableColumn(field="y", title="y"),
        TableColumn(field="d", title="d"),
    ], source=source)
    text_input = TextInput()
    text_input.js_on_change('value', CustomJS(code=RECORD("value", "cb_obj.value")))
    page = bokeh_model_page(column(table, text_input))
    row = get_table_row(page.driver, table, 1)
    row.click()
    row = get_table_row(page.driver, table, 3)
    shift_click(page.driver, row)
    enter_text_in_element(page.driver, row, Keys.INSERT, mod=Keys.CONTROL, click=0, enter=False)
    input_el = find_element_for(page.driver, text_input)
    enter_text_in_element(page.driver, input_el, Keys.INSERT, mod=Keys.SHIFT, enter=False)
    enter_text_in_element(page.driver, input_el, "")
    results = page.results
    # XXX (bev) these should be newlines with a TextAreaInput but TextAreaInput
    # is not working in tests for some reason presently
    assert results['value'] == '0\t1\t0\tfoo 1\t2\t1\tbar 2\t3\t2\tbaz'
    assert page.has_no_console_errors()