Ejemplo n.º 1
0
def test_can_load_site_specific_plugins():
    
    TEST_SITE = File(__file__).parent.child_folder('_test')
    TEST_SITE.make()
    TEST_SITE.parent.child_folder(
                  'sites/test_jinja').copy_contents_to(TEST_SITE)
    TEST_SITE.parent.child_folder(
                  'ssp').copy_contents_to(TEST_SITE)
    s = Site(TEST_SITE)
    gen = Generator(s)
    gen.generate_all()
    banner = """
<!--
This file was produced with infinite love, care & sweat.
Please dont copy. If you have to, please drop me a note.
-->
"""
    with TEST_SITE.child_folder('deploy').get_walker('*.html') as walker:
        
        @walker.file_visitor
        def visit_file(f):
            text = f.read_all()
            assert text.strip().startswith(banner.strip())
Ejemplo n.º 2
0
from hyde.fs import File, Folder
from hyde.site import Site
from hyde.generator import Generator
from hyde.model import Config

import jinja2
from jinja2.utils import generate_lorem_ipsum
from random import choice, randrange
from util import assert_html_equals
import yaml

from pyquery import PyQuery
from nose.tools import raises, nottest, with_setup

ROOT = File(__file__).parent
JINJA2 = ROOT.child_folder('templates/jinja2')

class Article(object):

    def __init__(self, id):
        self.id = id
        self.href = '/article/%d' % self.id
        self.title = generate_lorem_ipsum(1, False, 5, 10)
        self.user = choice(users)
        self.body = generate_lorem_ipsum()
        self.pub_date = datetime.utcfromtimestamp(randrange(10 ** 9, 2 * 10 ** 9))
        self.published = True

def dateformat(x):
    return x.strftime('%Y-%m-%d')
Ejemplo n.º 3
0
def test_child_folder():
    p = File(__file__).parent
    c = p.child_folder('data')
    assert hasattr(c, 'child_folder')
    assert str(c) == os.path.join(os.path.dirname(__file__), 'data')
Ejemplo n.º 4
0
def test_fully_expanded_path():
    f = File(__file__).parent
    n = f.child_folder('../' + f.name)
    e = Folder(n.fully_expanded_path)
    assert n != e
    assert f == e
Ejemplo n.º 5
0
    assert abc.exists
    abc.delete()
    assert not abc.exists
    abc.delete()
    assert True # No Exception
    c.delete()

def test_file_or_folder():
    f = FS.file_or_folder(__file__)
    assert isinstance(f, File)
    f = FS.file_or_folder(File(__file__).parent)
    assert isinstance(f, Folder)

DATA_ROOT = File(__file__).parent.child_folder('data')
TEMPLATE_ROOT = File(__file__).parent.child_folder('templates')
JINJA2 = TEMPLATE_ROOT.child_folder('jinja2')
HELPERS = File(JINJA2.child('helpers.html'))
INDEX = File(JINJA2.child('index.html'))
LAYOUT = File(JINJA2.child('layout.html'))
LOGO = File(TEMPLATE_ROOT.child('../../../resources/hyde-logo.png'))
XML = File(TEMPLATE_ROOT.child('../sites/test_jinja/content/crossdomain.xml'))

def test_ancestors():
    depth = 0
    next = JINJA2
    for folder in INDEX.ancestors():
        assert folder == next
        depth += 1
        next = folder.parent
    assert depth == len(JINJA2.path.split(os.sep))
Ejemplo n.º 6
0
# -*- coding: utf-8 -*-
"""
Use nose
`$ pip install nose`
`$ nosetests`
"""

from hyde.fs import File, Folder
from hyde.layout import Layout, HYDE_DATA, LAYOUTS
from nose.tools import raises, with_setup, nottest
import os

DATA_ROOT = File(__file__).parent.child_folder('data')
LAYOUT_ROOT = DATA_ROOT.child_folder(LAYOUTS)

@nottest
def setup_data():
    DATA_ROOT.make()

@nottest
def cleanup_data():
    DATA_ROOT.delete()

def test_find_layout_from_package_dir():
    f = Layout.find_layout()
    assert f.name == 'basic'
    assert f.child_folder('layout').exists

@with_setup(setup_data, cleanup_data)
def test_find_layout_from_env_var():
    f = Layout.find_layout()
Ejemplo n.º 7
0
from hyde.fs import File, Folder
from hyde.site import Site
from hyde.generator import Generator
from hyde.model import Config

import jinja2
from jinja2.utils import generate_lorem_ipsum
from random import choice, randrange
from util import assert_html_equals
import yaml

from pyquery import PyQuery
from nose.tools import raises, nottest, with_setup

ROOT = File(__file__).parent
JINJA2 = ROOT.child_folder('templates/jinja2')

class Article(object):

    def __init__(self, id):
        self.id = id
        self.href = '/article/%d' % self.id
        self.title = generate_lorem_ipsum(1, False, 5, 10)
        self.user = choice(users)
        self.body = generate_lorem_ipsum()
        self.pub_date = datetime.utcfromtimestamp(randrange(10 ** 9, 2 * 10 ** 9))
        self.published = True

def dateformat(x):
    return x.strftime('%Y-%m-%d')
Ejemplo n.º 8
0
# -*- coding: utf-8 -*-
"""
Use nose
`$ pip install nose`
`$ nosetests`
"""

from hyde.fs import File, Folder
from hyde.layout import Layout, HYDE_DATA, LAYOUTS
from nose.tools import raises, with_setup, nottest
import os

DATA_ROOT = File(__file__).parent.child_folder('data')
LAYOUT_ROOT = DATA_ROOT.child_folder(LAYOUTS)


@nottest
def setup_data():
    DATA_ROOT.make()


@nottest
def cleanup_data():
    DATA_ROOT.delete()


def test_find_layout_from_package_dir():
    f = Layout.find_layout()
    assert f.name == 'basic'
    assert f.child_folder('layout').exists