code: def test_zoom_range_limit():
      """Test zooming with XRange and YRange limits set, but no X and Y limits"""
      vb = pg.ViewBox()
      vb.setLimits(minXRange=5, maxXRange=10, minYRange=5, maxYRange=10)
  
      # Try something within limits
      testRange = pg.QtCore.QRect(-15, -15, 7, 7)
      vb.setRange(testRange, padding=0)
  
      expected = [
          [testRange.left(), testRange.right()],
          [testRange.top(), testRange.bottom()],
      ]
  
      vbViewRange = vb.getState()["viewRange"]
      assert vbViewRange == expected
  
      # and outside limits
      testRange = pg.QtCore.QRect(-15, -15, 17, 17)
  
      # Code should center the required width reduction, so move each side by 3
      expected = [
          [testRange.left() + 3, testRange.right() - 3],
          [testRange.top() + 3, testRange.bottom() - 3],
      ]
  
      vb.setRange(testRange, padding=0)
      vbViewRange = vb.getState()["viewRange"]
      vbTargetRange = vb.getState()["targetRange"]
  
      assert vbViewRange == expected
      assert vbTargetRange == expected
  
file_path: pyqtgraph/tests/graphicsItems/ViewBox/test_ViewBoxZoom.py
imports: import pyqtgraph
label_desc: Use image node_id 3 for calling a global function with example usage: test_zoom_range_limit() without return types