code: def test_fs():
      """Test fullscreen support"""
      a = use_app()
      if not a.backend_module.capability["fullscreen"]:
          return
      assert_raises(TypeError, Canvas, fullscreen="foo")
      if a.backend_name.lower() == "glfw" or (
          a.backend_name.lower() == "sdl2" and sys.platform == "darwin"
      ):
          raise SkipTest("Backend takes over screen")
      with use_log_level(
          "warning", record=True, print_msg=False
      ) as emit_list:
          with Canvas(fullscreen=False) as c:
              assert_equal(c.fullscreen, False)
              c.fullscreen = True
              assert_equal(c.fullscreen, True)
      assert_equal(len(emit_list), 0)
      with use_log_level("warning", record=True, print_msg=False):
          # some backends print a warning b/c fullscreen can't be specified
          with Canvas(fullscreen=True) as c:
              assert_equal(c.fullscreen, True)
  
imports: import sys
  from collections import namedtuple
  from io import StringIO
  from time import sleep
  import gc
  import numpy
  from numpy.testing import assert_array_equal
  import pytest
  from vispy.app import use_app, Canvas, Timer, MouseEvent, KeyEvent
  from vispy.app.base import BaseApplicationBackend
  from vispy.testing import requires_application, SkipTest, assert_is, assert_in, run_tests_if_main, assert_equal, assert_true, assert_raises, IS_TRAVIS_CI
  from vispy.util import keys, use_log_level
  from vispy.gloo.program import Program, VertexBuffer, IndexBuffer
  from vispy.gloo.util import _screenshot
  from vispy.gloo import gl
label_desc: Use image node_id 8 for calling a global function with example usage: test_fs() without return types