Tests for contents.py

This commit is contained in:
Alexis Metaireau 2011-01-13 00:32:37 +01:00
commit c13c707a62
3 changed files with 58 additions and 58 deletions

View file

@ -1,4 +1,5 @@
from pelican.utils import slugify, truncate_html_words
from pelican.settings import DEFAULT_CONFIG
class Page(object):
@ -22,16 +23,17 @@ class Page(object):
if 'AUTHOR' in settings:
self.author = settings['AUTHOR']
default_lang = settings.get('DEFAULT_LANG').lower()
default_lang = settings.get('DEFAULT_LANG',
DEFAULT_CONFIG['DEFAULT_LANG']).lower()
if not hasattr(self, 'lang'):
self.lang = default_lang
self.in_default_lang = (self.lang == default_lang)
if not hasattr(self, 'slug'):
if not hasattr(self, 'slug') and hasattr(self, 'title'):
self.slug = slugify(self.title)
if not hasattr(self, 'save_as'):
if not hasattr(self, 'save_as') and hasattr(self, 'slug'):
if self.in_default_lang:
self.save_as = '%s.html' % self.slug
clean_url = '%s/' % self.slug
@ -41,7 +43,7 @@ class Page(object):
if settings.get('CLEAN_URLS', False):
self.url = clean_url
else:
elif hasattr(self, 'save_as'):
self.url = self.save_as
if filename:

View file

@ -23,14 +23,12 @@ class TestPage(TestCase):
page = Page('content', metadatas={'title': 'foobar'})
page.check_properties()
def test_slug(self):
# if a title is given, it should be used to generate the slug
page = Page('content', {'title': 'foobar is foo'})
self.assertEqual(page.slug, 'foobar-is-foo')
def test_defaultlang(self):
# if no lang is given, default to the default one
page = Page('content')