class_docstr: Test codehilite extension. 
class_docstr_tok: ["Test","codehilite","extension","."]
code: def testFormatterLangStrGuessLang(self):
      if has_pygments:
          expected = (
              '<div class="codehilite"><pre><span></span>'
              '<code class="language-js+php"><span class="cp">&lt;?php</span> '
              '<span class="k">print</span><span class="p">(</span>'
              '<span class="s2">&quot;Hello World&quot;</span>'
              '<span class="p">);</span> <span class="cp">?&gt;</span>\n'
              "</code></pre></div>"
          )
      else:
          expected = (
              '<pre class="codehilite"><code>&lt;?php print(&quot;Hello World&quot;); ?&gt;\n'
              "</code></pre>"
          )
      # Use PHP as the the starting `<?php` tag ensures an accurate guess.
      self.assertMarkdownRenders(
          '\t<?php print("Hello World"); ?>',
          expected,
          extensions=[
              CodeHiliteExtension(
                  pygments_formatter=self.custom_pygments_formatter
              )
          ],
      )
  
imports: from markdown.test_tools import TestCase
  from markdown.extensions.codehilite import CodeHiliteExtension, CodeHilite
  from markdown import extensions, treeprocessors
  import os
  import xml.etree.ElementTree
label_desc: Use image node_id 18 for calling the TestCodeHiliteExtension obj's underlying member method code with example usage: obj.testFormatterLangStrGuessLang() without return types