class_docstr: A [`unittest.TestCase`][] subclass with helpers for testing Markdown output.
  
  Define `default_kwargs` as a `dict` of keywords to pass to Markdown for each
  test. The defaults can be overridden on individual tests.
  
  The `assertMarkdownRenders` method accepts the source text, the expected
  output, and any keywords to pass to Markdown. The `default_kwargs` are used
  except where overridden by `kwargs`. The output and expected output are passed
  to `TestCase.assertMultiLineEqual`. An `AssertionError` is raised with a diff
  if the actual output does not equal the expected output.
  
  The `dedent` method is available to dedent triple-quoted strings if
  necessary.
  
  In all other respects, behaves as `unittest.TestCase`.
docstr: Dedent text.
docstr_tok: ["Dedent","text","."]
code: def dedent(self, text):
      """
      Dedent text.
      """
  
      # TODO: If/when actual output ends with a newline, then use:
      #     return textwrap.dedent(text.strip('/n'))
      return textwrap.dedent(text).strip()
  
imports: from __future__ import annotations
  import os
  import sys
  import unittest
  import textwrap
  from typing import Any
  from .None import markdown, Markdown, util
label_desc: Use image node_id 2 for calling the TestCase obj's underlying member method code with example usage: obj.dedent(text) and returns: textwrap