Quiiz system

This commit is contained in:
2026-07-26 16:46:41 +02:00
parent 7f17d69f5c
commit 4780016980
192 changed files with 15031 additions and 566 deletions
+64
View File
@@ -45,3 +45,67 @@ def test_isslop_run_form_normalizes_typos_and_bare_domains():
)
assert IsslopRunForm(url="example.com/owner/repo").url == "https://example.com/owner/repo"
assert IsslopRunForm(url="http:/x.dev/a").url == "http://x.dev/a"
def test_reaction_form_accepts_any_single_emoji():
from devplacepy.models import ReactionForm
for value in (
"\U0001F44D",
"\U0001F984",
"\u2764\uFE0F",
"\U0001F44D\U0001F3FD",
"\U0001F9D1\u200d\U0001F4BB",
"\U0001F3F3\uFE0F\u200d\U0001F308",
"\U0001F1F3\U0001F1F1",
"1\uFE0F\u20E3",
):
assert ReactionForm(emoji=value).emoji == value
def test_reaction_form_accepts_every_emoji_the_picker_offers():
import json
from pathlib import Path
from devplacepy.models import ReactionForm
data_path = (
Path(__file__).resolve().parents[2]
/ "devplacepy"
/ "static"
/ "vendor"
/ "emoji-picker-element"
/ "data.json"
)
entries = json.loads(data_path.read_text(encoding="utf-8"))
offered = [entry["emoji"] for entry in entries]
offered += [
skin["emoji"] for entry in entries for skin in (entry.get("skins") or [])
]
assert len(offered) > 3000
for value in offered:
assert ReactionForm(emoji=value).emoji == value
def test_reaction_form_strips_surrounding_whitespace():
from devplacepy.models import ReactionForm
assert ReactionForm(emoji=" \U0001F680 ").emoji == "\U0001F680"
def test_reaction_form_rejects_non_emoji_values():
from devplacepy.models import ReactionForm
for value in (
"notanemoji",
"a",
" ",
"",
"<script>",
"\u200b",
"\U0001F44D x",
"\U0001F44D\U0001F44D",
):
with pytest.raises(ValidationError):
ReactionForm(emoji=value)