annotate test/test_pythonexpr.py @ 6763:d93b441ee778

Handle build issues, update css for mobile I added www.roundup-tracker.org as a property of mine in google search console. It reports bad mobile experience. According to the goatcounter tracker I put in, we get 400 hits from phones/small tablets; 400 from tablets/small laptops and 800 from computer screens. So 1/4 is mobile and 1/2 is not a large computer screen. On mobile (<960px) the left hand menu is stacked on top of the column in mobile sizes. Sub-menu links are spaced apart to make them easier to clkick on with a finger. Same with the table of contents in the documents. The main document content is now full display width (rather than scrunched to the right side of the display). This is just a quick hack, but it should make the docs more usable. As I worked, I found that _static/style.css changes were not being copied into the html build directory when sphinx was rerun. Nuke entire html subdir and rebuild from scratch each time. Also added comments to Makefile. Also robots.txt was being added as extra_html by sphinx, but it causes a missing from TOC error that exits the build (when using -W). Since exiting on warning is better, I changed Makefile to add robots.txt. Removed robots.txt references from conf.py.
author John Rouillard <rouilj@ieee.org>
date Sun, 10 Jul 2022 18:16:13 -0400
parents e70885fe72a4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5676
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
1 """
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
2 In Python 3, sometimes TAL "python:" expressions that refer to
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
3 variables but not all variables are recognized. That is in Python 2.7
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
4 all variables used in a TAL "python:" expression are recognized as
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
5 references. In Python 3.5 (perhaps earlier), some TAL "python:"
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
6 expressions refer to variables but the reference generates an error
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
7 like this:
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
8
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
9 <class 'NameError'>: name 'some_tal_variable' is not defined
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
10
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
11 even when the variable is defined. Output after this message lists the
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
12 variable and its value.
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
13 """
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
14
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
15 import unittest
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
16
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
17 from roundup.cgi.PageTemplates.PythonExpr import PythonExpr as PythonExprClass
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
18
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
19 class ExprTest(unittest.TestCase):
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
20 def testExpr(self):
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
21 expr = '[x for x in context.assignedto ' \
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
22 'if x.realname not in user_realnames]'
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
23 pe = PythonExprClass('test', expr, None)
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
24 # Looking at the expression, only context and user_realnames are
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
25 # external variables. The names assignedto and realname are members,
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
26 # and x is local.
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
27 required_names = ['context', 'user_realnames']
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
28 got_names = pe._f_varnames
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
29 for required_name in required_names:
e70885fe72a4 issue2551026: template variable not defined even though it is.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
30 self.assertIn(required_name, got_names)

Roundup Issue Tracker: http://roundup-tracker.org/