mirror of
https://github.com/venthur/blag.git
synced 2025-11-25 20:52:43 +00:00
98 lines
2.4 KiB
Python
98 lines
2.4 KiB
Python
# remove when we don't support py38 anymore
|
|
from __future__ import annotations
|
|
import datetime
|
|
|
|
from jinja2 import Template
|
|
|
|
|
|
def test_page(page_template: Template) -> None:
|
|
ctx = {
|
|
'content': 'this is the content',
|
|
'title': 'this is the title',
|
|
}
|
|
result = page_template.render(ctx)
|
|
assert 'this is the content' in result
|
|
assert 'this is the title' in result
|
|
|
|
|
|
def test_article(article_template: Template) -> None:
|
|
ctx = {
|
|
'content': 'this is the content',
|
|
'title': 'this is the title',
|
|
'date': datetime.datetime(1980, 5, 9),
|
|
}
|
|
result = article_template.render(ctx)
|
|
assert 'this is the content' in result
|
|
assert 'this is the title' in result
|
|
assert '1980-05-09' in result
|
|
|
|
|
|
def test_index(index_template: Template) -> None:
|
|
entry = {
|
|
'title': 'this is a title',
|
|
'dst': 'https://example.com/link',
|
|
'date': datetime.datetime(1980, 5, 9),
|
|
}
|
|
archive = [entry]
|
|
ctx = {
|
|
'archive': archive,
|
|
}
|
|
result = index_template.render(ctx)
|
|
assert 'site title' in result
|
|
|
|
assert 'this is a title' in result
|
|
assert '1980-05-09' in result
|
|
assert 'https://example.com/link' in result
|
|
|
|
assert '/archive.html' in result
|
|
|
|
|
|
def test_archive(archive_template: Template) -> None:
|
|
entry = {
|
|
'title': 'this is a title',
|
|
'dst': 'https://example.com/link',
|
|
'date': datetime.datetime(1980, 5, 9),
|
|
}
|
|
archive = [entry]
|
|
ctx = {
|
|
'archive': archive,
|
|
}
|
|
result = archive_template.render(ctx)
|
|
assert 'Archive' in result
|
|
|
|
assert 'this is a title' in result
|
|
assert '1980-05-09' in result
|
|
assert 'https://example.com/link' in result
|
|
|
|
|
|
def test_tags(tags_template: Template) -> None:
|
|
tags = [('foo', 42)]
|
|
ctx = {
|
|
'tags': tags,
|
|
}
|
|
result = tags_template.render(ctx)
|
|
assert 'Tags' in result
|
|
|
|
assert 'foo.html' in result
|
|
assert 'foo' in result
|
|
assert '42' in result
|
|
|
|
|
|
def test_tag(tag_template: Template) -> None:
|
|
entry = {
|
|
'title': 'this is a title',
|
|
'dst': 'https://example.com/link',
|
|
'date': datetime.datetime(1980, 5, 9),
|
|
}
|
|
archive = [entry]
|
|
ctx = {
|
|
'tag': 'foo',
|
|
'archive': archive,
|
|
}
|
|
result = tag_template.render(ctx)
|
|
assert 'Tag foo' in result
|
|
|
|
assert 'this is a title' in result
|
|
assert '1980-05-09' in result
|
|
assert 'https://example.com/link' in result
|