"""
Test utilities for :py:mod:`betty.license`.
"""
from __future__ import annotations
from typing_extensions import override
from betty.license import License
from betty.locale.localizable import Localizable, plain
from betty.locale.localizer import DEFAULT_LOCALIZER
from betty.test_utils.plugin import (
DummyPlugin,
PluginInstanceTestBase,
)
[docs]
class LicenseTestBase(PluginInstanceTestBase[License]):
"""
A base class for testing :py:class:`betty.license.License` implementations.
"""
[docs]
def test_summary(self) -> None:
"""
Tests :py:meth:`betty.license.License.summary` implementations.
"""
for sut in self.get_sut_instances():
assert sut.summary.localize(DEFAULT_LOCALIZER)
[docs]
def test_text(self) -> None:
"""
Tests :py:meth:`betty.license.License.text` implementations.
"""
for sut in self.get_sut_instances():
assert sut.text.localize(DEFAULT_LOCALIZER)
[docs]
def test_url(self) -> None:
"""
Tests :py:meth:`betty.license.License.url` implementations.
"""
for sut in self.get_sut_instances():
url = sut.url
if url is not None:
assert url.localize(DEFAULT_LOCALIZER)