Quiiz system
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user