diff tests/test_baking_baker.py @ 1020:298b07a899b5

bake: Fix overriding issues between theme and user pages for index pages.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 05 Dec 2017 22:26:25 -0800
parents 1857dbd4580f
children
line wrap: on
line diff
--- a/tests/test_baking_baker.py	Wed Nov 29 21:36:11 2017 -0800
+++ b/tests/test_baking_baker.py	Tue Dec 05 22:26:25 2017 -0800
@@ -46,21 +46,68 @@
         assert structure['2017']['01']['01']['first.html'] == 'something 1'
         assert structure['2017']['01']['02']['second.html'] == 'something 2'
 
+        print("\n\n\n")
+        fs.runChef('bake')
+        structure = fs.getStructure('kitchen/_counter')
+        assert structure['index.html'] == 'Second\nFirst\n'
+        assert structure['2017']['01']['01']['first.html'] == 'something 1'
+        assert structure['2017']['01']['02']['second.html'] == 'something 2'
+
+        print("\n\n\n")
+        fs.runChef('bake')
+        structure = fs.getStructure('kitchen/_counter')
+        assert structure['index.html'] == 'Second\nFirst\n'
+        assert structure['2017']['01']['01']['first.html'] == 'something 1'
+        assert structure['2017']['01']['02']['second.html'] == 'something 2'
+
+        print("\n\n\n")
         fs.runChef('bake')
         structure = fs.getStructure('kitchen/_counter')
         assert structure['index.html'] == 'Second\nFirst\n'
         assert structure['2017']['01']['01']['first.html'] == 'something 1'
         assert structure['2017']['01']['02']['second.html'] == 'something 2'
 
+
+def test_bake_four_times_again():
+    fs = (mock_fs()
+          .withConfig({'site': {
+              'default_format': 'none',
+              'default_page_layout': 'none',
+              'default_post_layout': 'none',
+          }})
+          .withPage('pages/_index.html', {'layout': 'none', 'format': 'none'},
+                    "{% for p in pagination.posts -%}\n"
+                    "{{p.title}} : {{p.content}}\n"
+                    "{% endfor %}")
+          .withPage('posts/2017-01-01_first.html', {'title': "First"},
+                    "something 1")
+          .withPage('posts/2017-01-02_second.html', {'title': "Second"},
+                    "something 2"))
+    with mock_fs_scope(fs):
         fs.runChef('bake')
         structure = fs.getStructure('kitchen/_counter')
-        assert structure['index.html'] == 'Second\nFirst\n'
+        assert structure['index.html'] == 'Second : something 2\nFirst : something 1\n'
         assert structure['2017']['01']['01']['first.html'] == 'something 1'
         assert structure['2017']['01']['02']['second.html'] == 'something 2'
 
+        print("\n\n\n")
         fs.runChef('bake')
         structure = fs.getStructure('kitchen/_counter')
-        assert structure['index.html'] == 'Second\nFirst\n'
+        assert structure['index.html'] == 'Second : something 2\nFirst : something 1\n'
         assert structure['2017']['01']['01']['first.html'] == 'something 1'
         assert structure['2017']['01']['02']['second.html'] == 'something 2'
 
+        print("\n\n\n")
+        fs.runChef('bake')
+        structure = fs.getStructure('kitchen/_counter')
+        assert structure['index.html'] == 'Second : something 2\nFirst : something 1\n'
+        assert structure['2017']['01']['01']['first.html'] == 'something 1'
+        assert structure['2017']['01']['02']['second.html'] == 'something 2'
+
+        print("\n\n\n")
+        fs.runChef('bake')
+        structure = fs.getStructure('kitchen/_counter')
+        assert structure['index.html'] == 'Second : something 2\nFirst : something 1\n'
+        assert structure['2017']['01']['01']['first.html'] == 'something 1'
+        assert structure['2017']['01']['02']['second.html'] == 'something 2'
+