code: def test_basic(self):
      self.assertMarkdownRenders(
          "It's fun. What's fun?",
          "<p>It&rsquo;s fun. What&rsquo;s fun?</p>",
      )
      self.assertMarkdownRenders(
          '"Isn\'t this fun"? --- she said...',
          "<p>&ldquo;Isn&rsquo;t this fun&rdquo;? &mdash; she said&hellip;</p>",
      )
      self.assertMarkdownRenders(
          "\"'Quoted' words in a larger quote.\"",
          "<p>&ldquo;&lsquo;Quoted&rsquo; words in a larger quote.&rdquo;</p>",
      )
      self.assertMarkdownRenders(
          "'Quoted \"words\" in a larger quote.'",
          "<p>&lsquo;Quoted &ldquo;words&rdquo; in a larger quote.&rsquo;</p>",
      )
      self.assertMarkdownRenders(
          '"quoted" text and **bold "quoted" text**',
          "<p>&ldquo;quoted&rdquo; text and <strong>bold &ldquo;quoted&rdquo; text</strong></p>",
      )
      self.assertMarkdownRenders(
          "'quoted' text and **bold 'quoted' text**",
          "<p>&lsquo;quoted&rsquo; text and <strong>bold &lsquo;quoted&rsquo; text</strong></p>",
      )
      self.assertMarkdownRenders(
          "em-dashes (---) and ellipes (...)",
          "<p>em-dashes (&mdash;) and ellipes (&hellip;)</p>",
      )
      self.assertMarkdownRenders(
          '"[Link](http://example.com)" --- she said.',
          '<p>&ldquo;<a href="http://example.com">Link</a>&rdquo; &mdash; she said.</p>',
      )
      self.assertMarkdownRenders(
          '"Ellipsis within quotes..."',
          "<p>&ldquo;Ellipsis within quotes&hellip;&rdquo;</p>",
      )
      self.assertMarkdownRenders(
          "*Custer*'s Last Stand",
          "<p><em>Custer</em>&rsquo;s Last Stand</p>",
      )
  
file_path: markdown/tests/test_syntax/extensions/test_smarty.py
imports: from markdown.test_tools import TestCase
label_desc: Use image node_id 1 for calling the TestSmarty obj's underlying member method code with example usage: obj.test_basic() without return types