Test escaping in translation underline helper
This commit is contained in:
parent
d3885eefda
commit
06fa669f8c
1 changed files with 29 additions and 0 deletions
|
@ -24,3 +24,32 @@ class TestTranslate:
|
||||||
data_translated = translate.translateData(data, {"_(original, original named)": "translated"})
|
data_translated = translate.translateData(data, {"_(original, original named)": "translated"})
|
||||||
assert 'translated = _("translated")' in data_translated
|
assert 'translated = _("translated")' in data_translated
|
||||||
assert 'not_translated = "original"' in data_translated
|
assert 'not_translated = "original"' in data_translated
|
||||||
|
|
||||||
|
|
||||||
|
def testTranslateEscape(self):
|
||||||
|
_ = Translate()
|
||||||
|
_["Hello"] = "Szia"
|
||||||
|
|
||||||
|
# Simple escaping
|
||||||
|
data = "{_[Hello]} {username}!"
|
||||||
|
username = "Hacker<script>alert('boom')</script>"
|
||||||
|
data_translated = _(data)
|
||||||
|
assert 'Szia' in data_translated
|
||||||
|
assert '<' not in data_translated
|
||||||
|
assert data_translated == "Szia Hacker<script>alert('boom')</script>!"
|
||||||
|
|
||||||
|
# Escaping dicts
|
||||||
|
user = {"username": "Hacker<script>alert('boom')</script>"}
|
||||||
|
data = "{_[Hello]} {user[username]}!"
|
||||||
|
data_translated = _(data)
|
||||||
|
assert 'Szia' in data_translated
|
||||||
|
assert '<' not in data_translated
|
||||||
|
assert data_translated == "Szia Hacker<script>alert('boom')</script>!"
|
||||||
|
|
||||||
|
# Escaping lists
|
||||||
|
users = [{"username": "Hacker<script>alert('boom')</script>"}]
|
||||||
|
data = "{_[Hello]} {users[0][username]}!"
|
||||||
|
data_translated = _(data)
|
||||||
|
assert 'Szia' in data_translated
|
||||||
|
assert '<' not in data_translated
|
||||||
|
assert data_translated == "Szia Hacker<script>alert('boom')</script>!"
|
||||||
|
|
Loading…
Reference in a new issue