2010-09-28 08:18:12 +00:00
|
|
|
import unittest
|
2010-09-27 15:15:04 +00:00
|
|
|
|
|
|
|
from django.utils import text
|
|
|
|
|
2010-09-28 08:18:12 +00:00
|
|
|
class TestUtilsText(unittest.TestCase):
|
2010-11-30 21:21:37 +00:00
|
|
|
|
2010-09-27 15:15:04 +00:00
|
|
|
def test_truncate_words(self):
|
|
|
|
self.assertEqual(u'The quick brown fox jumped over the lazy dog.',
|
|
|
|
text.truncate_words(u'The quick brown fox jumped over the lazy dog.', 10))
|
|
|
|
self.assertEqual(u'The quick brown fox ...',
|
|
|
|
text.truncate_words('The quick brown fox jumped over the lazy dog.', 4))
|
|
|
|
self.assertEqual(u'The quick brown fox ....',
|
|
|
|
text.truncate_words('The quick brown fox jumped over the lazy dog.', 4, '....'))
|
2010-11-30 21:21:37 +00:00
|
|
|
|
|
|
|
def test_truncate_html_words(self):
|
2010-09-27 15:15:04 +00:00
|
|
|
self.assertEqual(u'<p><strong><em>The quick brown fox jumped over the lazy dog.</em></strong></p>',
|
|
|
|
text.truncate_html_words('<p><strong><em>The quick brown fox jumped over the lazy dog.</em></strong></p>', 10))
|
|
|
|
self.assertEqual(u'<p><strong><em>The quick brown fox ...</em></strong></p>',
|
|
|
|
text.truncate_html_words('<p><strong><em>The quick brown fox jumped over the lazy dog.</em></strong></p>', 4))
|
|
|
|
self.assertEqual(u'<p><strong><em>The quick brown fox ....</em></strong></p>',
|
|
|
|
text.truncate_html_words('<p><strong><em>The quick brown fox jumped over the lazy dog.</em></strong></p>', 4, '....'))
|
|
|
|
self.assertEqual(u'<p><strong><em>The quick brown fox</em></strong></p>',
|
|
|
|
text.truncate_html_words('<p><strong><em>The quick brown fox jumped over the lazy dog.</em></strong></p>', 4, None))
|
2010-11-30 21:21:37 +00:00
|
|
|
|
|
|
|
def test_wrap(self):
|
|
|
|
digits = '1234 67 9'
|
|
|
|
self.assertEqual(text.wrap(digits, 100), u'1234 67 9')
|
|
|
|
self.assertEqual(text.wrap(digits, 9), u'1234 67 9')
|
|
|
|
self.assertEqual(text.wrap(digits, 8), u'1234 67\n9')
|
|
|
|
|
|
|
|
self.assertEqual(text.wrap('short\na long line', 7),
|
|
|
|
u'short\na long\nline')
|
|
|
|
|
|
|
|
self.assertEqual(text.wrap('do-not-break-long-words please? ok', 8),
|
|
|
|
u'do-not-break-long-words\nplease?\nok')
|
|
|
|
|
|
|
|
long_word = 'l%sng' % ('o' * 20)
|
|
|
|
self.assertEqual(text.wrap(long_word, 20), long_word)
|
|
|
|
self.assertEqual(text.wrap('a %s word' % long_word, 10),
|
|
|
|
u'a\n%s\nword' % long_word)
|