From 109c113d30f8e4a15ce0b0c9affc35f70fd3731b Mon Sep 17 00:00:00 2001 From: Lakshmi Vyasarajan Date: Mon, 3 Jan 2011 06:41:05 +0530 Subject: [PATCH] More robust testing of metadata load --- hyde/tests/ext/test_meta.py | 39 +++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/hyde/tests/ext/test_meta.py b/hyde/tests/ext/test_meta.py index ec8e026..d6df1d6 100644 --- a/hyde/tests/ext/test_meta.py +++ b/hyde/tests/ext/test_meta.py @@ -9,6 +9,7 @@ from hyde.fs import File, Folder from hyde.generator import Generator from hyde.site import Site +from pyquery import PyQuery import yaml @@ -26,21 +27,30 @@ class TestMeta(object): def test_can_load_front_matter(self): - front_matter = """ + d = { + 'title': 'A nice title', + 'author': 'Lakshmi Vyas', + 'twitter': 'lakshmivyas' + } + text = """ --- -title: A nice title -author: Lakshmi Vyas -twitter: lakshmivyas +title: %(title)s +author: %(author)s +twitter: %(twitter)s --- -""" - about1 = File(TEST_SITE.child('content/about.html')) - about2 = File(TEST_SITE.child('content/about2.html')) +{%% extends "base.html" %%} - text = front_matter - text += "\n" - text += about1.read_all() +{%% block main %%} + Hi! - about2.write(text) + I am a test template to make sure jinja2 generation works well with hyde. + {{resource.meta.title}} + {{resource.meta.author}} + {{resource.meta.twitter}} +{%% endblock %%} +""" + about2 = File(TEST_SITE.child('content/about2.html')) + about2.write(text % d) s = Site(TEST_SITE) s.config.plugins = ['hyde.ext.plugins.meta.MetaPlugin'] gen = Generator(s) @@ -53,4 +63,9 @@ twitter: lakshmivyas assert hasattr(res.meta, 'twitter') assert res.meta.title == "A nice title" assert res.meta.author == "Lakshmi Vyas" - assert res.meta.twitter == "lakshmivyas" \ No newline at end of file + assert res.meta.twitter == "lakshmivyas" + target = File(Folder(s.config.deploy_root_path).child('about2.html')) + text = target.read_all() + q = PyQuery(text) + for k, v in d.items(): + assert v in q("span." + k).text() \ No newline at end of file