code: def test_where_datetimelike_coerce(dtype):
      ser = Series([1, 2], dtype=dtype)
      expected = Series([10, 10])
      mask = np.array([False, False])
  
      msg = (
          "Downcasting behavior in Series and DataFrame methods 'where'"
      )
      with tm.assert_produces_warning(FutureWarning, match=msg):
          rs = ser.where(mask, [10, 10])
      tm.assert_series_equal(rs, expected)
  
      with tm.assert_produces_warning(FutureWarning, match=msg):
          rs = ser.where(mask, 10)
      tm.assert_series_equal(rs, expected)
  
      with tm.assert_produces_warning(FutureWarning, match=msg):
          rs = ser.where(mask, 10.0)
      tm.assert_series_equal(rs, expected)
  
      with tm.assert_produces_warning(FutureWarning, match=msg):
          rs = ser.where(mask, [10.0, 10.0])
      tm.assert_series_equal(rs, expected)
  
      rs = ser.where(mask, [10.0, np.nan])
      expected = Series([10, np.nan], dtype="object")
      tm.assert_series_equal(rs, expected)
  
imports: import numpy
  import pytest
  from pandas._config import using_pyarrow_string_dtype
  from pandas.core.dtypes.common import is_integer
  import pandas
  from pandas import Series, Timestamp, date_range, isna
  import pandas._testing
label_desc: Use image node_id 15 for calling a global function with example usage: test_where_datetimelike_coerce(dtype) without return types