Modul:translit/ru/test

Definition från Wiktionary, den fria ordlistan.
Hoppa till navigering Hoppa till sök

All tests passed. (refresh)

Text Expected Actual
test01_isolated_uppercase_characters:
Passed mut.tr("А,Б,В,Г,Д") A,B,V,G,D A,B,V,G,D
Passed mut.tr("Е,Ё,Ж,З,И") Je,Jo,Zj,Z,I Je,Jo,Zj,Z,I
Passed mut.tr("Й,К,Л,М,Н") J,K,L,M,N J,K,L,M,N
Passed mut.tr("О,П,Р,С,Т") O,P,R,S,T O,P,R,S,T
Passed mut.tr("У,Ф,Х,Ц,Ч") U,F,Ch,Ts,Tj U,F,Ch,Ts,Tj
Passed mut.tr("Ш,Щ,Ы,Э,Ю,Я") Sj,Sjtj,Y,E,Ju,Ja Sj,Sjtj,Y,E,Ju,Ja
Text Expected Actual
test02_isolated_lowercase_characters:
Passed mut.tr("а,б,в,г,д") a,b,v,g,d a,b,v,g,d
Passed mut.tr("е,ё,ж,з,и") je,jo,zj,z,i je,jo,zj,z,i
Passed mut.tr("й,к,л,м,н") j,k,l,m,n j,k,l,m,n
Passed mut.tr("о,п,р,с,т") o,p,r,s,t o,p,r,s,t
Passed mut.tr("у,ф,х,ц,ч") u,f,ch,ts,tj u,f,ch,ts,tj
Passed mut.tr("ш,щ,ы,э,ю,я") sj,sjtj,y,e,ju,ja sj,sjtj,y,e,ju,ja
Text Expected Actual
test03_uppercase_vs_mixedcase_words:
Passed mut.tr("ЖА,Жa") ZjA,Zja ZjA,Zja
Text Expected Actual
test04_leave_out_hard_sign:
Passed mut.tr("Ъ,ъ") , ,
Text Expected Actual
test05_leave_out_soft_sign_but_not_before_i:
Passed mut.tr("Ь,ь") , ,
Passed mut.tr("Игорь") Igor Igor
Passed mut.tr("ьи") ji ji
Passed mut.tr("Ильич") Iljitj Iljitj
Passed mut.tr("ЬИ") JI JI
Passed mut.tr("сьич") sjitj sjitj
Passed mut.tr("зьич") zjitj zjitj
Passed mut.tr("тьич") tjitj tjitj
Text Expected Actual
test06_example:
Passed mut.tr("Горбачёв") Gorbatjóv Gorbatjóv
Passed mut.tr("Михаил Горбачёв") Michail Gorbatjóv Michail Gorbatjóv
Text Expected Actual
test07_e_becomes_je_after_vowel:
Passed mut.tr("Иего́ва") Ijegóva Ijegóva
Passed mut.tr("Алексеев") Aleksejev Aleksejev
Passed mut.tr("Алексе́ев") Alekséjev Alekséjev
Text Expected Actual
test08_automatically_accentuate_polysyllabic_yo:
Passed mut.tr("Фёдор") Fjódor Fjódor
Passed mut.tr("Пётр") Pjotr Pjotr
Passed mut.tr("Пётр Ильич") Pjotr Iljitj Pjotr Iljitj
Passed mut.tr("чёлн

По") || tjoln Po || tjoln Po

Text Expected Actual
test09_never_treat_e_like_yo:
Passed mut.tr("Пeтр") Petr Petr
Text Expected Actual
test10_return_unaccentuated_from_unaccentuated_input:
Passed mut.tr("замок") zamok zamok
Text Expected Actual
test11_pass_through_non_cyrillic_input:
Passed mut.tr("IP-адрес") IP-adres IP-adres
Passed mut.tr("β-распад") β-raspad β-raspad
Text Expected Actual
test12_initial_yo_distinct_from_non_initial:
Passed mut.tr("Евгений") Jevgenij Jevgenij
Passed mut.tr("Я Евгений") Ja Jevgenij Ja Jevgenij
Text Expected Actual
test13_punctuation_marks:
Passed mut.tr("Я Тарзан. Ты Джейн.") Ja Tarzan. Ty Dzjejn. Ja Tarzan. Ty Dzjejn.
Text Expected Actual
test14_i_rather_than_j_after_s_or_t_or_z:
Passed mut.tr("сё,сю,ся") sio,siu,sia sio,siu,sia
Passed mut.tr("тё,тю,тя") tio,tiu,tia tio,tiu,tia
Passed mut.tr("зё,зю,зя") zio,ziu,zia zio,ziu,zia
Passed mut.tr("сье,сьё,сью,сья") sie,sio,siu,sia sie,sio,siu,sia
Passed mut.tr("тье,тьё,тью,тья") tie,tio,tiu,tia tie,tio,tiu,tia
Passed mut.tr("зье,зьё,зью,зья") zie,zio,ziu,zia zie,zio,ziu,zia
Passed mut.tr("Сё,Сю,Ся") Sio,Siu,Sia Sio,Siu,Sia
Passed mut.tr("Тё,Тю,Тя") Tio,Tiu,Tia Tio,Tiu,Tia
Passed mut.tr("Зё,Зю,Зя") Zio,Ziu,Zia Zio,Ziu,Zia
Passed mut.tr("Сье,Сьё,Сью,Сья") Sie,Sio,Siu,Sia Sie,Sio,Siu,Sia
Passed mut.tr("Тье,Тьё,Тью,Тья") Tie,Tio,Tiu,Tia Tie,Tio,Tiu,Tia
Passed mut.tr("Зье,Зьё,Зью,Зья") Zie,Zio,Ziu,Zia Zie,Zio,Ziu,Zia
Text Expected Actual
test15_o_rather_than_jo:
Passed mut.tr("шё,щё,чё,жё") sjo,sjtjo,tjo,zjo sjo,sjtjo,tjo,zjo
Passed mut.tr("Шё,Щё,Чё,Жё") Sjo,Sjtjo,Tjo,Zjo Sjo,Sjtjo,Tjo,Zjo
Text Expected Actual
test16_apostrophes_in_input:
Passed mut.tr("Когда́ вы прие́хали?") Kogdá vy prijéchali? Kogdá vy prijéchali?
Text Expected Actual
test99_reference_from_Svenska_skrivregler:
Passed mut.tr("Анна") Anna Anna
Passed mut.tr("Борис") Boris Boris
Passed mut.tr("Волга") Volga Volga
Passed mut.tr("Горький") Gorkij Gorkij
Passed mut.tr("Дон") Don Don
Passed mut.tr("Афанасьев") Afanasiev Afanasiev
Passed mut.tr("Днепр") Dnepr Dnepr
Passed mut.tr("Евгений") Jevgenij Jevgenij
Passed mut.tr("Алексеев") Aleksejev Aleksejev
Passed mut.tr("Кондратьев") Kondratiev Kondratiev
Passed mut.tr("Чёрный") Tjórnyj Tjórnyj
Passed mut.tr("Аксёнов") Aksiónov Aksiónov
Passed mut.tr("Фёдор") Fjódor Fjódor
Passed mut.tr("Пётр") Pjotr Pjotr
Passed mut.tr("Зёрнов") Ziórnov Ziórnov
Passed mut.tr("Щёлкин") Sjtjólkin Sjtjólkin
Passed mut.tr("Жуковский") Zjukovskij Zjukovskij
Passed mut.tr("Замятин") Zamjatin Zamjatin
Passed mut.tr("Ирина") Irina Irina
Passed mut.tr("Толстой") Tolstoj Tolstoj
Passed mut.tr("Куприн") Kuprin Kuprin
Passed mut.tr("Лесков") Leskov Leskov
Passed mut.tr("Максим") Maksim Maksim
Passed mut.tr("Надя") Nadja Nadja
Passed mut.tr("Онега") Onega Onega
Passed mut.tr("Пушкин") Pusjkin Pusjkin
Passed mut.tr("Ростропович") Rostropovitj Rostropovitj
Passed mut.tr("Самара") Samara Samara
Passed mut.tr("Толстой") Tolstoj Tolstoj
Passed mut.tr("Устинов") Ustinov Ustinov
Passed mut.tr("Фёдор") Fjódor Fjódor
Passed mut.tr("Тихонов") Tichonov Tichonov
Passed mut.tr("Донец") Donets Donets
Passed mut.tr("Чайковский") Tjajkovskij Tjajkovskij
Passed mut.tr("Шостакович") Sjostakovitj Sjostakovitj
Passed mut.tr("Щедрин") Sjtjedrin Sjtjedrin
Passed mut.tr("Подъячев") Podjatjev Podjatjev
Passed mut.tr("Белый") Belyj Belyj
Passed mut.tr("Ильич") Iljitj Iljitj
Passed mut.tr("Игорь") Igor Igor
Passed mut.tr("Эдуард") Eduard Eduard
Passed mut.tr("Юрий") Jurij Jurij
Passed mut.tr("Актюбинск") Aktiubinsk Aktiubinsk
Passed mut.tr("Союз") Sojuz Sojuz
Passed mut.tr("Татьяна") Tatiana Tatiana
Passed mut.tr("Зябков") Ziabkov Ziabkov
Passed mut.tr("Ярослав") Jaroslav Jaroslav
local t = require("Modul:UnitTests")
local mut = require("Modul:translit/ru")

function t:test01_isolated_uppercase_characters()
    self:equals('mut.tr("А,Б,В,Г,Д")', mut.tr("А,Б,В,Г,Д"), "A,B,V,G,D")
    self:equals('mut.tr("Е,Ё,Ж,З,И")', mut.tr("Е,Ё,Ж,З,И"), "Je,Jo,Zj,Z,I")
    self:equals('mut.tr("Й,К,Л,М,Н")', mut.tr("Й,К,Л,М,Н"), "J,K,L,M,N")
    self:equals('mut.tr("О,П,Р,С,Т")', mut.tr("О,П,Р,С,Т"), "O,P,R,S,T")
    self:equals('mut.tr("У,Ф,Х,Ц,Ч")', mut.tr("У,Ф,Х,Ц,Ч"), "U,F,Ch,Ts,Tj")
    self:equals('mut.tr("Ш,Щ,Ы,Э,Ю,Я")', mut.tr("Ш,Щ,Ы,Э,Ю,Я"), "Sj,Sjtj,Y,E,Ju,Ja")
end

function t:test02_isolated_lowercase_characters()
    self:equals('mut.tr("а,б,в,г,д")', mut.tr("а,б,в,г,д"), "a,b,v,g,d")
    self:equals('mut.tr("е,ё,ж,з,и")', mut.tr("е,ё,ж,з,и"), "je,jo,zj,z,i")
    self:equals('mut.tr("й,к,л,м,н")', mut.tr("й,к,л,м,н"), "j,k,l,m,n")
    self:equals('mut.tr("о,п,р,с,т")', mut.tr("о,п,р,с,т"), "o,p,r,s,t")
    self:equals('mut.tr("у,ф,х,ц,ч")', mut.tr("у,ф,х,ц,ч"), "u,f,ch,ts,tj")
    self:equals('mut.tr("ш,щ,ы,э,ю,я")', mut.tr("ш,щ,ы,э,ю,я"), "sj,sjtj,y,e,ju,ja")
end

function t:test03_uppercase_vs_mixedcase_words()
    self:equals('mut.tr("ЖА,Жa")', mut.tr("ЖА,Жa"), "ZjA,Zja")
    -- etc... (alla tecken som translittererar till multipla tecken)
end

function t:test04_leave_out_hard_sign()
    self:equals('mut.tr("Ъ,ъ")', mut.tr("Ъ,ъ"), ",")
end

function t:test05_leave_out_soft_sign_but_not_before_i()
    self:equals('mut.tr("Ь,ь")', mut.tr("Ь,ь"), ",")
    self:equals('mut.tr("Игорь")', mut.tr("Игорь"), "Igor")
    self:equals('mut.tr("ьи")', mut.tr("ьи"), "ji")
    self:equals('mut.tr("Ильич")', mut.tr("Ильич"), "Iljitj")
    self:equals('mut.tr("ЬИ")', mut.tr("ЬИ"), "JI")
    self:equals('mut.tr("сьич")', mut.tr("сьич"), "sjitj")
    self:equals('mut.tr("зьич")', mut.tr("зьич"), "zjitj")
    self:equals('mut.tr("тьич")', mut.tr("тьич"), "tjitj")
end

-- Öppen fråga: hur bör stort mjukhetstecken ( Ь ) hanteras? Apostrof ( ' )?
-- Mest en hypotetisk fråga, då bokstaven i praktiken inte används.
-- Förekommer i skrivande stund inte i någon av de 9 184 orden i
-- [[Kategori:Ryska/Alla uppslag]].
-- På engelska Wiktionary förekommer det en gång, i artikeln om just tecknet Ь.

function t:test06_example()
    self:equals('mut.tr("Горбачёв")', mut.tr("Горбачёв"), "Gorbatjóv")
    self:equals('mut.tr("Михаил Горбачёв")', mut.tr("Михаил Горбачёв"), "Michail Gorbatjóv")
    -- self:equals('mut.trWithoutAccents("Горбачёв")', mut.trWithoutAccents("Горбачёв"), "Gorbatjov")
    -- self:equals('mut.trWithoutAccents("Михаи́л Горбачёв")', mut.trWithoutAccents("Михаи́л Горбачёв"), "Michaíl Gorbatjov")
    -- self:equals('mut.tr("Горбачёв","withoutAutoAccents=true")', mut.tr("Горбачёв","withoutAutoAccents=true"), "Gorbatjov")
end

function t:test07_e_becomes_je_after_vowel()
    self:equals('mut.tr("Иего́ва")', mut.tr("Иего́ва"), "Ijegóva")
    self:equals('mut.tr("Алексеев")', mut.tr("Алексеев"), "Aleksejev")
    self:equals('mut.tr("Алексе́ев")', mut.tr("Алексе́ев"), "Alekséjev")
end

function t:test08_automatically_accentuate_polysyllabic_yo()
    self:equals('mut.tr("Фёдор")', mut.tr("Фёдор"), "Fjódor")
    self:equals('mut.tr("Пётр")', mut.tr("Пётр"), "Pjotr")
    self:equals('mut.tr("Пётр Ильич")', mut.tr("Пётр Ильич"), "Pjotr Iljitj")
    self:equals('mut.tr("чёлн\nПо")', mut.tr("чёлн\nПо"), "tjoln\nPo")
end

function t:test09_never_treat_e_like_yo()
    self:equals('mut.tr("Пeтр")', mut.tr("Пeтр"), "Petr")
end

function t:test10_return_unaccentuated_from_unaccentuated_input()
    self:equals('mut.tr("замок")', mut.tr("замок"), "zamok")
end

function t:test11_pass_through_non_cyrillic_input()
    self:equals('mut.tr("IP-адрес")', mut.tr("IP-адрес"), "IP-adres")
    self:equals('mut.tr("β-распад")', mut.tr("β-распад"), "β-raspad")
end

function t:test12_initial_yo_distinct_from_non_initial()
    self:equals('mut.tr("Евгений")', mut.tr("Евгений"), "Jevgenij")
    self:equals('mut.tr("Я Евгений")', mut.tr("Я Евгений"), "Ja Jevgenij")
end

function t:test13_punctuation_marks()
    self:equals('mut.tr("Я Тарзан. Ты Джейн.")', mut.tr("Я Тарзан. Ты Джейн."), "Ja Tarzan. Ty Dzjejn.")
end

function t:test14_i_rather_than_j_after_s_or_t_or_z()
    self:equals('mut.tr("сё,сю,ся")', mut.tr("сё,сю,ся"), "sio,siu,sia")
    self:equals('mut.tr("тё,тю,тя")', mut.tr("тё,тю,тя"), "tio,tiu,tia")
    self:equals('mut.tr("зё,зю,зя")', mut.tr("зё,зю,зя"), "zio,ziu,zia")
    self:equals('mut.tr("сье,сьё,сью,сья")', mut.tr("сье,сьё,сью,сья"), "sie,sio,siu,sia")
    self:equals('mut.tr("тье,тьё,тью,тья")', mut.tr("тье,тьё,тью,тья"), "tie,tio,tiu,tia")
    self:equals('mut.tr("зье,зьё,зью,зья")', mut.tr("зье,зьё,зью,зья"), "zie,zio,ziu,zia")
    self:equals('mut.tr("Сё,Сю,Ся")', mut.tr("Сё,Сю,Ся"), "Sio,Siu,Sia")
    self:equals('mut.tr("Тё,Тю,Тя")', mut.tr("Тё,Тю,Тя"), "Tio,Tiu,Tia")
    self:equals('mut.tr("Зё,Зю,Зя")', mut.tr("Зё,Зю,Зя"), "Zio,Ziu,Zia")
    self:equals('mut.tr("Сье,Сьё,Сью,Сья")', mut.tr("Сье,Сьё,Сью,Сья"), "Sie,Sio,Siu,Sia")
    self:equals('mut.tr("Тье,Тьё,Тью,Тья")', mut.tr("Тье,Тьё,Тью,Тья"), "Tie,Tio,Tiu,Tia")
    self:equals('mut.tr("Зье,Зьё,Зью,Зья")', mut.tr("Зье,Зьё,Зью,Зья"), "Zie,Zio,Ziu,Zia")
end

function t:test15_o_rather_than_jo()
    self:equals('mut.tr("шё,щё,чё,жё")', mut.tr("шё,щё,чё,жё"), "sjo,sjtjo,tjo,zjo")
    self:equals('mut.tr("Шё,Щё,Чё,Жё")', mut.tr("Шё,Щё,Чё,Жё"), "Sjo,Sjtjo,Tjo,Zjo")
end

function t:test16_apostrophes_in_input()
    self:equals([[mut.tr("'''Когда́''' вы прие́хали?")]], mut.tr("'''Когда́''' вы прие́хали?"), "'''Kogdá''' vy prijéchali?")
end

function t:test99_reference_from_Svenska_skrivregler()
    self:equals('mut.tr("Анна")', mut.tr("Анна"), "Anna")
    self:equals('mut.tr("Борис")', mut.tr("Борис"), "Boris")
    self:equals('mut.tr("Волга")', mut.tr("Волга"), "Volga")
    self:equals('mut.tr("Горький")', mut.tr("Горький"), "Gorkij")
    self:equals('mut.tr("Дон")', mut.tr("Дон"), "Don")
    self:equals('mut.tr("Афанасьев")', mut.tr("Афанасьев"), "Afanasiev")
    self:equals('mut.tr("Днепр")', mut.tr("Днепр"), "Dnepr")
    self:equals('mut.tr("Евгений")', mut.tr("Евгений"), "Jevgenij")
    self:equals('mut.tr("Алексеев")', mut.tr("Алексеев"), "Aleksejev")
    self:equals('mut.tr("Кондратьев")', mut.tr("Кондратьев"), "Kondratiev")
    self:equals('mut.tr("Чёрный")', mut.tr("Чёрный"), "Tjórnyj")
    self:equals('mut.tr("Аксёнов")', mut.tr("Аксёнов"), "Aksiónov")
    self:equals('mut.tr("Фёдор")', mut.tr("Фёдор"), "Fjódor")
    self:equals('mut.tr("Пётр")', mut.tr("Пётр"), "Pjotr")
    self:equals('mut.tr("Зёрнов")', mut.tr("Зёрнов"), "Ziórnov")
    self:equals('mut.tr("Щёлкин")', mut.tr("Щёлкин"), "Sjtjólkin")
    self:equals('mut.tr("Жуковский")', mut.tr("Жуковский"), "Zjukovskij")
    self:equals('mut.tr("Замятин")', mut.tr("Замятин"), "Zamjatin")
    self:equals('mut.tr("Ирина")', mut.tr("Ирина"), "Irina")
    self:equals('mut.tr("Толстой")', mut.tr("Толстой"), "Tolstoj")
    self:equals('mut.tr("Куприн")', mut.tr("Куприн"), "Kuprin")
    self:equals('mut.tr("Лесков")', mut.tr("Лесков"), "Leskov")
    self:equals('mut.tr("Максим")', mut.tr("Максим"), "Maksim")
    self:equals('mut.tr("Надя")', mut.tr("Надя"), "Nadja")
    self:equals('mut.tr("Онега")', mut.tr("Онега"), "Onega")
    self:equals('mut.tr("Пушкин")', mut.tr("Пушкин"), "Pusjkin")
    self:equals('mut.tr("Ростропович")', mut.tr("Ростропович"), "Rostropovitj")
    self:equals('mut.tr("Самара")', mut.tr("Самара"), "Samara")
    self:equals('mut.tr("Толстой")', mut.tr("Толстой"), "Tolstoj")
    self:equals('mut.tr("Устинов")', mut.tr("Устинов"), "Ustinov")
    self:equals('mut.tr("Фёдор")', mut.tr("Фёдор"), "Fjódor")
    self:equals('mut.tr("Тихонов")', mut.tr("Тихонов"), "Tichonov")
    self:equals('mut.tr("Донец")', mut.tr("Донец"), "Donets")
    self:equals('mut.tr("Чайковский")', mut.tr("Чайковский"), "Tjajkovskij")
    self:equals('mut.tr("Шостакович")', mut.tr("Шостакович"), "Sjostakovitj")
    self:equals('mut.tr("Щедрин")', mut.tr("Щедрин"), "Sjtjedrin")
    self:equals('mut.tr("Подъячев")', mut.tr("Подъячев"), "Podjatjev")
    self:equals('mut.tr("Белый")', mut.tr("Белый"), "Belyj")
    self:equals('mut.tr("Ильич")', mut.tr("Ильич"), "Iljitj")
    self:equals('mut.tr("Игорь")', mut.tr("Игорь"), "Igor")
    self:equals('mut.tr("Эдуард")', mut.tr("Эдуард"), "Eduard")
    self:equals('mut.tr("Юрий")', mut.tr("Юрий"), "Jurij")
    self:equals('mut.tr("Актюбинск")', mut.tr("Актюбинск"), "Aktiubinsk")
    self:equals('mut.tr("Союз")', mut.tr("Союз"), "Sojuz")
    self:equals('mut.tr("Татьяна")', mut.tr("Татьяна"), "Tatiana")
    self:equals('mut.tr("Зябков")', mut.tr("Зябков"), "Ziabkov")
    self:equals('mut.tr("Ярослав")', mut.tr("Ярослав"), "Jaroslav")
end

return t