mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18:54 -05:00
28 lines
801 B
Python
28 lines
801 B
Python
import textwrap
|
|
|
|
import yaml
|
|
from schema import SchemaError
|
|
|
|
|
|
def test_trivia_lists():
|
|
from redbot.cogs.trivia import InvalidListError, get_core_lists, get_list
|
|
|
|
list_names = get_core_lists()
|
|
assert list_names
|
|
problem_lists = []
|
|
for l in list_names:
|
|
try:
|
|
get_list(l)
|
|
except InvalidListError as exc:
|
|
e = exc.__cause__
|
|
if isinstance(e, SchemaError):
|
|
problem_lists.append((l.stem, f"SCHEMA error:\n{e!s}"))
|
|
else:
|
|
problem_lists.append((l.stem, f"YAML error:\n{e!s}"))
|
|
|
|
if problem_lists:
|
|
msg = "\n".join(
|
|
f"- {name}:\n{textwrap.indent(error, ' ')}" for name, error in problem_lists
|
|
)
|
|
raise TypeError("The following lists contain errors:\n" + msg)
|