Mercurial > piecrust2
view tests/test_data_linker.py @ 977:84fc72a17f7a
sources: Changes in related contents management.
- Remove `getParentGroup` method, use related contents instead.
- Return only a single group when asked for the parent.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 17 Oct 2017 01:11:54 -0700 |
parents | 72f17534d58e |
children | 45ad976712ec |
line wrap: on
line source
import pytest from piecrust.data.linker import Linker from .mockutil import mock_fs, mock_fs_scope, get_simple_content_item @pytest.mark.parametrize( 'fs_fac, page_path, expected', [ (lambda: mock_fs().withPage('pages/foo'), 'foo', []), ((lambda: mock_fs() .withPage('pages/foo') .withPage('pages/bar')), 'foo', ['/bar']), ((lambda: mock_fs() .withPage('pages/baz') .withPage('pages/something') .withPage('pages/something/else') .withPage('pages/foo') .withPage('pages/bar')), 'foo', ['/bar', '/baz', '/something']), ((lambda: mock_fs() .withPage('pages/something/else') .withPage('pages/foo') .withPage('pages/something/good') .withPage('pages/bar')), 'something/else', ['/something/good']) ]) def test_linker_siblings(fs_fac, page_path, expected): fs = fs_fac() fs.withConfig() with mock_fs_scope(fs): app = fs.getApp() app.config.set('site/pretty_urls', True) src = app.getSource('pages') item = get_simple_content_item(app, page_path) linker = Linker(src, item) actual = list(linker.siblings) assert sorted(map(lambda i: i.url, actual)) == sorted(expected) @pytest.mark.parametrize( 'fs_fac, page_path, expected', [ (lambda: mock_fs().withPage('pages/foo'), 'foo.md', []), ((lambda: mock_fs() .withPage('pages/foo') .withPage('pages/bar')), 'foo', []), ((lambda: mock_fs() .withPage('pages/baz') .withPage('pages/foo') .withPage('pages/foo/more') .withPage('pages/foo/even_more')), 'foo', ['/foo/more', '/foo/even_more']) ]) def test_linker_children(fs_fac, page_path, expected): fs = fs_fac() fs.withConfig() with mock_fs_scope(fs): app = fs.getApp() app.config.set('site/pretty_urls', True) src = app.getSource('pages') item = get_simple_content_item(app, page_path) linker = Linker(src, item) actual = list(linker.children) assert sorted(map(lambda i: i.url, actual)) == sorted(expected)