summaryrefslogtreecommitdiff
path: root/tests/test_terminal_formatter.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_terminal_formatter.py')
-rw-r--r--tests/test_terminal_formatter.py102
1 files changed, 0 insertions, 102 deletions
diff --git a/tests/test_terminal_formatter.py b/tests/test_terminal_formatter.py
deleted file mode 100644
index e5a13431..00000000
--- a/tests/test_terminal_formatter.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
- Pygments terminal formatter tests
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
- :license: BSD, see LICENSE for details.
-"""
-
-from __future__ import print_function
-
-import unittest
-import re
-
-from pygments.util import StringIO
-from pygments.lexers.sql import PlPgsqlLexer
-from pygments.formatters import TerminalFormatter, Terminal256Formatter, \
- HtmlFormatter, LatexFormatter
-
-from pygments.style import Style
-from pygments.token import Token
-from pygments.lexers import Python3Lexer
-from pygments import highlight
-
-DEMO_TEXT = '''\
--- comment
-select
-* from bar;
-'''
-DEMO_LEXER = PlPgsqlLexer
-DEMO_TOKENS = list(DEMO_LEXER().get_tokens(DEMO_TEXT))
-
-ANSI_RE = re.compile(r'\x1b[\w\W]*?m')
-
-
-def strip_ansi(x):
- return ANSI_RE.sub('', x)
-
-
-class TerminalFormatterTest(unittest.TestCase):
- def test_reasonable_output(self):
- out = StringIO()
- TerminalFormatter().format(DEMO_TOKENS, out)
- plain = strip_ansi(out.getvalue())
- self.assertEqual(DEMO_TEXT.count('\n'), plain.count('\n'))
- print(repr(plain))
-
- for a, b in zip(DEMO_TEXT.splitlines(), plain.splitlines()):
- self.assertEqual(a, b)
-
- def test_reasonable_output_lineno(self):
- out = StringIO()
- TerminalFormatter(linenos=True).format(DEMO_TOKENS, out)
- plain = strip_ansi(out.getvalue())
- self.assertEqual(DEMO_TEXT.count('\n') + 1, plain.count('\n'))
- print(repr(plain))
-
- for a, b in zip(DEMO_TEXT.splitlines(), plain.splitlines()):
- self.assertTrue(a in b)
-
-
-class MyStyle(Style):
- styles = {
- Token.Comment: 'ansibrightblack',
- Token.String: 'ansibrightblue bg:ansired',
- Token.Number: 'ansibrightgreen bg:ansigreen',
- Token.Number.Hex: 'ansigreen bg:ansibrightred',
- }
-
-
-class Terminal256FormatterTest(unittest.TestCase):
- code = '''
-# this should be a comment
-print("Hello World")
-async def function(a,b,c, *d, **kwarg:Bool)->Bool:
- pass
- return 123, 0xb3e3
-
-'''
-
- def test_style_html(self):
- style = HtmlFormatter(style=MyStyle).get_style_defs()
- self.assertTrue('#555555' in style,
- "ansigray for comment not html css style")
-
- def test_others_work(self):
- """check other formatters don't crash"""
- highlight(self.code, Python3Lexer(), LatexFormatter(style=MyStyle))
- highlight(self.code, Python3Lexer(), HtmlFormatter(style=MyStyle))
-
- def test_256esc_seq(self):
- """
- test that a few escape sequences are actually used when using ansi<> color codes
- """
- def termtest(x):
- return highlight(x, Python3Lexer(),
- Terminal256Formatter(style=MyStyle))
-
- self.assertTrue('32;101' in termtest('0x123'))
- self.assertTrue('92;42' in termtest('123'))
- self.assertTrue('90' in termtest('#comment'))
- self.assertTrue('94;41' in termtest('"String"'))