fix: ошибка, когда тире приходится на границу еденицы измерения.
This commit is contained in:
@@ -98,7 +98,7 @@ class LayoutProcessor:
|
|||||||
units_pattern_part_clean = '|'.join(map(regex.escape, [u.replace('.', '') for u in sorted_units]))
|
units_pattern_part_clean = '|'.join(map(regex.escape, [u.replace('.', '') for u in sorted_units]))
|
||||||
|
|
||||||
# Простые единицы: число + единица
|
# Простые единицы: число + единица
|
||||||
self._post_units_pattern = regex.compile(rf'({self._NUMBER_PATTERN})\s+({units_pattern_part_full})(?!\w)')
|
self._post_units_pattern = regex.compile(rf'({self._NUMBER_PATTERN}|{sep})\s+({units_pattern_part_full})(?!\w)')
|
||||||
# Составные единицы: ищет пару "единица." + "единица"
|
# Составные единицы: ищет пару "единица." + "единица"
|
||||||
self._complex_unit_pattern = regex.compile(r'\b(' + units_pattern_part_clean + r')\.(\s*)('
|
self._complex_unit_pattern = regex.compile(r'\b(' + units_pattern_part_clean + r')\.(\s*)('
|
||||||
+ units_pattern_part_clean + r')(?!\w)')
|
+ units_pattern_part_clean + r')(?!\w)')
|
||||||
|
|||||||
@@ -103,6 +103,12 @@ TYPOGRAPHER_HTML_TEST_CASES = [
|
|||||||
f'<p>Текст с{CHAR_NBSP}картинкой <img alt="image" src="image.jpg"/> и{CHAR_NBSP}текстом.</p>'),
|
f'<p>Текст с{CHAR_NBSP}картинкой <img alt="image" src="image.jpg"/> и{CHAR_NBSP}текстом.</p>'),
|
||||||
('unicode', '<p>Текст с <code><br></code><br>А это новая строка.</p>',
|
('unicode', '<p>Текст с <code><br></code><br>А это новая строка.</p>',
|
||||||
f'<p>Текст с{CHAR_NBSP}<code><br></code><br/>А{CHAR_NBSP}это новая строка.</p>'),
|
f'<p>Текст с{CHAR_NBSP}<code><br></code><br/>А{CHAR_NBSP}это новая строка.</p>'),
|
||||||
|
|
||||||
|
# --- Тесты на стыке тегов ---
|
||||||
|
('mixed', '<p>Текст <span>с тире</span> --- после закрытого тега.</p>',
|
||||||
|
'<p>Текст <span>с тире</span> — после закрытого тега.</p>'),
|
||||||
|
('mixed', '<p>Целых <b>100</b> т веса.</p>',
|
||||||
|
'<p>Целых <b>100</b> т веса.</p>'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@@ -177,7 +183,7 @@ HTML_STRUCTURE_TEST_CASES = [
|
|||||||
('<ul><li>Исправлена проблема с появлением лишних тегов <code><html></code> и <code><body></code> при обработке фрагментов HTML.</li></ul><h5>Заголовок</h5>',
|
('<ul><li>Исправлена проблема с появлением лишних тегов <code><html></code> и <code><body></code> при обработке фрагментов HTML.</li></ul><h5>Заголовок</h5>',
|
||||||
'<ul><li>Исправлена проблема с появлением лишних тегов <code><html></code> и <code><body></code> при обработке фрагментов HTML.</li></ul><h5>Заголовок</h5>'),
|
'<ul><li>Исправлена проблема с появлением лишних тегов <code><html></code> и <code><body></code> при обработке фрагментов HTML.</li></ul><h5>Заголовок</h5>'),
|
||||||
|
|
||||||
# 6. Исправленный тест на защищенные теги с немаскированными HTML внутри
|
# 6/ Исправленный тест на защищенные теги с немаскированными HTML внутри
|
||||||
# (все незакрытые теги будут закрыты через BS, а тег <html> удалены)
|
# (все незакрытые теги будут закрыты через BS, а тег <html> удалены)
|
||||||
('<ul><li>Исправлена проблема\n с появлением лишних тегов <code><html>++</html></code> и <code><body&></code> при обработке фрагментов HTML.</li></ul><h5>Заголовок</h5>',
|
('<ul><li>Исправлена проблема\n с появлением лишних тегов <code><html>++</html></code> и <code><body&></code> при обработке фрагментов HTML.</li></ul><h5>Заголовок</h5>',
|
||||||
'<ul><li>Исправлена проблема\n с появлением лишних тегов <code>++</code> и <code><body&></body&></code> при обработке фрагментов HTML.</li></ul><h5>Заголовок</h5>'),
|
'<ul><li>Исправлена проблема\n с появлением лишних тегов <code>++</code> и <code><body&></body&></code> при обработке фрагментов HTML.</li></ul><h5>Заголовок</h5>'),
|
||||||
|
|||||||
Reference in New Issue
Block a user