From 89a4adc825f44aa4b32f559e4b540d44572cb06a Mon Sep 17 00:00:00 2001 From: Jessie Wincek Date: Thu, 2 Jun 2016 10:47:17 -0700 Subject: Added Python cls builtin word token recognition --- pygments/lexers/python.py | 4 ++-- tests/test_python.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 tests/test_python.py diff --git a/pygments/lexers/python.py b/pygments/lexers/python.py index 7601afa8..35635ed1 100644 --- a/pygments/lexers/python.py +++ b/pygments/lexers/python.py @@ -116,7 +116,7 @@ class PythonLexer(RegexLexer): 'unichr', 'unicode', 'vars', 'xrange', 'zip'), prefix=r'(? Date: Thu, 2 Jun 2016 12:06:07 -0700 Subject: Fixed reStructuredText heading marker --- tests/test_python.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_python.py b/tests/test_python.py index 21c69605..766e5c55 100644 --- a/tests/test_python.py +++ b/tests/test_python.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """ Python Tests - ~~~~~~~~~ + ~~~~~~~~~~~~ :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. -- cgit v1.2.1 From 1b6f130a6d883906da54d4a7cdf80dfc00c1574a Mon Sep 17 00:00:00 2001 From: Jessie Wincek Date: Thu, 2 Jun 2016 12:16:52 -0700 Subject: Replaced test method placeholder name and added docstring --- tests/test_python.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_python.py b/tests/test_python.py index 766e5c55..fc48624e 100644 --- a/tests/test_python.py +++ b/tests/test_python.py @@ -17,7 +17,11 @@ class PythonTest(unittest.TestCase): def setUp(self): self.lexer = PythonLexer() - def testNeedsName(self): + def test_cls_builtin(self): + """ + Tests that a cls token gets interpreted as a Token.Name.Builtin.Pseudo + + """ fragment = 'class TestClass():\n @classmethod\n def hello(cls):\n pass\n' tokens = [ (Token.Keyword, 'class'), -- cgit v1.2.1 From 609e62a32994cacaaa0f2676eff1f992317dd769 Mon Sep 17 00:00:00 2001 From: domspad Date: Thu, 2 Jun 2016 14:16:57 -0700 Subject: added test for python3 at operator --- tests/test_python.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/tests/test_python.py b/tests/test_python.py index fc48624e..62c155f7 100644 --- a/tests/test_python.py +++ b/tests/test_python.py @@ -9,7 +9,7 @@ import unittest -from pygments.lexers import PythonLexer +from pygments.lexers import PythonLexer, Python3Lexer from pygments.token import Token @@ -48,3 +48,66 @@ class PythonTest(unittest.TestCase): (Token.Text, '\n'), ] self.assertEqual(tokens, list(self.lexer.get_tokens(fragment))) + + +class Python3Test(unittest.TestClass): + def setUp(self): + self.lexer = Python3Lexer + + def testNeedsName(self): + """ + Tests that '@' is recognized as an Operator + """ + fragment = u'S = (H @ beta - r).T @ inv(H @ V @ H.T) @ (H @ beta - r)\n' + tokens = [ + (Token.Name, u'S'), + (Token.Text, u' '), + (Token.Operator, u'='), + (Token.Text, u' '), + (Token.Punctuation, u'('), + (Token.Name, u'H'), + (Token.Text, u' '), + (Token.Operator, u'@'), + (Token.Text, u' '), + (Token.Name, u'beta'), + (Token.Text, u' '), + (Token.Operator, u'-'), + (Token.Text, u' '), + (Token.Name, u'r'), + (Token.Punctuation, u')'), + (Token.Operator, u'.'), + (Token.Name, u'T'), + (Token.Text, u' '), + (Token.Operator, u'@'), + (Token.Text, u' '), + (Token.Name, u'inv'), + (Token.Punctuation, u'('), + (Token.Name, u'H'), + (Token.Text, u' '), + (Token.Operator, u'@'), + (Token.Text, u' '), + (Token.Name, u'V'), + (Token.Text, u' '), + (Token.Operator, u'@'), + (Token.Text, u' '), + (Token.Name, u'H'), + (Token.Operator, u'.'), + (Token.Name, u'T'), + (Token.Punctuation, u')'), + (Token.Text, u' '), + (Token.Operator, u'@'), + (Token.Text, u' '), + (Token.Punctuation, u'('), + (Token.Name, u'H'), + (Token.Text, u' '), + (Token.Operator, u'@'), + (Token.Text, u' '), + (Token.Name, u'beta'), + (Token.Text, u' '), + (Token.Operator, u'-'), + (Token.Text, u' '), + (Token.Name, u'r'), + (Token.Punctuation, u')'), + (Token.Text, u'\n'), + ] + self.assertEqual(tokens, list(self.lexer.get_tokens(fragment))) -- cgit v1.2.1 From 0435bbf2b2de3d90cd3053e0a90bfeedb9243b63 Mon Sep 17 00:00:00 2001 From: domspad Date: Thu, 2 Jun 2016 14:23:01 -0700 Subject: typo --- tests/test_python.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_python.py b/tests/test_python.py index 62c155f7..f5784cb1 100644 --- a/tests/test_python.py +++ b/tests/test_python.py @@ -50,9 +50,9 @@ class PythonTest(unittest.TestCase): self.assertEqual(tokens, list(self.lexer.get_tokens(fragment))) -class Python3Test(unittest.TestClass): +class Python3Test(unittest.TestCase): def setUp(self): - self.lexer = Python3Lexer + self.lexer = Python3Lexer() def testNeedsName(self): """ -- cgit v1.2.1 From 4242a01c1bc53bd76fad358a56b25af961bc2628 Mon Sep 17 00:00:00 2001 From: domspad Date: Thu, 2 Jun 2016 16:05:43 -0700 Subject: test for unicode chars in julia` --- tests/test_julia.py | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 tests/test_julia.py diff --git a/tests/test_julia.py b/tests/test_julia.py new file mode 100644 index 00000000..856aba3b --- /dev/null +++ b/tests/test_julia.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +""" + Python Tests + ~~~~~~~~~~~~ + + :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" + +import unittest + +from pygments.lexers import JuliaLexer +from pygments.token import Token + + +class Julia(unittest.TestCase): + def setUp(self): + self.lexer = JuliaLexer() + + def test_unicode(self): + """ + Test that unicode character, √, in an expression is recognized + """ + fragment = u's = \u221a((1/n) * sum(count .^ 2) - mu .^2)\n' + tokens = [ + (Token.Name, u's'), + (Token.Text, u' '), + (Token.Operator, u'='), + (Token.Text, u' '), + (Token.Name, u'\u221a'), + (Token.Punctuation, u'('), + (Token.Punctuation, u'('), + (Token.Literal.Number.Integer, u'1'), + (Token.Operator, u'/'), + (Token.Name, u'n'), + (Token.Punctuation, u')'), + (Token.Text, u' '), + (Token.Operator, u'*'), + (Token.Text, u' '), + (Token.Name, u'sum'), + (Token.Punctuation, u'('), + (Token.Name, u'count'), + (Token.Text, u' '), + (Token.Operator, u'.'), + (Token.Operator, u'^'), + (Token.Text, u' '), + (Token.Literal.Number.Integer, u'2'), + (Token.Punctuation, u')'), + (Token.Text, u' '), + (Token.Operator, u'-'), + (Token.Text, u' '), + (Token.Name, u'mu'), + (Token.Text, u' '), + (Token.Operator, u'.'), + (Token.Operator, u'^'), + (Token.Literal.Number.Integer, u'2'), + (Token.Punctuation, u')'), + (Token.Text, u'\n'), + ] + self.assertEqual(tokens, list(self.lexer.get_tokens(fragment))) -- cgit v1.2.1 From 406fa87e97e6f886ea11de21531bcc1f1ae30ebf Mon Sep 17 00:00:00 2001 From: domspad Date: Thu, 2 Jun 2016 16:08:08 -0700 Subject: python typos --- tests/test_julia.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_julia.py b/tests/test_julia.py index 856aba3b..8f78e283 100644 --- a/tests/test_julia.py +++ b/tests/test_julia.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ - Python Tests + Julia Tests ~~~~~~~~~~~~ :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS. @@ -13,7 +13,7 @@ from pygments.lexers import JuliaLexer from pygments.token import Token -class Julia(unittest.TestCase): +class JuliaTests(unittest.TestCase): def setUp(self): self.lexer = JuliaLexer() -- cgit v1.2.1