code: def test_head002_preserves_hidden_columns_on_rename(test):
      test.start_server(get_app(dict(merge_duplicate_headers=True)))
  
      target = test.table("table")
  
      wait.until(
          lambda: target.column(6).get().get_attribute("colspan")
          == "4",
          3,
      )
      assert target.column(6).get_text() == ""
  
      target.column(8).hide(2)
      target.column(6).hide(2)
      target.column(1).hide(2)
  
      target.column(5).edit()
  
      alert = test.driver.switch_to.alert
      alert.send_keys("Chill")
      alert.accept()
  
      target.toggle_columns().open()
      for el in target.toggle_columns().get_hidden():
          el.click()
  
      target.toggle_columns().close()
  
      wait.until(
          lambda: target.column(6).get().get_attribute("colspan")
          == "4",
          3,
      )
  
      assert target.column(6).get_text() == "Chill"
      assert test.get_log_errors() == []
  
file_path: dash/components/dash-table/tests/selenium/test_header.py
imports: import dash
  from dash.testing import wait
  from utils import get_props
  from dash.dash_table import DataTable
  import pytest
label_desc: Use image node_id 4 for calling a global function with example usage: test_head002_preserves_hidden_columns_on_rename(test) without return types