Beispiel #1
0
 def setUp(self):
     self.fixture_dir = join(dirname(abspath(__file__)), 'fixtures',
                             'general')
     self.settings = dict(project_dir=self.fixture_dir,
                          input_dir=self.fixture_dir,
                          output_dir=self.fixture_dir,
                          date_format='%Y-%m-%d')
     self.site = Site(self.settings)
     self.site._parse(self.site._read_input())
Beispiel #2
0
 def test_empty_input_dir(self):
     """
     Given an empty or nonexisting input directory test that 
     an empty dict is returned.
     """
     settings = self.settings
     settings['input_dir'] = join(self.fixture_dir, 'DFGHJK')
     site = Site(self.settings)
     self.assertEqual({}, site._read_input())
Beispiel #3
0
 def test_hidden_files_and_directories(self):
     """
     Given an input directory that has hidden files and directories.
     The returned data shouldn't include them.
     """
     settings = self.settings
     settings['input_dir'] = join(self.fixture_dir, 'hidden')
     site = Site(self.settings)
     self.assertEqual({}, site._read_input())
Beispiel #4
0
 def setUp(self):
     project_dir = join(dirname(abspath(__file__)), 'fixtures', 'parse')
     self.settings = dict(project_dir=project_dir,
                          input_dir=join(project_dir, 'input'),
                          output_dir=join(project_dir, 'output'),
                          date_format='%Y-%m-%d')
     self.site = Site(self.settings)
     input_data = self.site._read_input()
     self.site._parse(input_data)
Beispiel #5
0
    def test_associate_in_same_dir(self):
        """
        Given an input directory that has an article with media
        files in a subdirectory. The files should be associated.
        """
        settings = self.settings
        settings['input_dir'] = join(self.fixture_dir, 'same_dir')
        site = Site(self.settings)
        result = site._read_input()
        article_dir = join(settings['input_dir'], 'some-article')

        expected_articles = [join(article_dir, 'index.rst')]
        expected_media = [join(article_dir, 'media')]
        expected = (expected_articles, expected_media)

        self.assertEqual(result[article_dir], expected)
Beispiel #6
0
    def test_not_associate_in_root_input_dir(self):
        """
        Given an input directory that has articles and media files
        in the top level directory. The files should not be associated.
        """
        settings = self.settings
        settings['input_dir'] = join(self.fixture_dir, 'no_root_assoc')
        site = Site(self.settings)
        result = site._read_input()

        expected_articles = [join(settings['input_dir'], 'article.rst')]
        expected_media = [join(settings['input_dir'], f)
                          for f in ('media1', 'media2')]
        expected = (expected_articles, expected_media)

        self.assertEqual(result[settings['input_dir']], expected)
Beispiel #7
0
    def test_associate_with_root_if_no_parent_article(self):
        """
        Given an input directory that has media files in a subdirectory.
        The media files have no article in the parent directories and should
        be associated with the root input dir.
        """
        settings = self.settings
        settings['input_dir'] = join(self.fixture_dir, 'no_parent_article')
        site = Site(self.settings)
        result = site._read_input()

        expected_articles = []
        expected_media = [join(settings['input_dir'], 'media',
                               'images', 'file')]
        expected = (expected_articles, expected_media)

        self.assertEqual(result[settings['input_dir']], expected)
Beispiel #8
0
    def test_associate_with_article_in_parent_dir(self):
        """
        Given an input directory that has an article in a subdirectory.
        The article has media files in subdirectory. The media files should
        be associated with the article in the parent dir.
        """
        settings = self.settings
        settings['input_dir'] = join(self.fixture_dir, 'parent_dir')
        site = Site(self.settings)
        result = site._read_input()
        article_dir = join(settings['input_dir'], 'article')

        expected_articles = [join(article_dir, 'index.rst')]
        expected_media = [join(article_dir, 'media', 'mediafile')]
        expected = (expected_articles, expected_media)

        self.assertEqual(result[article_dir], expected)
Beispiel #9
0
 def setUp(self):
     self.settings = dict(input_dir='/input/', output_dir='/output/')
     self.site = Site(self.settings)
Beispiel #10
0
from os.path import join, dirname, abspath
import unittest
from datetime import datetime
from lanyon.app import Site

FIXTURE_DIR = join(dirname(abspath(__file__)), 'fixtures', 'default_headers')
SETTINGS = {'input_dir': '/default_headers'}
site = Site(SETTINGS)


class DefaultHeaderTests(unittest.TestCase):
    """Tests for the default headers"""
    def test_values(self):
        """Test that the returned headers are valid."""
        input_filename = join(SETTINGS['input_dir'], 'foobar.rst')
        result = site._get_default_headers(input_filename)
        expected = {
            'status': 'live',
            'template': 'default.html',
            'title': 'Foobar',
            'url': 'default',
            'slug': 'foobar'
        }
        for key in expected:
            self.assertEquals(expected[key], result[key])
        self.assert_(isinstance(result['date'], datetime))


class SlugDefaultHeaderTests(unittest.TestCase):
    """Tests for the slug header default"""
    def test_filename_as_slug(self):