code: def test_ypan_updates_only_yrange(
      self, single_plot_page: SinglePlotPage
  ) -> None:
      plot = _make_plot("height")
  
      page = single_plot_page(plot)
  
      page.drag_canvas_at_position(plot, 100, 100, 20, 20)
  
      page.eval_custom_action()
  
      results = page.results
      assert results["xrstart"] == 0
      assert results["xrend"] == 1
      assert results["yrstart"] > 0
      assert results["yrend"] > 1
  
      assert page.has_no_console_errors()
  
file_path: bokeh/tests/integration/tools/test_pan_tool.py
imports: from __future__ import annotations
  import pytest
  from bokeh.core.enums import DimensionsType
  from bokeh.events import RangesUpdate
  from bokeh.models import ColumnDataSource, CustomJS, PanTool, Plot, Range1d, Rect
  from tests.support.plugins.project import SinglePlotPage
  from tests.support.util.selenium import RECORD
label_desc: Use image node_id 6 for calling the Test_PanTool obj's underlying member method code with example usage: obj.test_ypan_updates_only_yrange(single_plot_page) without return types