code: def test_pyarrow_strings_enabled():
      try:
          import pyarrow as pa
      except ImportError:
          pa = None
  
      # If `pandas>=2` and `pyarrow>=12` are installed, then default to using pyarrow strings
      if (
          PANDAS_GE_200
          and pa is not None
          and Version(pa.__version__) >= Version("12.0.0")
      ):
          assert pyarrow_strings_enabled() is True
      else:
          assert pyarrow_strings_enabled() is False
  
      # Regardless of dependencies that are installed, always obey
      # the `dataframe.convert-string` config value if it's specified
      with dask.config.set({"dataframe.convert-string": False}):
          assert pyarrow_strings_enabled() is False
  
      with dask.config.set({"dataframe.convert-string": True}):
          assert pyarrow_strings_enabled() is True
  
imports: from __future__ import annotations
  import re
  import warnings
  from collections.abc import Iterable
  import numpy
  import pandas
  import pytest
  from packaging.version import Version
  import dask
  import dask.dataframe
  from dask.dataframe._compat import PANDAS_GE_200, tm
  from dask.dataframe.core import apply_and_enforce
  from dask.dataframe.utils import UNKNOWN_CATEGORIES, assert_eq, check_matching_columns, check_meta, is_dataframe_like, is_index_like, is_series_like, make_meta, meta_frame_constructor, meta_nonempty, meta_series_constructor, pyarrow_strings_enabled, raise_on_meta_error, shard_df_on_index, valid_divisions
  from dask.local import get_sync
label_desc: Use image node_id 22 for calling a global function with example usage: test_pyarrow_strings_enabled() without return types