code: def test_years(self):
      self.assertMarkdownRenders(
          "1440--80's", "<p>1440&ndash;80&rsquo;s</p>"
      )
      self.assertMarkdownRenders(
          "1440--'80s", "<p>1440&ndash;&rsquo;80s</p>"
      )
      self.assertMarkdownRenders(
          "1440---'80s", "<p>1440&mdash;&rsquo;80s</p>"
      )
      self.assertMarkdownRenders("1960's", "<p>1960&rsquo;s</p>")
      self.assertMarkdownRenders(
          "one two '60s", "<p>one two &rsquo;60s</p>"
      )
      self.assertMarkdownRenders("'60s", "<p>&rsquo;60s</p>")
  
file_path: markdown/tests/test_syntax/extensions/test_smarty.py
imports: from markdown.test_tools import TestCase
label_desc: Use image node_id 2 for calling the TestSmarty obj's underlying member method code with example usage: obj.test_years() without return types