code: def test_newlines_preserved_in_description(self, patched_echo):
      config_options = {
          "server.customOption": ConfigOption(
              key="server.customOption",
              description="""
                      This option has multiple lines.
                      Each line should be preserved.
                      Even this one.
                  """,
              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 = set(output.split("\n"))
  
      assert "# This option has multiple lines." in lines
      assert "# Each line should be preserved." in lines
      assert "# Even this one." in lines
  
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 8 for calling the ConfigUtilTest obj's underlying member method code with example usage: obj.test_newlines_preserved_in_description(patched_echo) without return types