|
|
@@ -0,0 +1,57 @@ |
|
|
|
#!/bin/sh |
|
|
|
|
|
|
|
test_dict() { |
|
|
|
TEST_LANG=$1 |
|
|
|
MESSAGE=$2 |
|
|
|
EXPECTED=$3 |
|
|
|
TEST_TEXT=$4 |
|
|
|
TEST_BROKEN=${5:-false} |
|
|
|
|
|
|
|
if [ "x$MESSAGE" = x- ] ; then |
|
|
|
echo "testing ${TEST_LANG}" |
|
|
|
else |
|
|
|
echo "testing ${TEST_LANG} ($MESSAGE)" |
|
|
|
fi |
|
|
|
ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \ |
|
|
|
src/espeak-ng ${OPTIONS} -xq -v ${TEST_LANG} "${TEST_TEXT}" > actual.txt |
|
|
|
echo "${EXPECTED}" > expected.txt |
|
|
|
if [ x$TEST_BROKEN = xbroken ] ; then |
|
|
|
diff expected.txt actual.txt || (echo "... ignoring error (broken)" && true) |
|
|
|
else |
|
|
|
diff expected.txt actual.txt || exit 1 |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
##### Dictionary flags |
|
|
|
# missing tests: only, only, stem, alt1..alt7, dot, hasdot, text, verbsf, accent_before, sentence, native |
|
|
|
|
|
|
|
test_dict en "\$1 - \$7" "'adbl0k adv'3:s ,abs@nt'i: g,astroUInt'EstIn@L" "adblock adverse absentee gastrointestinal" |
|
|
|
test_dict en "\$u and \$u+" "fO@ ju:_:_: and Di:; aI k@mp'e@ D'i:" "for you and thee I compare thee" |
|
|
|
test_dict en "\$u1 and \$u1+" "aI w,oUnta#v_:_: b,Vt ju: S,Ud@v_:_: and DeI S'Udhav" "I won't have but you should have and they should have" |
|
|
|
test_dict en "\$u2 and \$u2+" "@p,0n DIs aIvh,ad w0t aIvh'ad" "Upon this I've had what I've had" |
|
|
|
test_dict ro "\$u3 and \$u3+" ",anum,ite d,umneat,a d'umneat,a" "anumite dumneata dumneata" |
|
|
|
test_dict en "\$pause" "ju: n'oU It_:_: bIk'0z DIs ha#z_:_: s'Ins b,i:n" "you know it because this has since been" |
|
|
|
test_dict en "\$brk" "_!wID,In_! wID,In_! wID,In wID'In" "within within within within" |
|
|
|
test_dict de "\$strend" "maR'i:A: l'i:st t'o:mA:s de:n ts'aIt_|,Ungzart,i:k@l f'Or" "Maria liest Thomas den Zeitungsartikel vor" |
|
|
|
test_dict de "\$strend2" "j'Etst _|,EtvA:" "jetzt etwa" |
|
|
|
test_dict hu "\$unstressend" "m'EgfiJEle:Se:hEz" "megfigyeléséhez" |
|
|
|
test_dict en "\$abbrev" ",Em,oUt,i:d'i:; 0vDI2; ,aI;,A@s'i:; ,Em,Em'oU,A@p,i:dZ'i:" "motd of the irc mmorpg" |
|
|
|
test_dict fi "\$double" "t'ule t:'&nne_:_: ja s'yYr r'uoka:" "tule tänne ja syö ruokaa" |
|
|
|
test_dict en "\$max3" "'ast@r,Iska#st@r,Iska#st@r,Isk" "*****" |
|
|
|
test_dict sk "\$combine" "n'aobed b'esjedla" "na obed bez jedla" |
|
|
|
test_dict en "\$verb and \$verbf \(not $verbsf\)" "O:lt'3:n@t s'u:n 'O:lt3n,eIt_:_: and '0lt3n,eIts s'u:n 'O:lt3n,eIts" "alternate soon alternate and alternates soon alternates" |
|
|
|
test_dict en "\$noun and \$nounf" "It Iz n,0t@ d'aIdZEst t@ daIdZ'Est" "it is not a digest to digest" |
|
|
|
test_dict en "\$verbextend" "a# d'aIdZEst t@ n,0t 'adI2d 'Ekstr@ w'3:dz h'i@3 daIdZ'Est" "a digest to not added extra words here digest" |
|
|
|
test_dict en "\$pastf and \$past" "r'i:d t@bi r'Ed" "read to be read" |
|
|
|
test_dict en "\$capital" "D@ p'oUlIS p'0lIS" "The Polish polish" |
|
|
|
test_dict en "\$allcaps" ",aIt'i: h'az j,u:'Es v,i:;'Es It ha#z ,Vs" "IT HAS US vs it has us" |
|
|
|
test_dict af "\$accent" "d'e@lte@k@n_|'o@ k'api_|'o@ _|ak'yt_|'o@" "ö ô ó" |
|
|
|
test_dict it "\$atstart" "fig'uRatI v,U'Esse figUR'atI" "figurati vs figurati" |
|
|
|
test_dict it "\$atend" "s,Ents2a v,U'Esse s'Entsa" "senza vs senza" |
|
|
|
test_dict en ".replace" "m'eIlstr0m m'eIlstr0m" "mælstrom maelstrom" |
|
|
|
# rest of the numbers are tested in other test files |
|
|
|
test_dict en "_dpt" "z'i@roU pOInt n'aIn n'aIn" "0.99" |
|
|
|
test_dict ru "_dpt2" "ojd;'in _:'i_: n'ojl n'ojl_d;Is;'AtYx" "1,00" |
|
|
|
test_dict en "_0and" "t'u:h'VndrI2d@n tw'Enti" "220" |
|
|
|
test_dict af "_^_" "(fr)avinj'O~(en) b'0st@n(af) S'ina" "avignon boston china" |
|
|
|
test_dict en "(multiple words)" "s'VtS _a#z" "such as" |