diff options
| author | 2013-03-13 20:58:39 -0300 | |
|---|---|---|
| committer | 2013-03-13 20:58:39 -0300 | |
| commit | 8b14a1e5b2ca574fdd4fd2377567ec98a110d4b6 (patch) | |
| tree | 0895935489e4920d18824f7fb3a0d799649a27c3 /tests/test_utils.py | |
| parent | 878ba1152ebc64a4a2609d23c9e400a6111db642 (diff) | |
Imported Upstream version 5.4.2upstream/5.4.2
Diffstat (limited to 'tests/test_utils.py')
| -rw-r--r-- | tests/test_utils.py | 121 |
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() |
