#!/usr/bin/env python3 from TTS.tts.utils.text.cleaners import ( english_cleaners, multilingual_phoneme_cleaners, normalize_unicode, phoneme_cleaners, ) def test_time() -> None: assert english_cleaners("It's 11:00") == "it's eleven a m" assert english_cleaners("It's 9:01") == "it's nine oh one a m" assert english_cleaners("It's 16:00") == "it's four p m" assert english_cleaners("It's 00:00 am") == "it's twelve a m" def test_currency() -> None: assert phoneme_cleaners("It's $10.50") == "It's ten dollars fifty cents" assert phoneme_cleaners("£1.1") == "one pound sterling one penny" assert phoneme_cleaners("¥1") == "one yen" def test_expand_numbers() -> None: assert phoneme_cleaners("-1") == "minus one" assert phoneme_cleaners("1") == "one" def test_multilingual_phoneme_cleaners() -> None: assert multilingual_phoneme_cleaners("(Hello)") == "Hello" assert multilingual_phoneme_cleaners("1:") == "1," def test_normalize_unicode() -> None: test_cases = [ ("Häagen-Dazs", "Häagen-Dazs"), ("你好!", "你好!"), ("𝔄𝔅ℭ⓵⓶⓷︷,︸,i⁹,i₉,㌀,¼", "𝔄𝔅ℭ⓵⓶⓷︷,︸,i⁹,i₉,㌀,¼"), ("é", "é"), ("e\u0301", "é"), ("a\u0300", "à"), ("a\u0327", "a̧"), ("na\u0303", "nã"), ("o\u0302u", "ôu"), ("n\u0303", "ñ"), ("\u4E2D\u56FD", "中国"), ("niño", "niño"), ("a\u0308", "ä"), ("\u3053\u3093\u306b\u3061\u306f", "こんにちは"), ("\u03B1\u03B2", "αβ"), ] for arg, expect in test_cases: assert normalize_unicode(arg) == expect