Текст с мнемониками: € №№ €
Ещё текст © 2024
'''
result = safe_html_spec_symbols(html)
# Проверяем, что исключены опасные теги
assert 'malicious_code' not in result, f"Script не удалён: {result}"
assert 'display: none' not in result, f"Style не удалён: {result}"
# Проверяем, что обычный текст остался
assert 'Текст' in result and 'Ещё текст' in result, f"Обычный текст потеряился: {result}"
# Проверяем, что HTML-теги удалены
assert '<' not in result and '>' not in result, f"HTML-теги не удалены: {result}"
# Проверяем, что мнемоники заменены
assert '€' in result, f"Мнемоники не заменены: {result}"
assert '©' in result, f"Copyright не заменён: {result}"
print(f"✓ Тест 10 (комплексный): пройден")
print(f" Результат: {result[:80]}...")
def test_empty_string():
"""Тест 11: Пустая строка"""
result = safe_html_spec_symbols('')
assert result == '', f"Ожидается пустая строка, получено: {repr(result)}"
print("✓ Тест 11 (пустая строка): пройден")
def test_only_html_tags():
"""Тест 12: Строка только с HTML-тегами"""
html = '