18 lines
736 B
Python
18 lines
736 B
Python
from types import SimpleNamespace
|
|
from genesis.writer.template_mapper import map_template
|
|
from genesis.writer.models import ChapterSpec
|
|
|
|
|
|
def _fake_parsed():
|
|
ch1 = SimpleNamespace(chapter_id="intro", title="はじめに", section_placeholder="{{section:introduction}}")
|
|
ch2 = SimpleNamespace(chapter_id="db_design", title="DB 設計", section_placeholder=None)
|
|
return SimpleNamespace(chapters=[ch1, ch2])
|
|
|
|
|
|
def test_map_template_ordered():
|
|
specs = map_template(_fake_parsed())
|
|
assert [s.chapter_id for s in specs] == ["intro", "db_design"]
|
|
assert specs[0].section_placeholder == "{{section:introduction}}"
|
|
assert specs[1].section_placeholder is None
|
|
assert all(isinstance(s, ChapterSpec) for s in specs)
|