code: def test_omits_empty_lines_at_description_start(self, patched_echo):
      config_options = {
          "server.customOption": ConfigOption(
              key="server.customOption",
              description="""
  
                      This option's description starts from third line.
                      All preceding empty lines should be removed.
                  """,
              default_val="default",
              type_=str,
          )
      }
  
      config_util.show_config(
          CONFIG_SECTION_DESCRIPTIONS, config_options
      )
  
      [(args, _)] = patched_echo.call_args_list
      # Remove the ascii escape sequences used to color terminal output.
      output = re.compile(r"\x1b[^m]*m").sub("", args[0])
      lines = output.split("\n")
      description_index = lines.index(
          "# This option's description starts from third line."
      )
  
      assert (
          description_index > 1
      ), "Description should not be at the start of the output"
      assert (
          lines[description_index - 1].strip() == ""
      ), "Preceding line should be empty (this line separates config options)"
      assert (
          lines[description_index - 2].strip() != ""
      ), "The line before the preceding line should not be empty (this is the section header)"
  
imports: import copy
  import re
  import textwrap
  import unittest
  from unittest.mock import patch
  from parameterized import parameterized
  from streamlit import config, config_util
  from streamlit.config_option import ConfigOption
label_desc: Use image node_id 9 for calling the ConfigUtilTest obj's underlying member method code with example usage: obj.test_omits_empty_lines_at_description_start(patched_echo) without return types