From 1f403ad2197fc7442409f434ee574f3e6b46fb73 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 13:33:32 +0200 Subject: Adding upstream version 2.14.0+dfsg. Signed-off-by: Daniel Baumann --- tests/test_using_api.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 tests/test_using_api.py (limited to 'tests/test_using_api.py') diff --git a/tests/test_using_api.py b/tests/test_using_api.py new file mode 100644 index 0000000..7b0b030 --- /dev/null +++ b/tests/test_using_api.py @@ -0,0 +1,39 @@ +""" + Pygments tests for using() + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + + :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" + +from pytest import raises + +from pygments.lexer import using, bygroups, this, RegexLexer +from pygments.token import String, Text, Keyword + + +class MyLexer(RegexLexer): + tokens = { + 'root': [ + (r'#.*', + using(this, state='invalid')), + (r'(")(.+?)(")', + bygroups(String, using(this, state='string'), String)), + (r'[^"]+', Text), + ], + 'string': [ + (r'.+', Keyword), + ], + } + + +def test_basic(): + expected = [(Text, 'a'), (String, '"'), (Keyword, 'bcd'), + (String, '"'), (Text, 'e\n')] + assert list(MyLexer().get_tokens('a"bcd"e')) == expected + + +def test_error(): + def gen(): + return list(MyLexer().get_tokens('#a')) + assert raises(KeyError, gen) -- cgit v1.2.3