def test_guess_lexer_precedence(): # Prefers exact lexer name match assert guess_lexer(EXAMPLE_C, 'ruby', 'my-thing.css').name == 'Ruby' # Otherwise uses filename detection assert guess_lexer(EXAMPLE_C, 'not-a-lexer', 'my-thing.css').name == 'CSS' # Finally uses text detection assert guess_lexer(EXAMPLE_C, 'not-a-lexer', 'not-a-filename-that-matches').name == 'C'
def block_code(self, code, lang): return PygmentsHighlighter( guess_lexer(code, lang, opts={'stripnl': True}), ).highlight(code)
def test_guess_lexer_falls_back_to_python(): assert guess_lexer('what language even is this', None).name == 'Python'
def test_guess_lexer_autodetects_with_invalid_lang(invalid_lang): assert guess_lexer(EXAMPLE_C, invalid_lang).name == 'C'
def test_guess_lexer_uses_valid_lang(): assert guess_lexer(EXAMPLE_C, 'ruby').name == 'Ruby'
def block_code(self, code, lang): return PygmentsHighlighter( guess_lexer(code, lang, None, opts={'stripnl': True}), ).highlight(code)
def test_guess_lexer_falls_back_to_python(): assert guess_lexer('what language even is this', None, None).name == 'Python'
def test_guess_lexer_autodetects_with_invalid_lang(invalid_lang): assert guess_lexer(EXAMPLE_C, invalid_lang, None).name == 'C'