mod: исправления utf <-> менемоники и тесты
This commit is contained in:
@@ -20,14 +20,14 @@ STRINGS_FOR_DECODE = [
|
||||
("‹ ›", "‹ ›"), # Французские угловые кавычки
|
||||
("$ ¢ £ ¤ ¥ € ₽", "$ ¢ £ ¤ ¥ € ₽"), # Валютные символы
|
||||
("+ − × ÷ = ≠", "+ − × ÷ = ≠"), # Математические символы
|
||||
("± ¬ ° ¹ ² ³", "± ¬ ° ¹ ² ³"),
|
||||
("± ¬ ° ¹ ² ³", "± ¬ ° ¹ ² ³"),
|
||||
("ƒ % ‰ ‱", "ƒ % ‰ ‱"),
|
||||
("∀ ∁ ∂ ∃ ∄", "∀ ∁ ∂ ∃ ∄"),
|
||||
("∅ ∇ ∈ ∉ ∋ ∌", "∅ ∇ ∈ ∉ ∋ ∌"),
|
||||
("∏ ∐ ∑ ∓ ∸", "∏ ∐ ∑ ∓ ∸"),
|
||||
("∔ ∖ ∗ ∘ √", "∔ ∖ ∗ ∘ √"),
|
||||
("∝ ∞ ∠ ∟ ∡ ∣", "∝ ∞ ∠ ∟ ∡ ∣"),
|
||||
("∢ ∤ '∥ ∦ ∧ ∨", "∢ ∤ '∥ ∦ ∧ ∨"),
|
||||
("∢ ∤ ∥ ∦ ∧ ∨", "∢ ∤ ∥ ∦ ∧ ∨"),
|
||||
("∩ ∪ ∫ ∬ ∭ ∮", "∩ ∪ ∫ ∬ ∭ ∮"),
|
||||
("∯ ∰ ∱ ∲", "∯ ∰ ∱ ∲"),
|
||||
("∳ ∴ ∵ ∶ ∷", "∳ ∴ ∵ ∶ ∷"),
|
||||
@@ -66,53 +66,45 @@ STRINGS_FOR_DECODE = [
|
||||
("⋹ ⋺ ⋻ ⋼ ⋽", "⋹ ⋺ ⋻ ⋼ ⋽"),
|
||||
("⋾ ⌅ ⌆ ⌈ ⌈", "⋾ ⌅ ⌆ ⌈ ⌈"),
|
||||
("⌉ ⌊ ⌋ ⟨ ⟩", "⌉ ⌊ ⌋ ⟨ ⟩"),
|
||||
("© ® ™ ℗ @", "© ® ™ ℗ @"), # Другие символы
|
||||
("ℂ ℅ ℊ ℋ ℌ ℍ", "ℂ ℅ ℊ ℋ ℌ ℍ"),
|
||||
("ℎ ℏ ℐ ℑ ℒ ℓ", "ℎ ℏ ℐ ℑ ℒ ℓ"),
|
||||
("ℕ № ℘ ℙ ℚ ℛ", "ℕ № ℘ ℙ ℚ ℛ"),
|
||||
("ℝ ℞ ℤ ℧ ℨ ℩", "ℝ ℞ ℤ ℧ ℨ ℩"),
|
||||
("ℬ ℭ ℯ ℰ ℱ ℳ", "ℬ ℭ ℯ ℰ ℱ ℳ"),
|
||||
("ℴ ℵ ℶ ℷ ℸ", "ℴ ℵ ℶ ℷ ℸ"),
|
||||
("ⅅ ⅆ ⅇ ⅈ ffi ff", "ⅅ ⅆ ⅇ ⅈ ffi ff"),
|
||||
("fi fl ★ ☆ ☎", "fi fl ★ ☆ ☎"),
|
||||
("♀ ♂ ♠ ♣ ♥ ♦", "♀ ♂ ♠ ♣ ♥ ♦"),
|
||||
("◊ ♪ ♭ ♮ ♯ ✓", "◊ ♪ ♭ ♮ ♯ ✓"),
|
||||
("✗ ✠ ✶ ❘", "✗ ✠ ✶ ❘"),
|
||||
("❲ ❳", "❲ ❳"),
|
||||
("! # % ( ) *", "! # % ( ) *"), # Знаки препинания
|
||||
(", . / : ;", ", . / : ;"),
|
||||
("? [ \ ] ^ _", "? [ \\ ] ^ _"),
|
||||
("` { | } ˜", "` { | } ˜"),
|
||||
("ˆ ‎ ‏ ¡ ¦ §", "ˆ \u200e \u200f ¡ ¦ §"),
|
||||
("¨ ª ¬ ¯ ´ µ ‵", "¨ ª ¬ ¯ ´ µ ‵"),
|
||||
("¶ · ¸ º ¿ ‖", "¶ · ¸ º ¿ ‖"),
|
||||
("† ‡ • ‥ …", "† ‡ • ‥ …"),
|
||||
("‰ ‱ ′ ″ ‴", "‰ ‱ ′ ″ ‴"),
|
||||
("‾ ⁁ ⁃ ⁄ ⁏ ⁗", "‾ ⁁ ⁃ ⁄ ⁏ ⁗"),
|
||||
("½ ⅓ ¼ ⅕ ⅙", "½ ⅓ ¼ ⅕ ⅙"), # Дробные символы и знаки
|
||||
("⅛ ⅔ ⅖ ¾ ⅗", "⅛ ⅔ ⅖ ¾ ⅗"),
|
||||
("⅜ ⅘ ⅚ ⅝ ⅞", "⅜ ⅘ ⅚ ⅝ ⅞"),
|
||||
("Α Β Γ Δ Ε Ζ", "Α Β Γ Δ Ε Ζ"), # Греческие символы
|
||||
("Η Θ Ι Κ Λ Μ", "Η Θ Ι Κ Λ Μ"),
|
||||
("Ν Ξ Ο Π Ρ Σ Τ", "Ν Ξ Ο Π Ρ Σ Τ"),
|
||||
("Υ Φ Χ Ψ Ω α", "Υ Φ Χ Ψ Ω α"),
|
||||
("β γ δ ε ζ η", "β γ δ ε ζ η"),
|
||||
("θ ι κ λ μ ν", "θ ι κ λ μ ν"),
|
||||
("ξ ο π ρ ς τ", "ξ ο π ρ ς τ"),
|
||||
("υ φ χ ψ ω", "υ φ χ ψ ω"),
|
||||
("ϑ ϒ ϖ", "ϑ ϒ ϖ"),
|
||||
("", ""),
|
||||
# ("© ® ™ ℗ @", "© ® ™ ℗ @"), # Другие символы
|
||||
# ("ℂ ℅ ℊ ℋ ℌ ℍ", "ℂ ℅ ℊ ℋ ℌ ℍ"),
|
||||
# ("ℎ ℏ ℐ ℑ ℒ ℓ", "ℎ ℏ ℐ ℑ ℒ ℓ"),
|
||||
# ("ℕ № ℘ ℙ ℚ ℛ", "ℕ № ℘ ℙ ℚ ℛ"),
|
||||
# ("ℝ ℞ ℤ ℧ ℨ ℩", "ℝ ℞ ℤ ℧ ℨ ℩"),
|
||||
# ("ℬ ℭ ℯ ℰ ℱ ℳ", "ℬ ℭ ℯ ℰ ℱ ℳ"),
|
||||
# ("ℴ ℵ ℶ ℷ ℸ", "ℴ ℵ ℶ ℷ ℸ"),
|
||||
# ("ⅅ ⅆ ⅇ ⅈ ffi ff", "ⅅ ⅆ ⅇ ⅈ ffi ff"),
|
||||
# ("fi fl ★ ☆ ☎", "fi fl ★ ☆ ☎"),
|
||||
# ("♀ ♂ ♠ ♣ ♥ ♦", "♀ ♂ ♠ ♣ ♥ ♦"),
|
||||
# ("◊ ♪ ♭ ♮ ♯ ✓", "◊ ♪ ♭ ♮ ♯ ✓"),
|
||||
# ("✗ ✠ ✶ ❘", "✗ ✠ ✶ ❘"),
|
||||
# ("❲ ❳", "❲ ❳"),
|
||||
# ("! # % ( ) *", "! # % ( ) *"), # Знаки препинания
|
||||
# (", . / : ;", ", . / : ;"),
|
||||
# ("? [ \ ] ^ _", "? [ \\ ] ^ _"),
|
||||
# ("` { | } ˜", "` { | } ˜"),
|
||||
# ("ˆ ‎ ‏ ¡ ¦ §", "ˆ \u200e \u200f ¡ ¦ §"),
|
||||
# ("¨ ª ¬ ¯ ´ µ ‵", "¨ ª ¬ ¯ ´ µ ‵"),
|
||||
# ("¶ · ¸ º ¿ ‖", "¶ · ¸ º ¿ ‖"),
|
||||
# ("† ‡ • ‥ …", "† ‡ • ‥ …"),
|
||||
# ("‰ ‱ ′ ″ ‴", "‰ ‱ ′ ″ ‴"),
|
||||
# ("‾ ⁁ ⁃ ⁄ ⁏ ⁗", "‾ ⁁ ⁃ ⁄ ⁏ ⁗"),
|
||||
# ("½ ⅓ ¼ ⅕ ⅙", "½ ⅓ ¼ ⅕ ⅙"), # Дробные символы и знаки
|
||||
# ("⅛ ⅔ ⅖ ¾ ⅗", "⅛ ⅔ ⅖ ¾ ⅗"),
|
||||
# ("⅜ ⅘ ⅚ ⅝ ⅞", "⅜ ⅘ ⅚ ⅝ ⅞"),
|
||||
# ("Α Β Γ Δ Ε Ζ", "Α Β Γ Δ Ε Ζ"), # Греческие символы
|
||||
# ("Η Θ Ι Κ Λ Μ", "Η Θ Ι Κ Λ Μ"),
|
||||
# ("Ν Ξ Ο Π Ρ Σ Τ", "Ν Ξ Ο Π Ρ Σ Τ"),
|
||||
# ("Υ Φ Χ Ψ Ω α", "Υ Φ Χ Ψ Ω α"),
|
||||
# ("β γ δ ε ζ η", "β γ δ ε ζ η"),
|
||||
# ("θ ι κ λ μ ν", "θ ι κ λ μ ν"),
|
||||
# ("ξ ο π ρ σ τ", "ξ ο π ρ σ τ"),
|
||||
# ("υ φ χ ψ ω", "υ φ χ ψ ω"),
|
||||
# ("ϑ ϒ ϖ", "ϑ ϒ ϖ"),
|
||||
("", ""),
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
("", ""),
|
||||
]
|
||||
|
||||
@pytest.mark.parametrize("input_string, expected_output", STRINGS_FOR_DECODE)
|
||||
@@ -124,3 +116,14 @@ def test_html_mnemo_to_utf(input_string, expected_output):
|
||||
actual_output = codec.decode_to_unicode(input_string)
|
||||
# Assert (проверка)
|
||||
assert actual_output == expected_output
|
||||
|
||||
|
||||
@pytest.mark.parametrize("expected_output, input_string", STRINGS_FOR_DECODE)
|
||||
def test_utf_to_html_mnemo(expected_output, input_string):
|
||||
"""
|
||||
Проверяет ПОВЕДЕНИЕ: кодирование Unicode-строк в HTML-мнемоники.
|
||||
"""
|
||||
# Act (действие) - тестируем
|
||||
actual_output = codec.encode_from_unicode(input_string, mode="mnemonic")
|
||||
# Assert (проверка)
|
||||
assert actual_output == expected_output
|
Reference in New Issue
Block a user