code: def test_grid_labels_inline_usa(proj):
      top = 49.3457868  # north lat
      left = -124.7844079  # west long
      right = -66.9513812  # east long
      bottom = 24.7433195  # south lat
      fig = plt.figure()
      if isinstance(proj, tuple):
          proj, kwargs = proj
      else:
          kwargs = {}
      ax = fig.add_subplot(projection=proj(**kwargs))
      try:
          ax.set_extent(
              [left, right, bottom, top], crs=ccrs.PlateCarree()
          )
      except Exception:
          pytest.skip("Projection does not support changing extent")
      ax.gridlines(draw_labels=True, auto_inline=True, clip_on=True)
      ax.coastlines(resolution="110m")
      return fig
  
imports: import io
  from unittest import mock
  from matplotlib.collections import PolyCollection
  import matplotlib.pyplot
  import matplotlib.ticker
  import numpy
  import pytest
  from shapely.geos import geos_version
  import cartopy.crs
  from cartopy.mpl import _MPL_36
  from cartopy.mpl.geoaxes import GeoAxes
  from cartopy.mpl.gridliner import LATITUDE_FORMATTER, LONGITUDE_FORMATTER, Gridliner, classic_formatter, classic_locator
  from cartopy.mpl.ticker import LongitudeFormatter, LongitudeLocator
label_desc: Use image node_id 7 for calling a global function with example usage: test_grid_labels_inline_usa(proj) and returns: fig