diff --git a/tests/test_codec.py b/tests/test_codec.py index 44b9288..2dde62b 100644 --- a/tests/test_codec.py +++ b/tests/test_codec.py @@ -19,58 +19,73 @@ STRINGS_FOR_DECODE = [ ("‘ ’ ‚", "‘ ’ ‚"), # Одиночные кавычки ("‹ ›", "‹ ›"), # Французские угловые кавычки ("$ ¢ £ ¤ ¥ € ₽", "$ ¢ £ ¤ ¥ € ₽"), # Валютные символы - ("+ − × ÷ = ≠", "+ − × ÷ = ≠"), # Математические символы 01 - ("± ¬ ° ¹ ² ³", "± ¬ ° ¹ ² ³"), # Математические символы 02 - ("ƒ % ‰ ‱", "ƒ % ‰ ‱"), # Математические символы 03 - ("∀ ∁ ∂ ∃ ∄", "∀ ∁ ∂ ∃ ∄"), # Математические символы 04 - ("∅ ∇ ∈ ∉ ∋ ∌", "∅ ∇ ∈ ∉ ∋ ∌"), # Математические символы 05 - ("∏ ∐ ∑ ∓ ∸", "∏ ∐ ∑ ∓ ∸"), # Математические символы 06 - ("∔ ∖ ∗ ∘ √", "∔ ∖ ∗ ∘ √"), # Математические символы 07 - ("∝ ∞ ∠ ∟ ∡ ∣", "∝ ∞ ∠ ∟ ∡ ∣"), # Математические символы 08 - ("∢ ∤ '∥ ∦ ∧ ∨", "∢ ∤ '∥ ∦ ∧ ∨"), # Математические символы 09 - ("∩ ∪ ∫ ∬ ∭ ∮", "∩ ∪ ∫ ∬ ∭ ∮"), # Математические символы 10 - ("∯ ∰ ∱ ∲", "∯ ∰ ∱ ∲"), # Математические символы 11 - ("∳ ∴ ∵ ∶ ∷", "∳ ∴ ∵ ∶ ∷"), # Математические символы 12 - ("∺ ∻ ∼ ∽ ∾ ∿", "∺ ∻ ∼ ∽ ∾ ∿"), # Математические символы 13 - ("≀ ≁ ≂ ≃ ≄ ≅", "≀ ≁ ≂ ≃ ≄ ≅"), # Математические символы 14 - ("≈ ≆ ≇ ≉ ≊ ≋", "≈ ≆ ≇ ≉ ≊ ≋"), # Математические символы 15 - ("≌ ≍ ≎ ≏ ≐ ≑", "≌ ≍ ≎ ≏ ≐ ≑"), # Математические символы 16 - ("≒ ≓ ≔ ≕ ≖ ≗", "≒ ≓ ≔ ≕ ≖ ≗"), # Математические символы 17 - ("≙ ≚ ≜ ≟ ≡", "≙ ≚ ≜ ≟ ≡"), # Математические символы 18 - ("≢ ≤ ≥ ≦ ≧ ≨ ≩", "≢ ≤ ≥ ≦ ≧ ≨ ≩"), # Математические символы 19 - ("≪ ≫ ≬ ≭ ≮ ≯", "≪ ≫ ≬ ≭ ≮ ≯"), # Математические символы 20 - ("≰ ≱ ≲ ≳ ≴ ≵", "≰ ≱ ≲ ≳ ≴ ≵"), # Математические символы 21 - ("≶ ≷ ≸ ≹ ≺ ≻", "≶ ≷ ≸ ≹ ≺ ≻"), # Математические символы 22 - ("≼ ≽ ≾ ≿ ⊀ ⊁", "≼ ≽ ≾ ≿ ⊀ ⊁"), # Математические символы 23 - ("⊂ ⊃ ⊄ ⊅ ⊆ ⊇", "⊂ ⊃ ⊄ ⊅ ⊆ ⊇"), # Математические символы 24 - ("⊈ ⊉ ⊊ ⊋ ⊍", "⊈ ⊉ ⊊ ⊋ ⊍"), # Математические символы 25 - ("⊎ ⊏ ⊐ ⊑ ⊒", "⊎ ⊏ ⊐ ⊑ ⊒"), # Математические символы 26 - ("⊓ ⊔ ⊕ ⊖ ⊗", "⊓ ⊔ ⊕ ⊖ ⊗"), # Математические символы 27 - ("⊘ ⊙ ⊚ ⊛ ⊝ ⊞", "⊘ ⊙ ⊚ ⊛ ⊝ ⊞"), # Математические символы 28 - ("⊟ ⊠ ⊡ ⊢ ⊣ ⊤", "⊟ ⊠ ⊡ ⊢ ⊣ ⊤"), # Математические символы 29 - ("⊥ ⊧ ⊨ ⊩ ⊪", "⊥ ⊧ ⊨ ⊩ ⊪"), # Математические символы 30 - ("⊫ ⊬ ⊭ ⊮ ⊯", "⊫ ⊬ ⊭ ⊮ ⊯"), # Математические символы 31 - ("⊰ ⊲ ⊳ ⊴ ⊵", "⊰ ⊲ ⊳ ⊴ ⊵"), # Математические символы 32 - ("⊶ ⊷ ⊸ ⊹ ⊺", "⊶ ⊷ ⊸ ⊹ ⊺"), # Математические символы 33 - ("⊻ ⊽ ⊾ ⊿ ⋀", "⊻ ⊽ ⊾ ⊿ ⋀"), # Математические символы 34 - ("⋁ ⋂ ⋃ ⋄ ⋅ ⋆", "⋁ ⋂ ⋃ ⋄ ⋅ ⋆"), # Математические символы 35 - ("⋇ ⋈ ⋉ ⋊ ⋋", "⋇ ⋈ ⋉ ⋊ ⋋"), # Математические символы 36 - ("⋌ ⋍ ⋎ ⋏ ⋐ ⋑", "⋌ ⋍ ⋎ ⋏ ⋐ ⋑"), # Математические символы 37 - ("⋒ ⋓ ⋔ ⋕ ⋖ ⋗", "⋒ ⋓ ⋔ ⋕ ⋖ ⋗"), # Математические символы 38 - ("⋘ ⋙ ⋚ ⋛ ⋞ ⋟", "⋘ ⋙ ⋚ ⋛ ⋞ ⋟"), # Математические символы 39 - ("⋠ ⋡ ⋢ ⋣", "⋠ ⋡ ⋢ ⋣"), # Математические символы 40 - ("⪉ ⪊ ⋦ ⋧ ⋨", "⪉ ⪊ ⋦ ⋧ ⋨"), # Математические символы 41 - ("⋩ ⋪ ⋫ ⋬ ⋭", "⋩ ⋪ ⋫ ⋬ ⋭"), # Математические символы 42 - ("⋮ ⋯ ⋰ ⋱ ⋲", "⋮ ⋯ ⋰ ⋱ ⋲"), # Математические символы 43 - ("⋳ ⋴ ⋵ ⋶ ⋷", "⋳ ⋴ ⋵ ⋶ ⋷"), # Математические символы 44 - ("⋹ ⋺ ⋻ ⋼ ⋽", "⋹ ⋺ ⋻ ⋼ ⋽"), # Математические символы 45 + ("+ − × ÷ = ≠", "+ − × ÷ = ≠"), # Математические символы + ("± ¬ ° ¹ ² ³", "± ¬ ° ¹ ² ³"), + ("ƒ % ‰ ‱", "ƒ % ‰ ‱"), + ("∀ ∁ ∂ ∃ ∄", "∀ ∁ ∂ ∃ ∄"), + ("∅ ∇ ∈ ∉ ∋ ∌", "∅ ∇ ∈ ∉ ∋ ∌"), + ("∏ ∐ ∑ ∓ ∸", "∏ ∐ ∑ ∓ ∸"), + ("∔ ∖ ∗ ∘ √", "∔ ∖ ∗ ∘ √"), + ("∝ ∞ ∠ ∟ ∡ ∣", "∝ ∞ ∠ ∟ ∡ ∣"), + ("∢ ∤ '∥ ∦ ∧ ∨", "∢ ∤ '∥ ∦ ∧ ∨"), + ("∩ ∪ ∫ ∬ ∭ ∮", "∩ ∪ ∫ ∬ ∭ ∮"), + ("∯ ∰ ∱ ∲", "∯ ∰ ∱ ∲"), + ("∳ ∴ ∵ ∶ ∷", "∳ ∴ ∵ ∶ ∷"), + ("∺ ∻ ∼ ∽ ∾ ∿", "∺ ∻ ∼ ∽ ∾ ∿"), + ("≀ ≁ ≂ ≃ ≄ ≅", "≀ ≁ ≂ ≃ ≄ ≅"), + ("≈ ≆ ≇ ≉ ≊ ≋", "≈ ≆ ≇ ≉ ≊ ≋"), + ("≌ ≍ ≎ ≏ ≐ ≑", "≌ ≍ ≎ ≏ ≐ ≑"), + ("≒ ≓ ≔ ≕ ≖ ≗", "≒ ≓ ≔ ≕ ≖ ≗"), + ("≙ ≚ ≜ ≟ ≡", "≙ ≚ ≜ ≟ ≡"), + ("≢ ≤ ≥ ≦ ≧ ≨ ≩", "≢ ≤ ≥ ≦ ≧ ≨ ≩"), + ("≪ ≫ ≬ ≭ ≮ ≯", "≪ ≫ ≬ ≭ ≮ ≯"), + ("≰ ≱ ≲ ≳ ≴ ≵", "≰ ≱ ≲ ≳ ≴ ≵"), + ("≶ ≷ ≸ ≹ ≺ ≻", "≶ ≷ ≸ ≹ ≺ ≻"), + ("≼ ≽ ≾ ≿ ⊀ ⊁", "≼ ≽ ≾ ≿ ⊀ ⊁"), + ("⊂ ⊃ ⊄ ⊅ ⊆ ⊇", "⊂ ⊃ ⊄ ⊅ ⊆ ⊇"), + ("⊈ ⊉ ⊊ ⊋ ⊍", "⊈ ⊉ ⊊ ⊋ ⊍"), + ("⊎ ⊏ ⊐ ⊑ ⊒", "⊎ ⊏ ⊐ ⊑ ⊒"), + ("⊓ ⊔ ⊕ ⊖ ⊗", "⊓ ⊔ ⊕ ⊖ ⊗"), + ("⊘ ⊙ ⊚ ⊛ ⊝ ⊞", "⊘ ⊙ ⊚ ⊛ ⊝ ⊞"), + ("⊟ ⊠ ⊡ ⊢ ⊣ ⊤", "⊟ ⊠ ⊡ ⊢ ⊣ ⊤"), + ("⊥ ⊧ ⊨ ⊩ ⊪", "⊥ ⊧ ⊨ ⊩ ⊪"), + ("⊫ ⊬ ⊭ ⊮ ⊯", "⊫ ⊬ ⊭ ⊮ ⊯"), + ("⊰ ⊲ ⊳ ⊴ ⊵", "⊰ ⊲ ⊳ ⊴ ⊵"), + ("⊶ ⊷ ⊸ ⊹ ⊺", "⊶ ⊷ ⊸ ⊹ ⊺"), + ("⊻ ⊽ ⊾ ⊿ ⋀", "⊻ ⊽ ⊾ ⊿ ⋀"), + ("⋁ ⋂ ⋃ ⋄ ⋅ ⋆", "⋁ ⋂ ⋃ ⋄ ⋅ ⋆"), + ("⋇ ⋈ ⋉ ⋊ ⋋", "⋇ ⋈ ⋉ ⋊ ⋋"), + ("⋌ ⋍ ⋎ ⋏ ⋐ ⋑", "⋌ ⋍ ⋎ ⋏ ⋐ ⋑"), + ("⋒ ⋓ ⋔ ⋕ ⋖ ⋗", "⋒ ⋓ ⋔ ⋕ ⋖ ⋗"), + ("⋘ ⋙ ⋚ ⋛ ⋞ ⋟", "⋘ ⋙ ⋚ ⋛ ⋞ ⋟"), + ("⋠ ⋡ ⋢ ⋣", "⋠ ⋡ ⋢ ⋣"), + ("⪉ ⪊ ⋦ ⋧ ⋨", "⪉ ⪊ ⋦ ⋧ ⋨"), + ("⋩ ⋪ ⋫ ⋬ ⋭", "⋩ ⋪ ⋫ ⋬ ⋭"), + ("⋮ ⋯ ⋰ ⋱ ⋲", "⋮ ⋯ ⋰ ⋱ ⋲"), + ("⋳ ⋴ ⋵ ⋶ ⋷", "⋳ ⋴ ⋵ ⋶ ⋷"), + ("⋹ ⋺ ⋻ ⋼ ⋽", "⋹ ⋺ ⋻ ⋼ ⋽"), ("⋾ ⌅ ⌆ ⌈ ⌈", "⋾ ⌅ ⌆ ⌈ ⌈"), ("⌉ ⌊ ⌋ ⟨ ⟩", "⌉ ⌊ ⌋ ⟨ ⟩"), + ("© ® ™ ℗ @", "© ® ™ ℗ @"), # Другие символы + ("ℂ ℅ ℊ ℋ ℌ ℍ", "ℂ ℅ ℊ ℋ ℌ ℍ"), + ("ℎ ℏ ℐ ℑ ℒ ℓ", "ℎ ℏ ℐ ℑ ℒ ℓ"), + ("ℕ № ℘ ℙ ℚ ℛ", "ℕ № ℘ ℙ ℚ ℛ"), + ("ℝ ℞ ℤ ℧ ℨ ℩", "ℝ ℞ ℤ ℧ ℨ ℩"), + ("ℬ ℭ ℯ ℰ ℱ ℳ", "ℬ ℭ ℯ ℰ ℱ ℳ"), + ("ℴ ℵ ℶ ℷ ℸ", "ℴ ℵ ℶ ℷ ℸ"), + ("ⅅ ⅆ ⅇ ⅈ ffi ff", "ⅅ ⅆ ⅇ ⅈ ffi ff"), + ("fi fl ★ ☆ ☎", "fi fl ★ ☆ ☎"), + ("♀ ♂ ♠ ♣ ♥ ♦", "♀ ♂ ♠ ♣ ♥ ♦"), + ("◊ ♪ ♭ ♮ ♯ ✓", "◊ ♪ ♭ ♮ ♯ ✓"), + ("✗ ✠ ✶ ❘", "✗ ✠ ✶ ❘"), + ("❲ ❳", "❲ ❳"), + ("", ""), ("", ""), ("", ""), - ("© ® ™", "\u00A9 \u00AE \u2122"), # Символы авторского права, зарегистрированной торговой марки и товарного знака + + ] @pytest.mark.parametrize("input_string, expected_output", STRINGS_FOR_DECODE) @@ -81,4 +96,4 @@ def test_html_mnemo_to_utf(input_string, expected_output): # Act (действие) - тестируем actual_output = codec.decode_to_unicode(input_string) # Assert (проверка) - assert actual_output == expected_output \ No newline at end of file + assert actual_output == expected_output