code: def test_reactive_draw():
      """Test reactive RectPolygon attributes"""
      with TestingCanvas() as c:
          colorbar = create_colorbar(
              pos=(50, 50), size=(60, 4), orientation="top"
          )
          c.draw_visual(colorbar)
  
          colorbar.cmap = "ice"
          assert_image_approved(
              c.render(), "visuals/colorbar/reactive_cmap.png"
          )
  
          colorbar.clim = (-20, 20)
          assert_image_approved(
              c.render(), "visuals/colorbar/reactive_clim.png"
          )
  
          colorbar.label.text = "new label"
          assert_image_approved(
              c.render(), "visuals/colorbar/reactive_label.png"
          )
  
          colorbar.ticks[0].color = "red"
          colorbar.ticks[1].color = "blue"
          assert_image_approved(
              c.render(), "visuals/colorbar/reactive_ticks.png"
          )
  
          colorbar.border_width = 0
          assert_image_approved(
              c.render(), "visuals/colorbar/reactive_border_width.png"
          )
  
          colorbar.border_width = 5
          colorbar.border_color = "red"
          assert_image_approved(
              c.render(), "visuals/colorbar/reactive_border_color.png"
          )
  
file_path: vispy/vispy/visuals/tests/test_colorbar.py
imports: from vispy.scene import visuals
  from vispy.testing import requires_application, TestingCanvas, run_tests_if_main, raises
  from vispy.testing.image_tester import assert_image_approved
label_desc: Use image node_id 3 for calling a global function with example usage: test_reactive_draw() without return types