class_docstr: Test class for the Folium library.
class_docstr_tok: ["Test","class","for","the","Folium","library","."]
docstr: Test custom tile URLs.
docstr_tok: ["Test","custom","tile","URLs","."]
code: def test_custom_tile(self):
      """Test custom tile URLs."""
  
      url = "http://{s}.custom_tiles.org/{z}/{x}/{y}.png"
      attr = "Attribution for custom tiles"
  
      with pytest.raises(ValueError):
          folium.Map(location=[45.5236, -122.6750], tiles=url)
  
      m = folium.Map(location=[45.52, -122.67], tiles=url, attr=attr)
      assert m._children[url].tiles == url
      assert attr in m._parent.render()
  
      bounds = m.get_bounds()
      assert bounds == [[None, None], [None, None]], bounds
  
imports: import json
  import os
  import branca.element
  import geopandas
  import jinja2
  import numpy
  import pandas
  import pytest
  import xyzservices.providers
  from jinja2 import Environment, PackageLoader
  from jinja2.utils import htmlsafe_json_dumps
  import folium
  from folium import TileLayer
  from folium.features import Choropleth, GeoJson
label_desc: Use image node_id 4 for calling the TestFolium obj's underlying member method code with example usage: obj.test_custom_tile() without return types