code: def test_turntable_gesture_zoom():
      with TestingCanvas(size=(120, 200)) as canvas:
          view = canvas.central_widget.add_view()
          imdata = io.load_crate().astype("float32") / 255
          scene.visuals.Image(imdata, parent=view.scene)
          view.camera = scene.TurntableCamera()
  
          initial_scale_factor = view.camera.scale_factor
          canvas.events.touch(
              type="gesture_zoom",
              pos=(60, 100),
              scale=-1.0,
          )
  
          assert view.camera.scale_factor == 2 * initial_scale_factor
  
file_path: vispy/vispy/scene/cameras/tests/test_perspective.py
imports: import sys
  import numpy
  import pytest
  from vispy import scene, io
  from vispy.testing import requires_application, TestingCanvas, run_tests_if_main
  from vispy.testing.image_tester import assert_image_approved
label_desc: Use image node_id 4 for calling a global function with example usage: test_turntable_gesture_zoom() without return types