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())
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')
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')
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
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))
# -*- 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()
# -*- 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