aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMike FABIAN <mike.fabian@basyskom.de>2010-12-23 19:05:33 +0100
committerMike FABIAN <mike.fabian@basyskom.de>2010-12-23 19:20:38 +0100
commitb9b23a0033d1c65a34642a2da552efdf6ae3f0a5 (patch)
tree0f464c7acea427e312eaf368b240160a1fff6043 /tests
parent75c17140476a6d5c9a8e31a4877b81a576eec8ad (diff)
Changes: more tests for bucket sorting: ligatures, Russian, Korean
RevBy: John Tapsell Details: - there seems to be a problem with Russian, е Е ё Ё all sort into the Ё bucket, the Е always stays empty - add test for the last bucket hack for Korean
Diffstat (limited to 'tests')
-rw-r--r--tests/ft_locales/ft_locales.cpp252
1 files changed, 249 insertions, 3 deletions
diff --git a/tests/ft_locales/ft_locales.cpp b/tests/ft_locales/ft_locales.cpp
index b94d8933..bd5a0f7d 100644
--- a/tests/ft_locales/ft_locales.cpp
+++ b/tests/ft_locales/ft_locales.cpp
@@ -1024,20 +1024,52 @@ void Ft_Locales::testMLocaleIndexBucket_data()
QTest::addColumn<QStringList>("stringsSorted");
QTest::addColumn<QStringList>("expectedBuckets");
+ QTest::newRow("en_US")
+ <<"ja_JP"
+ <<"en_US"
+ <<(QStringList()
+ <<"ç"<<"Ç"<<"cote"<<"coté"<<"côte"<<"côté"
+ <<"f"<<"F"<<"ff"<<"ff"<<"Ff"<<"ffi"<<"ffi"<<"Ffi"<<"ffl"<<"fi"<<"fl"
+ <<"i"<<"I"<<"ï"<<"Ï"<<"İ"<<"ı"
+ <<"ö"<<"Ö"<<"öe"<<"Öe"<<"ÖE"
+ <<"s"<<"S"<<"ſ"<<"ß"<<"ẞ"
+ <<"test"<<"Test"
+ <<"z"<<"Z"<<"zx"<<"Zx"<<"ZX"
+ <<"沙紀"
+ )
+ <<(QStringList()
+ <<"C"<<"C"<<"C"<<"C"<<"C"<<"C"
+ <<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"
+ <<"I"<<"I"<<"I"<<"I"<<"I"<<"I"
+ <<"O"<<"O"<<"O" <<"O" <<"O"
+ <<"S"<<"S"<<"S"<<"S"<<"S"
+ <<"T"<<"T"
+ <<"Z"<<"Z"<<"Z"<<"Z"<<"Z"
+ <<"沙"
+ );
QTest::newRow("de_DE")
<<"ja_JP"
<<"de_DE"
<<(QStringList()
<<"ç"<<"Ç"<<"cote"<<"coté"<<"côte"<<"côté"
+ <<"f"<<"F"<<"ff"<<"ff"<<"Ff"<<"ffi"<<"ffi"<<"Ffi"<<"ffl"<<"fi"<<"fl"
+ <<"i"<<"I"<<"ï"<<"Ï"<<"İ"<<"ı"
<<"ö"<<"Ö"<<"öe"<<"Öe"<<"ÖE"
- <<"s"<<"S"<<"ß"<<"ẞ"<<"test"<<"Test"<<"z"<<"Z"<<"zx"<<"Zx"<<"ZX"<<"沙紀")
+ <<"s"<<"S"<<"ſ"<<"ß"<<"ẞ"
+ <<"test"<<"Test"
+ <<"z"<<"Z"<<"zx"<<"Zx"<<"ZX"
+ <<"沙紀"
+ )
<<(QStringList()
<<"C"<<"C"<<"C"<<"C"<<"C"<<"C"
+ <<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"
+ <<"I"<<"I"<<"I"<<"I"<<"I"<<"I"
<<"O"<<"O"<<"O" <<"O" <<"O"
- <<"S"<<"S"<<"S"<<"S"
+ <<"S"<<"S"<<"S"<<"S"<<"S"
<<"T"<<"T"
<<"Z"<<"Z"<<"Z"<<"Z"<<"Z"
- <<"沙");
+ <<"沙"
+ );
QTest::newRow("tr_TR")
<<"ja_JP"
<<"tr_TR"
@@ -1095,6 +1127,45 @@ void Ft_Locales::testMLocaleIndexBucket_data()
<<"Α"<<"Α"
<<"ワ"
<<"沙");
+ QTest::newRow("ru_RU")
+ <<"ja_JP"
+ <<"ru_RU"
+ <<(QStringList()
+ <<"c"<<"č"<<"č"
+ <<"Č"
+ <<"Cc"<<"CC"<<"ch"<<"cH"<<"Ch"<<"CH"
+ <<"h"<<"H"
+ <<"i"<<"I"
+ <<"ů"<<"Ů"
+ <<"α"<<"Α"
+ <<"дерево"<<"Дерево"
+ <<"еж"<<"Еж"<<"ёж"<<"Ёж"<<"ежи"<<"Ежи"<<"елка"<<"Елка"<<"ёлка"<<"Ёлка"<<"ель"<<"Ель"
+ <<"живот"<<"Живот"
+ <<"идти"<<"Идти"
+ <<"й"<<"Й"
+ <<"школа"<<"Школа"
+ <<"Ъ"
+ <<"Ы"<<"Ь"
+ <<"ワタシ"
+ <<"沙紀")
+ <<(QStringList()
+ <<"C"<<"C"<<"C"
+ <<"Č"
+ <<"C"<<"C"<<"C"<<"C"<<"C"<<"C"
+ <<"H"<<"H"
+ <<"I"<<"I"
+ <<"Ů"<<"Ů"
+ <<"Α"<<"Α"
+ <<"Д"<<"Д"
+ <<"Ё"<<"Ё"<<"Ё"<<"Ё"<<"Ё"<<"Ё"<<"Ё"<<"Ё"<<"Ё"<<"Ё"<<"Ё"<<"Ё"
+ <<"Ж"<<"Ж"
+ <<"И"<<"И"
+ <<"Й"<<"Й"
+ <<"Ш"<<"Ш"
+ <<"Щ"
+ <<"Ы"<<"Ы"
+ <<"ワ"
+ <<"沙");
QTest::newRow("ar_SA")
<<"ja_JP"
<<"ar_SA"
@@ -1239,6 +1310,7 @@ void Ft_Locales::testMLocaleIndexBucket_data()
<<"ㄎ"
<<"阿" // a1
<<"驰" // chi2
+ <<"馳" // chi2, traditional version
<<"峠" // quia3 Japanese kokuji, mountain pass, variant of 卡
<<"蘅" // heng2
<<"君" // jun1
@@ -1248,6 +1320,7 @@ void Ft_Locales::testMLocaleIndexBucket_data()
<<"宁" // ning2
<<"威" // wei1
<<"张" // zhang1
+ <<"張" // zhang1, traditional version
)
<<(QStringList()
<<"∮"<<"♨"
@@ -1257,6 +1330,7 @@ void Ft_Locales::testMLocaleIndexBucket_data()
<<"ㄎ"
<<"阿" // a1
<<"驰" // chi2
+ <<"馳" // chi2, traditional version
<<"峠" // qia3 Japanese kokuji, mountain pass, variant of 卡
<<"蘅" // heng2
<<"君" // jun1
@@ -1266,6 +1340,178 @@ void Ft_Locales::testMLocaleIndexBucket_data()
<<"宁" // ning2
<<"威" // wei1
<<"张" // zhang1
+ <<"張" // zhang1, traditional version
+ );
+ QTest::newRow("ko_KR@collation=standard")
+ <<"ja_JP"
+ <<"ko_KR@collation=standard"
+ <<(QStringList()
+ <<"∮"<<"♨"
+ <<"A"
+ <<"A"
+ <<"f"<<"F"<<"ff"<<"ff"<<"Ff"<<"ffi"<<"ffi"<<"Ffi"<<"ffl"<<"fi"<<"fl"
+ <<"john"
+ <<"john"
+ <<"John"
+ <<"John"
+ <<"saki"
+ <<"saki"
+ <<"Saki"
+ <<"Saki"
+ <<"α"<<"Α"
+ <<"дерево"<<"Дерево"
+ <<"א"
+ <<"ת"
+ <<"ا"
+ <<"ي"
+ <<"अ"
+ <<"ह"
+ <<"ཀ"
+ <<"ཧ"
+
+ <<"ᄀ" // U+1100 HANGUL CHOSEONG KIYEOK
+ <<"교" // U+AD50 HANGUL SYLLABLE GYO
+ <<"校" // Korean Pronunciation: KYO HYO
+ <<"君" // Korean Pronunciation: KWUN
+
+ <<"ᄂ" // U+1102 HANGUL CHOSEONG NIEUN
+
+ <<"ᄃ" // U+1103 HANGUL CHOSEONG TIKEUT
+ <<"대"
+ <<"大"
+
+ <<"ᄅ" // U+1105 HANGUL CHOSEONG RIEUL
+ <<"柳" // Korean Pronunciation: LYU
+ <<"李" // Korean Pronunciation: LI
+
+ <<"ᄆ" // U+1106 HANGUL CHOSEONG MIEUM
+
+ <<"ᄇ" // U+1107 HANGUL CHOSEONG PIEUP
+ <<"부"
+ <<"釜"
+
+ <<"ᄉ" // U+1109 HANGUL CHOSEONG SIOS
+ <<"산" // U+C0B0 HANGUL SYLLABLE SAN
+ <<"山" // Korean Pronunciation: SAN
+ <<"峠" // Korean Pronunciation: SANG
+ <<"식" // U+C2DD HANGUL SYLLABLE SIG
+ <<"신" // U+C2E0 HANGUL SYLLABLE SIN
+
+ <<"ᄋ" // U+110B HANGUL CHOSEONG IEUNG
+ <<"阿" // Korean Pronunciation: A OK
+ <<"威" // Korean Pronunciation: WI
+
+ <<"ᄌ" // U+110C HANGUL CHOSEONG CIEUC
+ <<"卡" // Korean Pronunciation: CAP
+ <<"張" // Korean Pronunciation: CANG
+ <<"宁" // Korean Pronunciation: CE
+ <<"정" // U+C815 HANGUL SYLLABLE JEONG
+
+ <<"ᄎ" // U+110E HANGUL CHOSEONG CHIEUCH
+ <<"馳" // Korean Pronunciation: CHI
+
+ <<"ᄏ" // U+110F HANGUL CHOSEONG KHIEUKH
+
+ <<"ᄐ" // U+1110 HANGUL CHOSEONG THIEUTH
+
+ <<"ᄑ" // U+1111 HANGUL CHOSEONG PHIEUPH
+
+ <<"ᄒ" // U+1112 HANGUL CHOSEONG HIEUH
+ <<"학" // U+D559 HANGUL SYLLABLE HAG
+ <<"學" // Korean Pronunciation: HAK
+
+ <<"あ"
+ <<"ㄅ"
+ <<"ㄎ"
+ <<"ꀀ"
+ <<"ꆶ"
+ <<"张" // No Korean Pronunciation
+ <<"蘅" // No Korean Pronunciation
+ <<"驰" // No Korean Pronunciation
+ )
+ <<(QStringList()
+ <<"∮"<<"♨"
+ <<"A"
+ <<"A"
+ <<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"<<"F"
+ <<"J"
+ <<"J"
+ <<"J"
+ <<"J"
+ <<"S"
+ <<"S"
+ <<"S"
+ <<"S"
+ <<"Α"<<"Α"
+ <<"Д"<<"Д"
+ <<"א"
+ <<"ת"
+ <<"ا"
+ <<"ي"
+ <<"अ"
+ <<"ह"
+ <<"ཀ"
+ <<"ཧ"
+
+ <<"ᄀ" // U+1100 HANGUL CHOSEONG KIYEOK
+ <<"ᄀ" // U+1100 HANGUL CHOSEONG KIYEOK
+ <<"ᄀ" // U+1100 HANGUL CHOSEONG KIYEOK
+ <<"ᄀ" // U+1100 HANGUL CHOSEONG KIYEOK
+
+ <<"ᄂ" // U+1102 HANGUL CHOSEONG NIEUN
+
+ <<"ᄃ" // U+1103 HANGUL CHOSEONG TIKEUT
+ <<"ᄃ" // U+1103 HANGUL CHOSEONG TIKEUT
+ <<"ᄃ" // U+1103 HANGUL CHOSEONG TIKEUT
+
+ <<"ᄅ" // U+1105 HANGUL CHOSEONG RIEUL
+ <<"ᄅ" // U+1105 HANGUL CHOSEONG RIEUL
+ <<"ᄅ" // U+1105 HANGUL CHOSEONG RIEUL
+
+ <<"ᄆ" // U+1106 HANGUL CHOSEONG MIEUM
+
+ <<"ᄇ" // U+1107 HANGUL CHOSEONG PIEUP
+ <<"ᄇ" // U+1107 HANGUL CHOSEONG PIEUP
+ <<"ᄇ" // U+1107 HANGUL CHOSEONG PIEUP
+
+ <<"ᄉ" // U+1109 HANGUL CHOSEONG SIOS
+ <<"ᄉ" // U+1109 HANGUL CHOSEONG SIOS
+ <<"ᄉ" // U+1109 HANGUL CHOSEONG SIOS
+ <<"ᄉ" // U+1109 HANGUL CHOSEONG SIOS
+ <<"ᄉ" // U+1109 HANGUL CHOSEONG SIOS
+ <<"ᄉ" // U+1109 HANGUL CHOSEONG SIOS
+
+ <<"ᄋ" // U+110B HANGUL CHOSEONG IEUNG
+ <<"ᄋ" // U+110B HANGUL CHOSEONG IEUNG
+ <<"ᄋ" // U+110B HANGUL CHOSEONG IEUNG
+
+ <<"ᄌ" // U+110C HANGUL CHOSEONG CIEUC
+ <<"ᄌ" // U+110C HANGUL CHOSEONG CIEUC
+ <<"ᄌ" // U+110C HANGUL CHOSEONG CIEUC
+ <<"ᄌ" // U+110C HANGUL CHOSEONG CIEUC
+ <<"ᄌ" // U+110C HANGUL CHOSEONG CIEUC
+
+ <<"ᄎ" // U+110E HANGUL CHOSEONG CHIEUCH
+ <<"ᄎ" // U+110E HANGUL CHOSEONG CHIEUCH
+
+ <<"ᄏ" // U+110F HANGUL CHOSEONG KHIEUKH
+
+ <<"ᄐ" // U+1110 HANGUL CHOSEONG THIEUTH
+
+ <<"ᄑ" // U+1111 HANGUL CHOSEONG PHIEUPH
+
+ <<"ᄒ" // U+1112 HANGUL CHOSEONG HIEUH
+ <<"ᄒ" // U+1112 HANGUL CHOSEONG HIEUH
+ <<"ᄒ" // U+1112 HANGUL CHOSEONG HIEUH
+
+ <<"あ"
+ <<"ㄅ"
+ <<"ㄎ"
+ <<"ꀀ"
+ <<"ꆶ"
+ <<"张"
+ <<"蘅"
+ <<"驰"
);
}