Files
espeak-ng/tests/translate.test
T
Reece H. Dunn eaa08a2bc3 translate: Don't crash translating root words that map to another list entry.
If the list file contains a text replacement to another
entry in the list file, e.g.:

	ripost     riposte $text
	riposte    rI#p0st

calling it from a prefix or suffix rule such as 'riposted'
causes word_out[0] to be NULL, as TranslateWord3 has the
information needed to perform the mapping. In this case,
no phonemes have been written in this loop and the phonemes
have been calculated, so don't override them.
2018-03-11 17:58:15 +00:00

41 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
test_phonemes() {
TEST_LANG=$1
EXPECTED=$2
TEST_TEXT=$3
echo "testing ${TEST_LANG} \"${TEST_TEXT}\""
ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
src/espeak-ng -xq -v ${TEST_LANG} "${TEST_TEXT}" > actual.txt
echo "${EXPECTED}" > expected.txt
diff expected.txt actual.txt || exit 1
}
# word lookup
test_phonemes en " h@l'oU" "hello"
# correct word stress
test_phonemes en " s'VmTIN Imp'o@t@nt" "something important"
# bug: https://github.com/nvaccess/nvda/issues/7805
test_phonemes hi " r'UcI" "रुचि"
test_phonemes hi " dUk'a:n" "दुकान"
test_phonemes hi " ka:n'u:n" "कानून"
#----- Emoji [http://www.unicode.org/reports/tr51/tr51-12.html] -----
# ED-3 - emoji_character
# TODO: Fix adjacent emoji without whitespace so the pronunciation is separated by a space.
test_phonemes en " 'e@ri:z" "♈"
test_phonemes en " 'e@ri:zr'eInboU" "♈🌈"
test_phonemes en " 'e@ri:z r'eInboU" "♈ 🌈"
# multi-word
# TODO: Add support for multi-word emoji.
test_phonemes en " Ekskla#m'eIS@N kw'EstS@n m'A@k" "⁉"
test_phonemes en " Ekskla#m'eIS@N kw'EstS@n m'A@k r'eInboU" "⁉ 🌈"
# A list entry that uses '$text' to map to another list entry crashes 1.49.2 multi-word support:
test_phonemes en " d'eIbju:tI2d" "débuted"
test_phonemes en-US " d'eIbju:t#I#d" "débuted"