code: def test_onehot_fit_handle_unknown(as_array):
      X = DataFrame({"chars": ["a", "b"], "int": [0, 2]})
      Y = DataFrame({"chars": ["c", "b"], "int": [0, 2]})
      if as_array:
          X = _from_df_to_cupy(X)
          Y = _from_df_to_cupy(Y)
  
      enc = OneHotEncoder(handle_unknown="error", categories=Y)
      with pytest.raises(KeyError):
          enc.fit(X)
  
      enc = OneHotEncoder(handle_unknown="ignore", categories=Y)
      enc.fit(X)
  
imports: from sklearn.preprocessing import OneHotEncoder
  from cuml.testing.utils import stress_param, from_df_to_numpy, assert_inverse_equal, generate_inputs_from_categories
  from cuml.preprocessing import OneHotEncoder
  from cuml.internals.safe_imports import gpu_only_import_from
  import pytest
  from cuml.internals.safe_imports import cpu_only_import
  import math
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 6 for calling a global function with example usage: test_onehot_fit_handle_unknown(as_array) without return types