code: def test_build_show_options(unittest):
      final_options = build_show_options()
      assert final_options["allow_cell_edits"]
  
      options = dict(allow_cell_edits=False)
      final_options = build_show_options(options)
      assert not final_options["allow_cell_edits"]
  
      ini_path = os.path.join(os.path.dirname(__file__), "dtale.ini")
      os.environ["DTALE_CONFIG"] = ini_path
      final_options = build_show_options()
      assert final_options["allow_cell_edits"]
      assert final_options["precision"] == 6
      unittest.assertEqual(final_options["show_columns"], ["a", "b"])
      unittest.assertEqual(final_options["hide_columns"], ["c"])
      unittest.assertEqual(
          final_options["column_formats"],
          {"a": {"fmt": {"html": True}}},
      )
      unittest.assertEqual(final_options["sort"], [("a", "ASC")])
      unittest.assertEqual(final_options["locked"], ["a", "b"])
      unittest.assertEqual(
          final_options["column_edit_options"],
          {"a": ["foo", "bar", "baz"]},
      )
      assert not final_options["auto_hide_empty_columns"]
      assert not final_options["highlight_filter"]
  
      final_options = build_show_options(options)
      assert not final_options["allow_cell_edits"]
  
      del os.environ["DTALE_CONFIG"]
  
      set_config(ini_path)
      final_options = build_show_options()
      assert final_options["allow_cell_edits"]
  
      set_config(None)
      final_options = build_show_options(options)
      assert not final_options["allow_cell_edits"]
  
file_path: dtale/tests/dtale/config/test_config.py
imports: import mock
  import os
  import pytest
  from dtale.config import load_app_settings, load_auth_settings, load_config_state, build_show_options, set_config
  from tests import ExitStack
label_desc: Use image node_id 4 for calling a global function with example usage: test_build_show_options(unittest) without return types