mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-06-22 03:20:45 -04:00
32 lines
1.0 KiB
Python
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"]
|