forked from orbit-oss/flask
Imply the |safe on tojson in templates and change escaping logic
This commit is contained in:
parent
56d3b74488
commit
ef72b78042
7 changed files with 46 additions and 31 deletions
|
|
@ -92,12 +92,17 @@ class JSONTestCase(FlaskTestCase):
|
|||
app = flask.Flask(__name__)
|
||||
render = flask.render_template_string
|
||||
with app.test_request_context():
|
||||
rv = render('{{ "</script>"|tojson|safe }}')
|
||||
self.assert_equal(rv, '"<\\/script>"')
|
||||
rv = render('{{ "<\0/script>"|tojson|safe }}')
|
||||
self.assert_equal(rv, '"<\\u0000\\/script>"')
|
||||
rv = render('{{ "<!--<script>"|tojson|safe }}')
|
||||
self.assert_equal(rv, '"<\\u0021--<script>"')
|
||||
rv = flask.json.htmlsafe_dumps('</script>')
|
||||
self.assert_equal(rv, u'"\\u003c/script\\u003e"')
|
||||
self.assert_equal(type(rv), text_type)
|
||||
rv = render('{{ "</script>"|tojson }}')
|
||||
self.assert_equal(rv, '"\\u003c/script\\u003e"')
|
||||
rv = render('{{ "<\0/script>"|tojson }}')
|
||||
self.assert_equal(rv, '"\\u003c\\u0000/script\\u003e"')
|
||||
rv = render('{{ "<!--<script>"|tojson }}')
|
||||
self.assert_equal(rv, '"\\u003c!--\\u003cscript\\u003e"')
|
||||
rv = render('{{ "&"|tojson }}')
|
||||
self.assert_equal(rv, '"\\u0026"')
|
||||
|
||||
def test_json_customization(self):
|
||||
class X(object):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue