diff options
Diffstat (limited to 'parts/django/tests/regressiontests/utils/html.py')
-rw-r--r-- | parts/django/tests/regressiontests/utils/html.py | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/parts/django/tests/regressiontests/utils/html.py b/parts/django/tests/regressiontests/utils/html.py deleted file mode 100644 index a9b0d33..0000000 --- a/parts/django/tests/regressiontests/utils/html.py +++ /dev/null @@ -1,111 +0,0 @@ -import unittest - -from django.utils import html - -class TestUtilsHtml(unittest.TestCase): - - def check_output(self, function, value, output=None): - """ - Check that function(value) equals output. If output is None, - check that function(value) equals value. - """ - if output is None: - output = value - self.assertEqual(function(value), output) - - def test_escape(self): - f = html.escape - items = ( - ('&','&'), - ('<', '<'), - ('>', '>'), - ('"', '"'), - ("'", '''), - ) - # Substitution patterns for testing the above items. - patterns = ("%s", "asdf%sfdsa", "%s1", "1%sb") - for value, output in items: - for pattern in patterns: - self.check_output(f, pattern % value, pattern % output) - # Check repeated values. - self.check_output(f, value * 2, output * 2) - # Verify it doesn't double replace &. - self.check_output(f, '<&', '<&') - - def test_linebreaks(self): - f = html.linebreaks - items = ( - ("para1\n\npara2\r\rpara3", "<p>para1</p>\n\n<p>para2</p>\n\n<p>para3</p>"), - ("para1\nsub1\rsub2\n\npara2", "<p>para1<br />sub1<br />sub2</p>\n\n<p>para2</p>"), - ("para1\r\n\r\npara2\rsub1\r\rpara4", "<p>para1</p>\n\n<p>para2<br />sub1</p>\n\n<p>para4</p>"), - ("para1\tmore\n\npara2", "<p>para1\tmore</p>\n\n<p>para2</p>"), - ) - for value, output in items: - self.check_output(f, value, output) - - def test_strip_tags(self): - f = html.strip_tags - items = ( - ('<adf>a', 'a'), - ('</adf>a', 'a'), - ('<asdf><asdf>e', 'e'), - ('<f', '<f'), - ('</fe', '</fe'), - ('<x>b<y>', 'b'), - ) - for value, output in items: - self.check_output(f, value, output) - - def test_strip_spaces_between_tags(self): - f = html.strip_spaces_between_tags - # Strings that should come out untouched. - items = (' <adf>', '<adf> ', ' </adf> ', ' <f> x</f>') - for value in items: - self.check_output(f, value) - # Strings that have spaces to strip. - items = ( - ('<d> </d>', '<d></d>'), - ('<p>hello </p>\n<p> world</p>', '<p>hello </p><p> world</p>'), - ('\n<p>\t</p>\n<p> </p>\n', '\n<p></p><p></p>\n'), - ) - for value, output in items: - self.check_output(f, value, output) - - def test_strip_entities(self): - f = html.strip_entities - # Strings that should come out untouched. - values = ("&", "&a", "&a", "a&#a") - for value in values: - self.check_output(f, value) - # Valid entities that should be stripped from the patterns. - entities = ("", "", "&a;", "&fdasdfasdfasdf;") - patterns = ( - ("asdf %(entity)s ", "asdf "), - ("%(entity)s%(entity)s", ""), - ("&%(entity)s%(entity)s", "&"), - ("%(entity)s3", "3"), - ) - for entity in entities: - for in_pattern, output in patterns: - self.check_output(f, in_pattern % {'entity': entity}, output) - - def test_fix_ampersands(self): - f = html.fix_ampersands - # Strings without ampersands or with ampersands already encoded. - values = ("a", "b", "&a;", "& &x; ", "asdf") - patterns = ( - ("%s", "%s"), - ("&%s", "&%s"), - ("&%s&", "&%s&"), - ) - for value in values: - for in_pattern, out_pattern in patterns: - self.check_output(f, in_pattern % value, out_pattern % value) - # Strings with ampersands that need encoding. - items = ( - ("&#;", "&#;"), - ("ͫ ;", "&#875 ;"), - ("abc;", "&#4abc;"), - ) - for value, output in items: - self.check_output(f, value, output) |