diff options
author | gbrandl <devnull@localhost> | 2007-01-25 18:29:59 +0100 |
---|---|---|
committer | gbrandl <devnull@localhost> | 2007-01-25 18:29:59 +0100 |
commit | 19d8c509bee3216d68419d27f34d00d151454e92 (patch) | |
tree | 2270c870264f4fb2194d161122a25edd4a0a9b48 /tests/test_using_api.py | |
parent | 4d862a0197bee61cd5cfd429ce39d11dbfae6662 (diff) | |
download | pygments-19d8c509bee3216d68419d27f34d00d151454e92.tar.gz |
[svn] Added using(state=x) and RST lexer by Tim Hatch.
Diffstat (limited to 'tests/test_using_api.py')
-rw-r--r-- | tests/test_using_api.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/test_using_api.py b/tests/test_using_api.py new file mode 100644 index 00000000..0af12441 --- /dev/null +++ b/tests/test_using_api.py @@ -0,0 +1,31 @@ +import unittest +from pygments.lexer import using, bygroups, this, RegexLexer +from pygments.token import String, Text, Keyword + +class TestLexer(RegexLexer): + tokens = { + 'root': [ + (r'#.*', using(this, state='invalid')), + (r'(")(.+?)(")', bygroups(String, using(this, state='string'), String)), + (r'[^"]+', Text), + ], + 'string': [ + (r'.+', Keyword), + ], + } + +class UsingStateTest(unittest.TestCase): + def test_basic(self): + expected = [(Text, 'a'), (String, '"'), (Keyword, 'bcd'), + (String, '"'), (Text, 'e\n')] + t = list(TestLexer().get_tokens('a"bcd"e')) + self.assertEquals(t, expected) + def test_error(self): + def gen(): + x = list(TestLexer().get_tokens('#a')) + #XXX: should probably raise a more specific exception if the state + # doesn't exist. + self.assertRaises(Exception, gen) + +if __name__ == "__main__": + unittest.main() |