Фиксация изменений

This commit is contained in:
2026-03-05 11:03:17 +03:00
parent 1ef0b4d68c
commit 417b8b6f72
261 changed files with 8215 additions and 332 deletions

View File

@@ -0,0 +1,40 @@
from __future__ import annotations
import re
_NEGATIVE_TEST_RE = re.compile(r"\b(?:не|без|кроме)\b[^.?!]{0,28}\ест", re.IGNORECASE)
_NEGATIVE_TEST_MARKERS = ("не про тест", "без тест", "кроме тест", "про прод код", "только прод", "production code")
_POSITIVE_TEST_MARKERS = (
"тест",
"tests",
"pytest",
"unit test",
"unit tests",
"тестиру",
)
_TEST_TERMS = {"тест", "тесты", "test", "tests", "pytest", "unit", "unit test", "юнит-тест", "юниттест"}
def is_negative_test_request(text: str) -> bool:
lowered = (text or "").lower()
if _NEGATIVE_TEST_RE.search(lowered):
return True
return any(marker in lowered for marker in _NEGATIVE_TEST_MARKERS)
def has_test_focus(text: str) -> bool:
lowered = (text or "").lower()
if is_negative_test_request(lowered):
return False
return any(marker in lowered for marker in _POSITIVE_TEST_MARKERS)
def is_test_related_token(value: str) -> bool:
lowered = (value or "").lower().strip()
if not lowered:
return False
if lowered in _TEST_TERMS:
return True
if lowered.startswith("test"):
return True
return lowered.startswith("тест")