changeset 392:923a9b96411d

data: Fix regression bug with accessing page metadata that doesn't exist. Added unit test.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 17 May 2015 15:25:54 -0700
parents 3e4bb57d8506
children 89c1e2a91468
files piecrust/data/base.py tests/bakes/test_simple_tags.bake
diffstat 2 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/piecrust/data/base.py	Sun May 17 10:48:41 2015 -0700
+++ b/piecrust/data/base.py	Sun May 17 15:25:54 2015 -0700
@@ -89,7 +89,8 @@
                                 (name, self._page.rel_path)) from ex
                     # We always keep the wildcard loader in the loaders list.
 
-        assert name in self._values
+        if name not in self._values:
+            raise LazyPageConfigLoaderHasNoValue()
         return self._values[name]
 
     def _setValue(self, name, value):
--- a/tests/bakes/test_simple_tags.bake	Sun May 17 10:48:41 2015 -0700
+++ b/tests/bakes/test_simple_tags.bake	Sun May 17 15:25:54 2015 -0700
@@ -1,3 +1,15 @@
+---
+in:
+    posts/2015-03-01_post01.md: "---\ntitle: Post 01\n---\nContent 01"
+    pages/_index.md: |
+        {%for p in pagination.items -%}
+        {{p.content|safe}}
+        {%if p.tags%}{{p.tags}}{%else%}No tags{%endif%}
+        {%endfor%}
+outfiles:
+    index.html: |
+        Content 01
+        No tags
 ---
 in:
     posts/2015-03-01_post01.md: |