test_css_name_validation.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import pytest
  2. from django.forms import ValidationError
  3. from ..validators import validate_css_name
  4. def test_validation_fails_if_name_is_missing_css_extension():
  5. with pytest.raises(ValidationError):
  6. validate_css_name("filename")
  7. def test_extension_validation_is_case_insensitive():
  8. validate_css_name("filename.CsS")
  9. def test_validation_fails_if_name_starts_with_period():
  10. with pytest.raises(ValidationError):
  11. validate_css_name(".filename.css")
  12. def test_validation_fails_if_name_contains_css_extension_only():
  13. with pytest.raises(ValidationError):
  14. validate_css_name(".css")
  15. def test_validation_fails_if_name_contains_special_characters():
  16. with pytest.raises(ValidationError):
  17. validate_css_name("test().css")
  18. def test_validation_fails_if_name_lacks_latin_characters_or_numbers():
  19. with pytest.raises(ValidationError):
  20. validate_css_name("_-.css")
  21. def test_name_can_contain_underscores_scores_and_periods():
  22. validate_css_name("some_css-final2.dark.css")