code: def test_append_data_dir__internal(projdir_type, tmp_path):
      with proj_env(), patch.dict(os.environ, {}, clear=True), patch(
          "pyproj.datadir.Path.absolute",
          return_value=tmp_path / "datadir.py",
      ), patch("pyproj.datadir.sys.prefix", str(_INVALID_PATH)):
          create_projdb(tmp_path)
          internal_proj_dir = tmp_path / "proj_dir" / "share" / "proj"
          internal_proj_dir.mkdir(parents=True)
          create_projdb(internal_proj_dir)
          extra_datadir = tmp_path / "extra_datumgrids"
          append_data_dir(projdir_type(extra_datadir))
          assert get_data_dir() == os.pathsep.join(
              [str(internal_proj_dir), str(extra_datadir)]
          )
  
imports: import logging
  import os
  from contextlib import contextmanager
  from pathlib import Path
  from unittest.mock import patch
  import pytest
  import pyproj._datadir
  from pyproj import CRS, Transformer, get_codes, set_use_global_context
  from pyproj._datadir import _pyproj_global_context_initialize
  from pyproj.datadir import DataDirError, append_data_dir, get_data_dir, get_user_data_dir, set_data_dir
  from pyproj.enums import PJType
  from pyproj.exceptions import CRSError
  from test.conftest import proj_env
label_desc: Use image node_id 14 for calling a global function with example usage: test_append_data_dir__internal(projdir_type, tmp_path) without return types