Beispiel #1
0
 def test_internal_link(self):
     s = u'<b>markup</b> <a href="http://addons.mozilla.org/foo">bar</a>'
     x = PurifiedTranslation(localized_string=s)
     doc = pq(x.__html__())
     links = doc('a[href="http://addons.mozilla.org/foo"][rel="nofollow"]')
     assert links[0].text == 'bar'
     assert doc('b')[0].text == 'markup'
Beispiel #2
0
 def test_external_text_link(self, get_outgoing_url_mock):
     get_outgoing_url_mock.return_value = 'http://external.url'
     s = u'<b>markup</b> http://example.com'
     x = PurifiedTranslation(localized_string=s)
     doc = pq(x.__html__())
     links = doc('a[href="http://external.url"][rel="nofollow"]')
     assert links[0].text == 'http://example.com'
     assert doc('b')[0].text == 'markup'
Beispiel #3
0
def test_truncate_purified_field_xss():
    """Truncating should not introduce xss issues."""
    s = 'safe <script>alert("omg")</script>'
    t = PurifiedTranslation(localized_string=s)
    actual = from_string('{{ s|truncate(100) }}').render({'s': t})
    assert actual == 'safe &lt;script&gt;alert("omg")&lt;/script&gt;'
    actual = from_string('{{ s|truncate(5) }}').render({'s': t})
    assert actual == 'safe ...'
Beispiel #4
0
 def test_forbidden_tags(self):
     s = u'<script>some naughty xss</script>'
     x = PurifiedTranslation(localized_string=s)
     assert x.__html__() == '&lt;script&gt;some naughty xss&lt;/script&gt;'
Beispiel #5
0
 def test_allowed_tags(self):
     s = u'<b>bold text</b> or <code>code</code>'
     x = PurifiedTranslation(localized_string=s)
     assert x.__html__() == u'<b>bold text</b> or <code>code</code>'
Beispiel #6
0
 def test_raw_text(self):
     s = u'   This is some text   '
     x = PurifiedTranslation(localized_string=s)
     assert x.__html__() == 'This is some text'
Beispiel #7
0
 def test_output(self):
     assert isinstance(PurifiedTranslation().__html__(), unicode)
Beispiel #8
0
 def test_output(self):
     assert isinstance(PurifiedTranslation().__html__(), six.text_type)
Beispiel #9
0
def test_truncate_purified_field():
    s = '<i>one</i><i>two</i>'
    t = PurifiedTranslation(localized_string=s)
    actual = from_string('{{ s|truncate(6) }}').render({'s': t})
    assert actual == s
Beispiel #10
0
def test_truncate_purified_field():
    s = '<i>one</i><i>two</i>'
    t = PurifiedTranslation(localized_string=s)
    env = jingo.get_env()
    actual = env.from_string('{{ s|truncate(6) }}').render({'s': t})
    eq_(actual, s)