Merge pull request #1818 from ilvalle/py3.6dev

fix include_meta for py35, added tests
This commit is contained in:
mdipierro
2017-12-02 13:01:12 -06:00
committed by GitHub
3 changed files with 16 additions and 1 deletions

View File

@@ -10,12 +10,16 @@ python:
- '2.7'
- '3.5'
- '3.6'
- '3.6-dev'
- '3.7-dev'
- 'pypy-5.3.1'
- 'pypy3.5-5.7.1-beta'
matrix:
allow_failures:
- python: 'pypy3.5-5.7.1-beta'
- python: '3.6-dev'
- python: '3.7-dev'
install:
- pip install -e .

View File

@@ -464,7 +464,7 @@ class Response(Storage):
for meta in iteritems((self.meta or {})):
k, v = meta
if isinstance(v, dict):
s += '<meta' + ''.join(' %s="%s"' % (xmlescape(key),
s += '<meta' + ''.join(' %s="%s"' % (to_native(xmlescape(key)),
to_native(xmlescape(v[key]))) for key in v) + ' />\n'
else:
s += '<meta name="%s" content="%s" />\n' % (k, to_native(xmlescape(v)))

View File

@@ -230,3 +230,14 @@ class testResponse(unittest.TestCase):
current.session._fixup_before_save()
cookie = str(current.response.cookies)
self.assertTrue('httponly' not in cookie.lower())
def test_include_meta(self):
response = Response()
response.meta[u'web2py'] = 'web2py'
response.include_meta()
self.assertEqual(response.body.getvalue(), '\n<meta name="web2py" content="web2py" />\n')
response = Response()
response.meta[u'meta_dict'] = {u'tag_name':'tag_value'}
response.include_meta()
self.assertEqual(response.body.getvalue(), '\n<meta tag_name="tag_value" />\n')