A fork of hyde, the static site generation.
Some patches will be pushed upstream.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- # -*- coding: utf-8 -*-
- """
- Use nose
- `$ pip install nose`
- `$ nosetests`
- """
- from hyde.generator import Generator
- from hyde.site import Site
-
- from fswrap import File
-
- TEST_SITE = File(__file__).parent.parent.child_folder('_test')
-
-
- class TestDepends(object):
-
- def setUp(self):
- TEST_SITE.make()
- TEST_SITE.parent.child_folder(
- 'sites/test_jinja').copy_contents_to(TEST_SITE)
- TEST_SITE.parent.child_folder(
- 'templates/jinja2').copy_contents_to(
- TEST_SITE.child_folder('content'))
-
- def tearDown(self):
- TEST_SITE.delete()
-
- def test_depends(self):
- s = Site(TEST_SITE)
- s.config.plugins = ['hyde.ext.plugins.meta.MetaPlugin',
- 'hyde.ext.plugins.depends.DependsPlugin']
- text = """
- ===
- depends: index.html
- ===
-
- """
- inc = File(TEST_SITE.child('content/inc.md'))
- inc.write(text)
- gen = Generator(s)
- gen.load_site_if_needed()
- gen.load_template_if_needed()
-
- def dateformat(x):
- return x.strftime('%Y-%m-%d')
- gen.template.env.filters['dateformat'] = dateformat
- gen.generate_resource_at_path(inc.name)
- res = s.content.resource_from_relative_path(inc.name)
- assert len(res.depends) == 1
- assert 'index.html' in res.depends
- deps = list(gen.get_dependencies(res))
- assert len(deps) == 3
-
- assert 'helpers.html' in deps
- assert 'layout.html' in deps
- assert 'index.html' in deps
|