Mercurial > piecrust2
comparison tests/test_sources_autoconfig.py @ 242:f130365568ff
internal: Code reorganization to put less stuff in `sources.base`.
Interfaces that sources can implement are in `sources.interfaces`. The default
page source is in `sources.default`. The `SimplePageSource` is gone since most
subclasses only wanted to do *some* stuff the same, but *lots* of stuff
slightly different. I may have to revisit the code to extract exactly the code
that's in common.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 18 Feb 2015 18:35:03 -0800 |
parents | f43f19975671 |
children | f512905ae812 |
comparison
equal
deleted
inserted
replaced
241:85a6c7ba5e3b | 242:f130365568ff |
---|---|
86 'fs, expected_paths, expected_metadata', | 86 'fs, expected_paths, expected_metadata', |
87 [ | 87 [ |
88 (mock_fs(), [], []), | 88 (mock_fs(), [], []), |
89 (mock_fs().withPage('test/something.md'), | 89 (mock_fs().withPage('test/something.md'), |
90 ['something.md'], | 90 ['something.md'], |
91 [{'slug': 'something', 'config': {'foo': 0}}]), | 91 [{'slug': 'something', |
92 'config': {'foo': 0, 'foo_trail': [0]}}]), | |
92 (mock_fs().withPage('test/08_something.md'), | 93 (mock_fs().withPage('test/08_something.md'), |
93 ['08_something.md'], | 94 ['08_something.md'], |
94 [{'slug': 'something', 'config': {'foo': 8}}]) | 95 [{'slug': 'something', |
96 'config': {'foo': 8, 'foo_trail': [8]}}]), | |
97 (mock_fs().withPage('test/02_there/08_something.md'), | |
98 ['02_there/08_something.md'], | |
99 [{'slug': 'there/something', | |
100 'config': {'foo': 8, 'foo_trail': [2, 8]}}]), | |
95 ]) | 101 ]) |
96 def test_ordered_source_factories(fs, expected_paths, expected_metadata): | 102 def test_ordered_source_factories(fs, expected_paths, expected_metadata): |
97 site_config = { | 103 site_config = { |
98 'sources': { | 104 'sources': { |
99 'test': {'type': 'ordered', | 105 'test': {'type': 'ordered', |
118 'fs, route_path, expected_path, expected_metadata', | 124 'fs, route_path, expected_path, expected_metadata', |
119 [ | 125 [ |
120 (mock_fs(), 'missing', None, None), | 126 (mock_fs(), 'missing', None, None), |
121 (mock_fs().withPage('test/something.md'), | 127 (mock_fs().withPage('test/something.md'), |
122 'something', 'something.md', | 128 'something', 'something.md', |
123 {'slug': 'something', 'config': {'foo': 0}}), | 129 {'slug': 'something', |
130 'config': {'foo': 0, 'foo_trail': [0]}}), | |
124 (mock_fs().withPage('test/bar/something.md'), | 131 (mock_fs().withPage('test/bar/something.md'), |
125 'bar/something', 'bar/something.md', | 132 'bar/something', 'bar/something.md', |
126 {'slug': 'bar/something', 'config': {'foo': 0}}), | 133 {'slug': 'bar/something', |
134 'config': {'foo': 0, 'foo_trail': [0]}}), | |
127 (mock_fs().withPage('test/42_something.md'), | 135 (mock_fs().withPage('test/42_something.md'), |
128 'something', '42_something.md', | 136 'something', '42_something.md', |
129 {'slug': 'something', 'config': {'foo': 42}}), | 137 {'slug': 'something', |
138 'config': {'foo': 42, 'foo_trail': [42]}}), | |
130 (mock_fs().withPage('test/bar/42_something.md'), | 139 (mock_fs().withPage('test/bar/42_something.md'), |
131 'bar/something', 'bar/42_something.md', | 140 'bar/something', 'bar/42_something.md', |
132 {'slug': 'bar/something', 'config': {'foo': 42}}), | 141 {'slug': 'bar/something', |
142 'config': {'foo': 42, 'foo_trail': [42]}}), | |
133 | 143 |
134 ((mock_fs() | 144 ((mock_fs() |
135 .withPage('test/42_something.md') | 145 .withPage('test/42_something.md') |
136 .withPage('test/43_other_something.md')), | 146 .withPage('test/43_other_something.md')), |
137 'something', '42_something.md', | 147 'something', '42_something.md', |
138 {'slug': 'something', 'config': {'foo': 42}}), | 148 {'slug': 'something', |
149 'config': {'foo': 42, 'foo_trail': [42]}}), | |
139 ]) | 150 ]) |
140 def test_ordered_source_find(fs, route_path, expected_path, | 151 def test_ordered_source_find(fs, route_path, expected_path, |
141 expected_metadata): | 152 expected_metadata): |
142 site_config = { | 153 site_config = { |
143 'sources': { | 154 'sources': { |
150 fs.withConfig({'site': site_config}) | 161 fs.withConfig({'site': site_config}) |
151 fs.withDir('kitchen/test') | 162 fs.withDir('kitchen/test') |
152 with mock_fs_scope(fs): | 163 with mock_fs_scope(fs): |
153 app = fs.getApp() | 164 app = fs.getApp() |
154 s = app.getSource('test') | 165 s = app.getSource('test') |
155 route_metadata = {'path': route_path} | 166 route_metadata = {'slug': route_path} |
156 fac_path, metadata = s.findPagePath(route_metadata, MODE_PARSING) | 167 fac_path, metadata = s.findPagePath(route_metadata, MODE_PARSING) |
157 assert fac_path == expected_path | 168 assert fac_path == expected_path |
158 assert metadata == expected_metadata | 169 assert metadata == expected_metadata |
159 | 170 |