diff options
| author | Julien Phalip <jphalip@gmail.com> | 2012-01-02 18:47:18 +0000 |
|---|---|---|
| committer | Julien Phalip <jphalip@gmail.com> | 2012-01-02 18:47:18 +0000 |
| commit | 1572a3d4b2dd4afd004765ba73a2c38b311b65ee (patch) | |
| tree | 97745fc4fef82eae07b4fdc160db41dea2dcb26e | |
| parent | 6fa62b8166f00d6cf1160b84dce37416f0051f00 (diff) | |
Fixed #10931 -- Made `Truncator` handle newlines properly. Thanks to gsong and Claude Paroz.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17329 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/utils/text.py | 4 | ||||
| -rw-r--r-- | tests/regressiontests/utils/text.py | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/django/utils/text.py b/django/utils/text.py index 14555ddd0e..eaafb96d7c 100644 --- a/django/utils/text.py +++ b/django/utils/text.py @@ -18,8 +18,8 @@ capfirst = lambda x: x and force_unicode(x)[0].upper() + force_unicode(x)[1:] capfirst = allow_lazy(capfirst, unicode) # Set up regular expressions -re_words = re.compile(r'&.*?;|<.*?>|(\w[\w-]*)', re.U) -re_tag = re.compile(r'<(/)?([^ ]+?)(?: (/)| .*?)?>') +re_words = re.compile(r'&.*?;|<.*?>|(\w[\w-]*)', re.U|re.S) +re_tag = re.compile(r'<(/)?([^ ]+?)(?: (/)| .*?)?>', re.S) def wrap(text, width): diff --git a/tests/regressiontests/utils/text.py b/tests/regressiontests/utils/text.py index d4aa53fba9..aae75339bc 100644 --- a/tests/regressiontests/utils/text.py +++ b/tests/regressiontests/utils/text.py @@ -62,6 +62,11 @@ class TestUtilsText(unittest.TestCase): '</strong></p>', truncator.words(4, '....', html=True)) self.assertEqual(u'<p><strong><em>The quick brown fox</em></strong>' '</p>', truncator.words(4, '', html=True)) + # Test with new line inside tag + truncator = text.Truncator('<p>The quick <a href="xyz.html"\n' + 'id="mylink">brown fox</a> jumped over the lazy dog.</p>') + self.assertEqual(u'<p>The quick <a href="xyz.html"\n' + 'id="mylink">brown...</a></p>', truncator.words(3, '...', html=True)) def test_old_truncate_words(self): self.assertEqual(u'The quick brown fox jumped over the lazy dog.', |
