def test_excerpt_multi_terms_extra_long(self): self.assertEquals( excerpt(self.content, ['lorem', 'purus'], 40), 'Lorem ipsum dolor sit amet, consectetur ... purus.') self.assertEquals( excerpt(self.content, ['lorem', 'purus'], 10), 'Lorem ipsum dolor sit amet, consectetur ... purus.')
def test_excerpt_none(self): self.assertEquals( excerpt(self.content, [], 40), 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ' 'In in nunc eros! Suspendisse a feugiat eros, et pharetra ' 'nisl ? Cras pulvinar varius enim et aliquet. Sed sit amet ' 'ultricies libero. Etiam facilisis, lectus ut tristique ' 'rutrum, leo libero elementum') self.assertEquals( excerpt(self.content, [], 10), 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ' 'In in')
def test_excerpt_case(self): self.assertEquals( excerpt(self.content, ['LACUS'], 40), 'et aliquet. Sed sit amet ultricies libero. Etiam facilisis, ' 'lectus ut tristique rutrum, leo libero elementum eros, sed ' 'lobortis urna lacus sit amet velit. Quisque ut leo eu dolor ' 'aliquet eleifend mattis et urna. Praesent vitae viverra purus.')
def test_excerpt_multi_terms(self): result = ( 'et aliquet. Sed sit amet ultricies libero. Etiam facilisis, ' 'lectus ut tristique rutrum, leo libero elementum eros, sed ' 'lobortis urna lacus sit amet velit. Quisque ut leo eu dolor ' 'aliquet eleifend mattis et urna. Praesent vitae viverra purus.') result_compressed = ( 'ut tristique rutrum, leo libero elementum ... lacus sit amet ' 'velit. Quisque ut ... aliquet eleifend mattis et urna. ' 'Praesent ...') self.assertEquals(excerpt(self.content, ['aliquet', 'lacus'], 40), result) self.assertEquals(excerpt(self.content, ['lacus', 'aliquet'], 40), result) self.assertEquals(excerpt(self.content, ['aliquet', 'lacus'], 20), result_compressed)
def test_excerpt_multi_terms(self): result = ( 'et aliquet. Sed sit amet ultricies libero. Etiam facilisis, ' 'lectus ut tristique rutrum, leo libero elementum eros, sed ' 'lobortis urna lacus sit amet velit. Quisque ut leo eu dolor ' 'aliquet eleifend mattis et urna. Praesent vitae viverra purus.') result_compressed = ( 'ut tristique rutrum, leo libero elementum ... lacus sit amet ' 'velit. Quisque ut ... aliquet eleifend mattis et urna. ' 'Praesent ...') self.assertEquals( excerpt(self.content, ['aliquet', 'lacus'], 40), result) self.assertEquals( excerpt(self.content, ['lacus', 'aliquet'], 40), result) self.assertEquals( excerpt(self.content, ['aliquet', 'lacus'], 20), result_compressed)
def render(self, context): output = self.nodelist.render(context) terms = self.terms if terms[0] == terms[-1] and terms[0] in ("'", '"'): terms = terms[1:-1] else: terms = self.terms_var.resolve(context) return excerpt(output, remove_duplicates(RE_ARG_SPLIT.split(terms)), self.max_length)
def test_excerpt(self): self.assertEquals( excerpt(self.content, ['lacus'], 40), 'et aliquet. Sed sit amet ultricies libero. Etiam facilisis, ' 'lectus ut tristique rutrum, leo libero elementum eros, sed ' 'lobortis urna lacus sit amet velit. Quisque ut leo eu dolor ' 'aliquet eleifend mattis et urna. Praesent vitae viverra purus.') self.assertEquals( excerpt(self.content, ['lacus'], 10), 'elementum eros, sed lobortis urna lacus sit amet velit. ' 'Quisque ut') self.assertEquals( excerpt(self.content, ['aliquet'], 40), 'consectetur adipiscing elit. In in nunc eros! Suspendisse a ' 'feugiat eros, et pharetra nisl ? Cras pulvinar varius enim ' 'et aliquet. Sed sit amet ultricies libero. Etiam facilisis, ' 'lectus ut tristique rutrum, leo libero elementum eros, sed ' 'lobortis urna lacus sit') self.assertEquals( excerpt(self.content, ['aliquet'], 10), 'Cras pulvinar varius enim et aliquet. Sed sit amet ' 'ultricies libero.')
def excerpt_filter(value, terms): return excerpt(value, remove_duplicates(RE_ARG_SPLIT.split(terms)))