| from ava_tts.model import Ava | |
| def test_split_prefers_punctuation_near_middle(): | |
| text = "این بخش اول جمله است، و این بخش دوم جمله است." | |
| split = Ava._split_point(text) | |
| assert text[split - 1] == "،" | |
| def test_split_falls_back_to_word_boundary(): | |
| text = "یک متن بسیار طولانی برای آزمایش شکستن خودکار جمله" | |
| split = Ava._split_point(text) | |
| assert 0 < split < len(text) | |
| assert text[split].isspace() | |
| def test_long_text_is_split_before_frontend_limit(): | |
| ava = object.__new__(Ava) | |
| ava._config = {"vocab": {"a": 1}} | |
| ava._phonemize_normalized = lambda text: "a" * len(text) | |
| normalized, segments = ava.phonemize("واژه " * 120) | |
| assert normalized | |
| assert len(segments) > 1 | |
| assert all(len(segment) <= 510 for segment in segments) | |