Files
2026-06-13 23:21:24 -07:00

32 lines
1.0 KiB
Python

import pytest
from archivebox.core.forms import TagField, TagWidget
from archivebox.core.models import Tag
pytestmark = pytest.mark.django_db
def test_tag_field_parses_legacy_tag_input():
field = TagField()
assert field.clean("alpha beta alpha") == ["alpha", "beta"]
assert field.clean("alpha, beta, Alpha") == ["Alpha", "alpha", "beta"]
assert field.clean('"alpha beta", gamma') == ["alpha beta", "gamma"]
assert field.clean('"alpha,beta", gamma') == ["alpha,beta", "gamma"]
assert field.clean('alpha "beta gamma"') == ["alpha", "beta gamma"]
assert field.clean('"alpha,beta') == ["alpha", "beta"]
def test_tag_widget_formats_real_tag_rows():
tags = [
Tag.objects.create(name="plain"),
Tag.objects.create(name="two words"),
Tag.objects.create(name="comma,tag"),
]
rendered_value = TagWidget().format_value(tags)
assert rendered_value == '"comma,tag", "two words", plain'
assert TagField().clean(rendered_value) == ["comma,tag", "plain", "two words"]