mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
commit
4714276e2c
2 changed files with 23 additions and 8 deletions
|
|
@ -89,9 +89,9 @@ class Page(object):
|
||||||
if hasattr(self, 'date') and self.date > datetime.now():
|
if hasattr(self, 'date') and self.date > datetime.now():
|
||||||
self.status = 'draft'
|
self.status = 'draft'
|
||||||
|
|
||||||
# set summary
|
# store the :summary: metadata if it is set
|
||||||
if not hasattr(self, 'summary'):
|
if 'summary' in metadata:
|
||||||
self.summary = truncate_html_words(self.content, 50)
|
self._summary = metadata['summary']
|
||||||
|
|
||||||
def check_properties(self):
|
def check_properties(self):
|
||||||
"""test that each mandatory property is set."""
|
"""test that each mandatory property is set."""
|
||||||
|
|
@ -126,8 +126,12 @@ class Page(object):
|
||||||
return content
|
return content
|
||||||
|
|
||||||
def _get_summary(self):
|
def _get_summary(self):
|
||||||
"""Returns the summary of an article, based on to the content"""
|
"""Returns the summary of an article, based on the :summary: metadata
|
||||||
return truncate_html_words(self.content, 50)
|
if it is set, else troncate the content."""
|
||||||
|
if hasattr(self, '_summary'):
|
||||||
|
return self._summary
|
||||||
|
else:
|
||||||
|
return truncate_html_words(self.content, 50)
|
||||||
|
|
||||||
def _set_summary(self, summary):
|
def _set_summary(self, summary):
|
||||||
"""Dummy function"""
|
"""Dummy function"""
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,20 @@ except ImportError, e:
|
||||||
from pelican.contents import Page
|
from pelican.contents import Page
|
||||||
from pelican.settings import _DEFAULT_CONFIG
|
from pelican.settings import _DEFAULT_CONFIG
|
||||||
|
|
||||||
|
from jinja2.utils import generate_lorem_ipsum
|
||||||
|
|
||||||
|
# generate one paragraph, enclosed with <p>
|
||||||
|
TEST_CONTENT = str(generate_lorem_ipsum(n=1))
|
||||||
|
TEST_SUMMARY = generate_lorem_ipsum(n=1, html=False)
|
||||||
|
|
||||||
class TestPage(TestCase):
|
class TestPage(TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestPage, self).setUp()
|
super(TestPage, self).setUp()
|
||||||
self.page_kwargs = {
|
self.page_kwargs = {
|
||||||
'content': 'content',
|
'content': TEST_CONTENT,
|
||||||
'metadata': {
|
'metadata': {
|
||||||
|
'summary': TEST_SUMMARY,
|
||||||
'title': 'foo bar',
|
'title': 'foo bar',
|
||||||
'author': 'Blogger',
|
'author': 'Blogger',
|
||||||
},
|
},
|
||||||
|
|
@ -27,11 +33,11 @@ class TestPage(TestCase):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
metadata = {'foo': 'bar', 'foobar': 'baz', 'title': 'foobar', }
|
metadata = {'foo': 'bar', 'foobar': 'baz', 'title': 'foobar', }
|
||||||
page = Page('content', metadata=metadata)
|
page = Page(TEST_CONTENT, metadata=metadata)
|
||||||
for key, value in metadata.items():
|
for key, value in metadata.items():
|
||||||
self.assertTrue(hasattr(page, key))
|
self.assertTrue(hasattr(page, key))
|
||||||
self.assertEqual(value, getattr(page, key))
|
self.assertEqual(value, getattr(page, key))
|
||||||
self.assertEqual(page.content, 'content')
|
self.assertEqual(page.content, TEST_CONTENT)
|
||||||
|
|
||||||
def test_mandatory_properties(self):
|
def test_mandatory_properties(self):
|
||||||
"""If the title is not set, must throw an exception."""
|
"""If the title is not set, must throw an exception."""
|
||||||
|
|
@ -39,6 +45,11 @@ class TestPage(TestCase):
|
||||||
page = Page(**self.page_kwargs)
|
page = Page(**self.page_kwargs)
|
||||||
page.check_properties()
|
page.check_properties()
|
||||||
|
|
||||||
|
def test_summary_from_metadata(self):
|
||||||
|
"""If a :summary: metadata is given, it should be used."""
|
||||||
|
page = Page(**self.page_kwargs)
|
||||||
|
self.assertEqual(page.summary, TEST_SUMMARY)
|
||||||
|
|
||||||
def test_slug(self):
|
def test_slug(self):
|
||||||
"""If a title is given, it should be used to generate the slug."""
|
"""If a title is given, it should be used to generate the slug."""
|
||||||
page = Page(**self.page_kwargs)
|
page = Page(**self.page_kwargs)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue