diff options
Diffstat (limited to 'src/test/locale/koi8-to-win1251')
11 files changed, 301 insertions, 0 deletions
diff --git a/src/test/locale/koi8-to-win1251/Makefile b/src/test/locale/koi8-to-win1251/Makefile new file mode 100644 index 0000000..28a72b7 --- /dev/null +++ b/src/test/locale/koi8-to-win1251/Makefile @@ -0,0 +1,7 @@ +all: + +test: + ./runall + +clean: + rm -f *.out diff --git a/src/test/locale/koi8-to-win1251/README b/src/test/locale/koi8-to-win1251/README new file mode 100644 index 0000000..0737803 --- /dev/null +++ b/src/test/locale/koi8-to-win1251/README @@ -0,0 +1,6 @@ +src/test/locale/koi8-to-win1251/README + +koi8-to-win1251 test. The database should be created in koi8 (createdb -E koi8), +test uses koi8-to-win1251 converting feature. +Created by Oleg Broytmann <phd2@earthling.net>. Code for encodings +converting created by Tatsuo Ishii <t-ishii@sra.co.jp>. diff --git a/src/test/locale/koi8-to-win1251/expected/test-koi8-char.sql.out b/src/test/locale/koi8-to-win1251/expected/test-koi8-char.sql.out new file mode 100644 index 0000000..52d8b33 --- /dev/null +++ b/src/test/locale/koi8-to-win1251/expected/test-koi8-char.sql.out @@ -0,0 +1,54 @@ + abbrev | name_en | name_ru +--------+----------------------+-------------------------------------------------------------- + ID | Idaho | Айдахо + IA | Iowa | Айова + AL | Alabama | Алабама + AK | Alaska | Аляска + AZ | Arizona | Аризона + AR | Arkansas | Арканзас + WY | Wyoming | Вайоминг + WA | Washington | Вашингтон + VT | Vermont | Вермонт + VA | Virginia | Вирджиния + WI | Wisconsin | Висконсин + DE | Delaware | Делавэр + GA | Georgia | Джорджия + WV | West Virginia | Западная Вирджиния + IL | Illinois | Иллинойс + IN | Indiana | Индиана + CA | California | Калифорния + KA | Kansas | Канзас + KY | Kentucky | Кентукки + CO | Colorado | Колорадо + CT | Connecticut | Коннектикут + LA | Louisiana | Луизиана + MA | Massachusetts | Массачусетс + MN | Minnesota | Миннесота + MS | Mississippi | Миссисипи + MO | Missouri | Миссури + MI | Michigan | Мичиган + MT | Montana | Монтана + ME | Maine | Мэн + MD | Maryland | Мэриленд + NE | Nebraska | Небраска + NV | Nevada | Невада + NH | New Hampshire | Нью-Гэмпшир + NJ | New Jersey | Нью-Джерси + NY | New York | Нью-Йорк + NM | New Mexico | Нью-Мексико + OH | Ohio | Огайо + OK | Oklahoma | Оклахома + DC | Washington DC | округ Колумбия (создан специально под столицу) + OR | Oregon | Орегон + PA | Pennsylvania | Пенсильвания + RI | Rhode Island | Род-Айленд + ND | North Dakota | Северная Дакота + NC | North Carolina | Северная Каролина + TN | Tennessee | Теннесси + TX | Texas | Техас + FL | Florida | Флорида + SD | South Dakota | Южная Дакота + SC | South Carolina | Южная Каролина + UT | Utah | Юта +(50 rows) + diff --git a/src/test/locale/koi8-to-win1251/expected/test-koi8-select.sql.out b/src/test/locale/koi8-to-win1251/expected/test-koi8-select.sql.out new file mode 100644 index 0000000..0feffa2 --- /dev/null +++ b/src/test/locale/koi8-to-win1251/expected/test-koi8-select.sql.out @@ -0,0 +1,8 @@ + abbrev | name_en | name_ru +--------+----------------------+------------------------------------------------ + OH | Ohio | Огайо + OK | Oklahoma | Оклахома + DC | Washington DC | округ Колумбия (создан специально под столицу) + OR | Oregon | Орегон +(4 rows) + diff --git a/src/test/locale/koi8-to-win1251/expected/test-koi8-sort.out b/src/test/locale/koi8-to-win1251/expected/test-koi8-sort.out new file mode 100644 index 0000000..72242cc --- /dev/null +++ b/src/test/locale/koi8-to-win1251/expected/test-koi8-sort.out @@ -0,0 +1,9 @@ +Bording +hoarding +Vesta +vesta +Цапля +Юг +альянс +Африка +Север diff --git a/src/test/locale/koi8-to-win1251/expected/test-koi8-text.sql.out b/src/test/locale/koi8-to-win1251/expected/test-koi8-text.sql.out new file mode 100644 index 0000000..eccc1cb --- /dev/null +++ b/src/test/locale/koi8-to-win1251/expected/test-koi8-text.sql.out @@ -0,0 +1,54 @@ + abbrev | name_en | name_ru +--------+----------------------+------------------------------------------------ + ID | Idaho | Айдахо + IA | Iowa | Айова + AL | Alabama | Алабама + AK | Alaska | Аляска + AZ | Arizona | Аризона + AR | Arkansas | Арканзас + WY | Wyoming | Вайоминг + WA | Washington | Вашингтон + VT | Vermont | Вермонт + VA | Virginia | Вирджиния + WI | Wisconsin | Висконсин + DE | Delaware | Делавэр + GA | Georgia | Джорджия + WV | West Virginia | Западная Вирджиния + IL | Illinois | Иллинойс + IN | Indiana | Индиана + CA | California | Калифорния + KA | Kansas | Канзас + KY | Kentucky | Кентукки + CO | Colorado | Колорадо + CT | Connecticut | Коннектикут + LA | Louisiana | Луизиана + MA | Massachusetts | Массачусетс + MN | Minnesota | Миннесота + MS | Mississippi | Миссисипи + MO | Missouri | Миссури + MI | Michigan | Мичиган + MT | Montana | Монтана + ME | Maine | Мэн + MD | Maryland | Мэриленд + NE | Nebraska | Небраска + NV | Nevada | Невада + NH | New Hampshire | Нью-Гэмпшир + NJ | New Jersey | Нью-Джерси + NY | New York | Нью-Йорк + NM | New Mexico | Нью-Мексико + OH | Ohio | Огайо + OK | Oklahoma | Оклахома + DC | Washington DC | округ Колумбия (создан специально под столицу) + OR | Oregon | Орегон + PA | Pennsylvania | Пенсильвания + RI | Rhode Island | Род-Айленд + ND | North Dakota | Северная Дакота + NC | North Carolina | Северная Каролина + TN | Tennessee | Теннесси + TX | Texas | Техас + FL | Florida | Флорида + SD | South Dakota | Южная Дакота + SC | South Carolina | Южная Каролина + UT | Utah | Юта +(50 rows) + diff --git a/src/test/locale/koi8-to-win1251/expected/test-koi8-varchar.sql.out b/src/test/locale/koi8-to-win1251/expected/test-koi8-varchar.sql.out new file mode 100644 index 0000000..eccc1cb --- /dev/null +++ b/src/test/locale/koi8-to-win1251/expected/test-koi8-varchar.sql.out @@ -0,0 +1,54 @@ + abbrev | name_en | name_ru +--------+----------------------+------------------------------------------------ + ID | Idaho | Айдахо + IA | Iowa | Айова + AL | Alabama | Алабама + AK | Alaska | Аляска + AZ | Arizona | Аризона + AR | Arkansas | Арканзас + WY | Wyoming | Вайоминг + WA | Washington | Вашингтон + VT | Vermont | Вермонт + VA | Virginia | Вирджиния + WI | Wisconsin | Висконсин + DE | Delaware | Делавэр + GA | Georgia | Джорджия + WV | West Virginia | Западная Вирджиния + IL | Illinois | Иллинойс + IN | Indiana | Индиана + CA | California | Калифорния + KA | Kansas | Канзас + KY | Kentucky | Кентукки + CO | Colorado | Колорадо + CT | Connecticut | Коннектикут + LA | Louisiana | Луизиана + MA | Massachusetts | Массачусетс + MN | Minnesota | Миннесота + MS | Mississippi | Миссисипи + MO | Missouri | Миссури + MI | Michigan | Мичиган + MT | Montana | Монтана + ME | Maine | Мэн + MD | Maryland | Мэриленд + NE | Nebraska | Небраска + NV | Nevada | Невада + NH | New Hampshire | Нью-Гэмпшир + NJ | New Jersey | Нью-Джерси + NY | New York | Нью-Йорк + NM | New Mexico | Нью-Мексико + OH | Ohio | Огайо + OK | Oklahoma | Оклахома + DC | Washington DC | округ Колумбия (создан специально под столицу) + OR | Oregon | Орегон + PA | Pennsylvania | Пенсильвания + RI | Rhode Island | Род-Айленд + ND | North Dakota | Северная Дакота + NC | North Carolina | Северная Каролина + TN | Tennessee | Теннесси + TX | Texas | Техас + FL | Florida | Флорида + SD | South Dakota | Южная Дакота + SC | South Carolina | Южная Каролина + UT | Utah | Юта +(50 rows) + diff --git a/src/test/locale/koi8-to-win1251/runall b/src/test/locale/koi8-to-win1251/runall new file mode 100755 index 0000000..89306a8 --- /dev/null +++ b/src/test/locale/koi8-to-win1251/runall @@ -0,0 +1,46 @@ +#! /bin/sh + +PATH=..:$PATH + +echo "Testing PostgreSQL compilation..." + +LC_CTYPE=ru_RU.KOI8-R +LC_COLLATE=$LC_CTYPE +export LC_CTYPE LC_COLLATE + +PGCLIENTENCODING=win +export PGCLIENTENCODING + +echo "Testing LC_COLLATE..." +perl ../sort-test.pl test-koi8-sort.in > test-koi8-sort.out +diff expected/test-koi8-sort.out test-koi8-sort.out + +### If you have Python - uncomment the following two lines +#python ../sort-test.py test-koi8-sort.in > test-koi8-sort.out +#diff expected/test-koi8-sort.out test-koi8-sort.out + + +abort() { + [ "$1" ] && echo "$*" + exit 1 +} + +for f in char varchar text; do + if echo $f | grep -q char; then + ftype="$f(60)" + else + ftype="$f" + fi + echo "Testing PgSQL: sort on $ftype type..." + + dropdb testlocale >/dev/null 2>&1 + createdb testlocale || abort "createdb failed" + psql -X -d testlocale -c "CREATE TABLE usastates (abbrev char(2), name_en char(20), name_ru $ftype);" >/dev/null 2>&1 || abort "createtable failed" + psql -X testlocale < test-koi8.sql.in > test-koi8-$f.sql.out 2>/dev/null || abort "test query failed" + diff expected/test-koi8-$f.sql.out test-koi8-$f.sql.out +done +echo "Testing PgSQL: select on regexp..." +psql -X testlocale < test-koi8-select.sql.in > test-koi8-select.sql.out 2>/dev/null || abort "select query failed" +diff expected/test-koi8-select.sql.out test-koi8-select.sql.out +dropdb testlocale || abort "dropdb failed" +echo "Finished." diff --git a/src/test/locale/koi8-to-win1251/test-koi8-select.sql.in b/src/test/locale/koi8-to-win1251/test-koi8-select.sql.in new file mode 100644 index 0000000..22658c8 --- /dev/null +++ b/src/test/locale/koi8-to-win1251/test-koi8-select.sql.in @@ -0,0 +1 @@ +SELECT * FROM usastates WHERE name_ru ~* '^о.*' ORDER BY name_ru; diff --git a/src/test/locale/koi8-to-win1251/test-koi8-sort.in b/src/test/locale/koi8-to-win1251/test-koi8-sort.in new file mode 100644 index 0000000..3ce0d46 --- /dev/null +++ b/src/test/locale/koi8-to-win1251/test-koi8-sort.in @@ -0,0 +1,9 @@ +Vesta +vesta +Юг +альянс +Африка +Север +Цапля +Bording +hoarding diff --git a/src/test/locale/koi8-to-win1251/test-koi8.sql.in b/src/test/locale/koi8-to-win1251/test-koi8.sql.in new file mode 100644 index 0000000..244e495 --- /dev/null +++ b/src/test/locale/koi8-to-win1251/test-koi8.sql.in @@ -0,0 +1,53 @@ +COPY usastates FROM stdin WITH DELIMITER '|'; +AK|Alaska |Аляска +WA|Washington |Вашингтон +OR|Oregon |Орегон +CA|California |Калифорния +NV|Nevada |Невада +ID|Idaho |Айдахо +UT|Utah |Юта +AZ|Arizona |Аризона +MT|Montana |Монтана +WY|Wyoming |Вайоминг +CO|Colorado |Колорадо +NM|New Mexico |Нью-Мексико +ND|North Dakota |Северная Дакота +SD|South Dakota |Южная Дакота +NE|Nebraska |Небраска +KA|Kansas |Канзас +OK|Oklahoma |Оклахома +TX|Texas |Техас +MN|Minnesota |Миннесота +IA|Iowa |Айова +MO|Missouri |Миссури +AR|Arkansas |Арканзас +LA|Louisiana |Луизиана +WI|Wisconsin |Висконсин +IL|Illinois |Иллинойс +IN|Indiana |Индиана +MS|Mississippi |Миссисипи +AL|Alabama |Алабама +MI|Michigan |Мичиган +OH|Ohio |Огайо +KY|Kentucky |Кентукки +TN|Tennessee |Теннесси +GA|Georgia |Джорджия +FL|Florida |Флорида +PA|Pennsylvania |Пенсильвания +WV|West Virginia |Западная Вирджиния +VA|Virginia |Вирджиния +NC|North Carolina|Северная Каролина +SC|South Carolina|Южная Каролина +NY|New York |Нью-Йорк +NJ|New Jersey |Нью-Джерси +DE|Delaware |Делавэр +MD|Maryland |Мэриленд +DC|Washington DC |округ Колумбия (создан специально под столицу) +VT|Vermont |Вермонт +MA|Massachusetts |Массачусетс +CT|Connecticut |Коннектикут +ME|Maine |Мэн +NH|New Hampshire |Нью-Гэмпшир +RI|Rhode Island |Род-Айленд +\. +SELECT * FROM usastates ORDER BY name_ru; |