Mercurial > piecrust2
view tests/test_sources_posts.py @ 371:c2ca72fb7f0b 2.0.0a8
caching: Use separate caches for config variants and other contexts.
* The `_cache` directory is now organized in multiple "sub-caches" for
different contexts.
* A new context is created when config variants or overrides are applied.
* `serve` context uses a different context that the other commends, to prevent
the `bake` command's output from messing up the preview server (e.g. with
how asset URLs are generated differently between the two).
* Fix a few places where the cache directory was referenced directly.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 03 May 2015 23:59:46 -0700 |
parents | cb6eadea0845 |
children | e7b865f8f335 |
line wrap: on
line source
import os import pytest from .mockutil import mock_fs, mock_fs_scope @pytest.mark.parametrize('fs, src_type, expected_paths, expected_metadata', [ (mock_fs(), 'flat', [], []), (mock_fs().withPage('test/2014-01-01_foo.md'), 'flat', ['2014-01-01_foo.md'], [(2014, 1, 1, 'foo')]), (mock_fs(), 'shallow', [], []), (mock_fs().withPage('test/2014/01-01_foo.md'), 'shallow', ['2014/01-01_foo.md'], [(2014, 1, 1, 'foo')]), (mock_fs(), 'hierarchy', [], []), (mock_fs().withPage('test/2014/01/01_foo.md'), 'hierarchy', ['2014/01/01_foo.md'], [(2014, 1, 1, 'foo')]), ]) def test_post_source_factories(fs, src_type, expected_paths, expected_metadata): fs.withConfig({ 'site': { 'sources': { 'test': {'type': 'posts/%s' % src_type}}, 'routes': [ {'url': '/%slug%', 'source': 'test'}] } }) fs.withDir('kitchen/test') with mock_fs_scope(fs): app = fs.getApp(cache=False) s = app.getSource('test') facs = list(s.buildPageFactories()) paths = [f.rel_path for f in facs] assert paths == expected_paths metadata = [ (f.metadata['year'], f.metadata['month'], f.metadata['day'], f.metadata['slug']) for f in facs] assert metadata == expected_metadata