code: def testMaxLevel(self):
      self.assertMarkdownRenders(
          self.dedent(
              """
                  # Header 1
  
                  ## Header 2
  
                  ### Header 3 not in TOC
                  """
          ),
          self.dedent(
              """
                  <h1 id="header-1">Header 1</h1>
                  <h2 id="header-2">Header 2</h2>
                  <h3 id="header-3-not-in-toc">Header 3 not in TOC</h3>
                  """
          ),
          expected_attrs={
              "toc": (
                  '<div class="toc">\n'
                  "<ul>\n"  # noqa
                  '<li><a href="#header-1">Header 1</a>'  # noqa
                  "<ul>\n"  # noqa
                  '<li><a href="#header-2">Header 2</a></li>\n'  # noqa
                  "</ul>\n"  # noqa
                  "</li>\n"  # noqa
                  "</ul>\n"  # noqa
                  "</div>\n"  # noqa
              ),
              "toc_tokens": [
                  {
                      "level": 1,
                      "id": "header-1",
                      "name": "Header 1",
                      "children": [
                          {
                              "level": 2,
                              "id": "header-2",
                              "name": "Header 2",
                              "children": [],
                          }
                      ],
                  }
              ],
          },
          extensions=[TocExtension(toc_depth=2)],
      )
  
imports: from markdown.test_tools import TestCase
  from markdown.extensions.toc import TocExtension
  from markdown.extensions.nl2br import Nl2BrExtension
label_desc: Use image node_id 8 for calling the TestTOC obj's underlying member method code with example usage: obj.testMaxLevel() without return types