aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_utils.py
diff options
context:
space:
mode:
authorLibravatarAgustin Henze <tin@sluc.org.ar>2013-03-13 20:58:39 -0300
committerLibravatarAgustin Henze <tin@sluc.org.ar>2013-03-13 20:58:39 -0300
commit8b14a1e5b2ca574fdd4fd2377567ec98a110d4b6 (patch)
tree0895935489e4920d18824f7fb3a0d799649a27c3 /tests/test_utils.py
parent878ba1152ebc64a4a2609d23c9e400a6111db642 (diff)
Imported Upstream version 5.4.2upstream/5.4.2
Diffstat (limited to 'tests/test_utils.py')
-rw-r--r--tests/test_utils.py121
1 files changed, 69 insertions, 52 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py
index 2cb36a8..4f3fd72 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -1,9 +1,13 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from context import nikola
import unittest
import mock
+from nikola.post import get_meta
+
+
+class dummy(object):
+ pass
class GetMetaTest(unittest.TestCase):
@@ -19,16 +23,19 @@ class GetMetaTest(unittest.TestCase):
opener_mock = mock.mock_open(read_data=file_metadata)
opener_mock.return_value.readlines.return_value = file_metadata
- with mock.patch('nikola.utils.codecs.open', opener_mock, create=True):
- (title, slug, date, tags, link,
- description) = nikola.utils.get_meta('file_with_metadata')
+ post = dummy()
+ post.source_path = 'file_with_metadata'
+ post.metadata_path = 'file_with_metadata.meta'
- self.assertEqual('Nikola needs more tests!', title)
- self.assertEqual('write-tests-now', slug)
- self.assertEqual('2012/09/15 19:52:05', date)
- self.assertEqual('', tags)
- self.assertEqual('', link)
- self.assertEqual('', description)
+ with mock.patch('nikola.post.codecs.open', opener_mock, create=True):
+ meta = get_meta(post)
+
+ self.assertEqual('Nikola needs more tests!', meta['title'])
+ self.assertEqual('write-tests-now', meta['slug'])
+ self.assertEqual('2012/09/15 19:52:05', meta['date'])
+ self.assertFalse('tags' in meta)
+ self.assertFalse('link' in meta)
+ self.assertFalse('description' in meta)
def test_get_title_from_rest(self):
file_metadata = [".. slug: write-tests-now\n",
@@ -42,16 +49,19 @@ class GetMetaTest(unittest.TestCase):
opener_mock = mock.mock_open(read_data=file_metadata)
opener_mock.return_value.readlines.return_value = file_metadata
- with mock.patch('nikola.utils.codecs.open', opener_mock, create=True):
- (title, slug, date, tags, link,
- description) = nikola.utils.get_meta('file_with_metadata')
+ post = dummy()
+ post.source_path = 'file_with_metadata'
+ post.metadata_path = 'file_with_metadata.meta'
+
+ with mock.patch('nikola.post.codecs.open', opener_mock, create=True):
+ meta = get_meta(post)
- self.assertEqual('Post Title', title)
- self.assertEqual('write-tests-now', slug)
- self.assertEqual('2012/09/15 19:52:05', date)
- self.assertEqual('', tags)
- self.assertEqual('', link)
- self.assertEqual('', description)
+ self.assertEqual('Post Title', meta['title'])
+ self.assertEqual('write-tests-now', meta['slug'])
+ self.assertEqual('2012/09/15 19:52:05', meta['date'])
+ self.assertFalse('tags' in meta)
+ self.assertFalse('link' in meta)
+ self.assertFalse('description' in meta)
def test_get_title_from_fname(self):
file_metadata = [".. slug: write-tests-now\n",
@@ -63,16 +73,19 @@ class GetMetaTest(unittest.TestCase):
opener_mock = mock.mock_open(read_data=file_metadata)
opener_mock.return_value.readlines.return_value = file_metadata
- with mock.patch('nikola.utils.codecs.open', opener_mock, create=True):
- (title, slug, date, tags, link,
- description) = nikola.utils.get_meta('file_with_metadata')
+ post = dummy()
+ post.source_path = 'file_with_metadata'
+ post.metadata_path = 'file_with_metadata.meta'
- self.assertEqual('file_with_metadata', title)
- self.assertEqual('write-tests-now', slug)
- self.assertEqual('2012/09/15 19:52:05', date)
- self.assertEqual('', tags)
- self.assertEqual('', link)
- self.assertEqual('', description)
+ with mock.patch('nikola.post.codecs.open', opener_mock, create=True):
+ meta = get_meta(post, 'file_with_metadata')
+
+ self.assertEqual('file_with_metadata', meta['title'])
+ self.assertEqual('write-tests-now', meta['slug'])
+ self.assertEqual('2012/09/15 19:52:05', meta['date'])
+ self.assertFalse('tags' in meta)
+ self.assertFalse('link' in meta)
+ self.assertFalse('description' in meta)
def test_use_filename_as_slug_fallback(self):
file_metadata = [".. title: Nikola needs more tests!\n",
@@ -85,36 +98,40 @@ class GetMetaTest(unittest.TestCase):
opener_mock = mock.mock_open(read_data=file_metadata)
opener_mock.return_value.readlines.return_value = file_metadata
- with mock.patch('nikola.utils.codecs.open', opener_mock, create=True):
- (title, slug, date, tags, link,
- description) = nikola.utils.get_meta('Slugify this')
+ post = dummy()
+ post.source_path = 'Slugify this'
+ post.metadata_path = 'Slugify this.meta'
+
+ with mock.patch('nikola.post.codecs.open', opener_mock, create=True):
+ meta = get_meta(post, 'Slugify this')
- self.assertEqual('Nikola needs more tests!', title)
- self.assertEqual('slugify-this', slug)
- self.assertEqual('2012/09/15 19:52:05', date)
- self.assertEqual('', tags)
- self.assertEqual('', link)
- self.assertEqual('', description)
+ self.assertEqual('Nikola needs more tests!', meta['title'])
+ self.assertEqual('slugify-this', meta['slug'])
+ self.assertEqual('2012/09/15 19:52:05', meta['date'])
+ self.assertFalse('tags' in meta)
+ self.assertFalse('link' in meta)
+ self.assertFalse('description' in meta)
def test_extracting_metadata_from_filename(self):
- with mock.patch('nikola.utils.codecs.open', create=True):
- (
- title, slug, date, tags, link, description) = nikola.utils.get_meta('2013-01-23-the_slug-dubdubtitle.md',
- '(?P<date>\d{4}-\d{2}-\d{2})-(?P<slug>.*)-(?P<title>.*)\.md')
-
- self.assertEqual('dubdubtitle', title)
- self.assertEqual('the_slug', slug)
- self.assertEqual('2013-01-23', date)
- self.assertEqual('', tags)
- self.assertEqual('', link)
- self.assertEqual('', description)
+ post = dummy()
+ post.source_path = '2013-01-23-the_slug-dubdubtitle.md'
+ post.metadata_path = '2013-01-23-the_slug-dubdubtitle.meta'
+ with mock.patch('nikola.post.codecs.open', create=True):
+ meta = get_meta(post,
+ '(?P<date>\d{4}-\d{2}-\d{2})-(?P<slug>.*)-(?P<title>.*)\.md')
+
+ self.assertEqual('dubdubtitle', meta['title'])
+ self.assertEqual('the_slug', meta['slug'])
+ self.assertEqual('2013-01-23', meta['date'])
def test_get_meta_slug_only_from_filename(self):
- with mock.patch('nikola.utils.codecs.open', create=True):
- (title, slug, date, tags, link,
- description) = nikola.utils.get_meta('some/path/the_slug.md')
+ post = dummy()
+ post.source_path = 'some/path/the_slug.md'
+ post.metadata_path = 'some/path/the_slug.meta'
+ with mock.patch('nikola.post.codecs.open', create=True):
+ meta = get_meta(post)
- self.assertEqual('the_slug', slug)
+ self.assertEqual('the_slug', meta['slug'])
if __name__ == '__main__':
unittest.main()