Mercurial > p > roundup > code
view test/test_pythonexpr.py @ 7032:f529cca242dc
flake8: fix imports,
flake8 reported the following:
templating.py:25:1: F401 'base64' imported but unused
templating.py:25:1: F401 'mimetypes' imported but unused
templating.py:25:1: F401 'string' imported but unused
templating.py:28:1: F401 'time' imported but unused
templating.py:28:1: F401 'hashlib' imported but unused
templating.py:34:1: F401 'roundup.i18n' imported but unused
templating.py:35:1: F401 'roundup.i18n._' imported but unused
templating.py:36:1: F401 'roundup.anypy.strings.b2s' imported but unused
templating.py:36:1: F401 'roundup.anypy.strings.s2b' imported but unused
templating.py:43:1: F401 'roundup.anypy.random_' imported but unused
templating.py:47:5: F401 'pickle' imported but unused
Turns out time import was used by test_templating via
from roundup.cgi.templating import *
so added import time to test_templating
Also split out multiple imports on one line into sepearate lines.
Changed
todo =
to
__todo__
to make flake8 shut up about module level imports not at top of
file. Moved definiton of _disable_url_schemes for same reason.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 09 Oct 2022 18:40:46 -0400 |
| parents | e70885fe72a4 |
| children |
line wrap: on
line source
""" In Python 3, sometimes TAL "python:" expressions that refer to variables but not all variables are recognized. That is in Python 2.7 all variables used in a TAL "python:" expression are recognized as references. In Python 3.5 (perhaps earlier), some TAL "python:" expressions refer to variables but the reference generates an error like this: <class 'NameError'>: name 'some_tal_variable' is not defined even when the variable is defined. Output after this message lists the variable and its value. """ import unittest from roundup.cgi.PageTemplates.PythonExpr import PythonExpr as PythonExprClass class ExprTest(unittest.TestCase): def testExpr(self): expr = '[x for x in context.assignedto ' \ 'if x.realname not in user_realnames]' pe = PythonExprClass('test', expr, None) # Looking at the expression, only context and user_realnames are # external variables. The names assignedto and realname are members, # and x is local. required_names = ['context', 'user_realnames'] got_names = pe._f_varnames for required_name in required_names: self.assertIn(required_name, got_names)
