Module:User:Ssvb/ru-autoaccent/testcases

local tests = require('Module:UnitTests') local m_autoaccent = require('Module:User:Ssvb/ru-autoaccent')

local list_xfail = { { "По страсти? Какія у васъ антидилювіальныя мысли! Кто нынче говоритъ про страсти? —Лев Толсто́й", "Won't work correctly until the \"антидилювиа́льный\" entry is added to the dictionary", "blahblah" }, { "Она подошла къ Алексѣю Александровичу и съ фамильярностью близости смерти, взявъ его за руку, повлекла въ спальню. —Лев Толсто́й", "Won't work correctly until the \"за́ руку\" entry is added to the dictionary" }, { "Они заселились в четырехзвездный отель. Две буквы ё в слове могут не быть корректно идентифицированы Lua-модулем.", "Они́ засели́лись в четырёхзвё́здный оте́ль. Две бу́квы ё в сло́ве мо́гут не быть корре́ктно идентифици́рованы Lua-мо́дулем." },		{ "Содержимое ссылок игнорируется Lua-модулем. Примеры: \"не Один\" vs. \"не Один\" (имя бога). Но большого вреда от этого нет.", "Содержи́мое ссы́лок игнори́руется Lua-мо́дулем. Приме́ры: \"не О́дин\" vs. \"не О́дин\" (и́мя бо́га). Но большо́го вреда́ от э́того нет." },		{ "Содержимое ссылок игнорируется Lua-модулем. Примеры: \"до смерти\" vs. \"до смерти\". Пожалуйста пользуйтесь ссылками на предложно-именные сочетания целиком: \"до смерти\"", "Содержи́мое ссы́лок игнори́руется Lua-мо́дулем. Приме́ры: \"до смерти\" vs. \"до смерти\". Пожа́луйста по́льзуйтесь ссы́лками на предложно-именны́е сочета́ния целико́м: \"до смерти\"" }, { "Как будто должны быть без ударения, но словарь не всегда согласен: либо, нибудь, надо, обо, ото, перед, передо, подо, предо, через (см. либо)", "Как бу́дто должны́ быть без ударе́ния, но слова́рь не всегда́ согла́сен: либо, нибудь, надо, обо, ото, перед, передо, подо, предо, через (см. либо)" }, }

local list_clitics = { { "без соли, за город, по воду, по лесу, на уши, под зиму, по цепи, на берег, на спину, на стену, на ногу, за ногу, за руку, на слово", "без соли, за город, по воду, по лесу, на уши, под зиму, по цепи, на берег, на спину, на стену, на ногу, за ногу, за руку, на слово" }, }

local list_custom_ridiculous_nonsense = { { "(антилопа), (зонтик)(собачья будка), галер(е́я), галер(ея), галер((ея)). Подо мной, перед входом. Галер, галер, галер(", "(антило́па), (зо́нтик)(соба́чья бу́дка), галер(е́я), галер(ея), гале́р((её)). Подо мной, перед вхо́дом. Гале́р, гале́р, галер(" }, { "лучезарный, лу̀чезарный, лу̀чезарны́й, лу̀чеза́рный, катарсис, ка́та́рсис, ка́та́рси́с, ка́тарсис, ката́рсис, катарси́с", "лучеза́рный, лу̀чеза́рный, лу̀чезарны́й, лу̀чеза́рный, ка́та́рсис, ка́та́рсис, ка́та́рси́с, ка́тарсис, ката́рсис, катарси́с" }, { "до самой смерти, до́ смерти, до смерти", "до самой сме́рти, до́ смерти, до смерти" }, { "безтолочь, бе́зтолочь, бѐзтолочь", "бе́столочь, бе́столочь, бѐстолочь" }, }

local list_usex = { { "В философской литерату́ре понятие ката́рсиса имеет более полутора тысяч различных толкований.", "В филосо́фской литерату́ре поня́тие ката́рсиса име́ет бо́лее полу́тора ты́сяч разли́чных толкова́ний." },		{ "В 1247 году бристольская гавань была обустро́ена путем отведения русла Фро́ма несколько на запад.", "В 1247 году бри́сто́льская га́вань была́ обустро́ена путём отведения ру́сла Фро́ма не́сколько на за́пад." },		{ "Спасибо этому году! Ждем еще более интересных сюрпризов и потрясений в следующем.", "Спаси́бо э́тому году! Ждём ещё бо́лее интере́сных сюрпри́зов и потрясе́ний в сле́дующем." },		{ "Жуков и бабочек отлавливает юный натуралист Жуков. Он уже много таких жуков поймал.", "Жуков и ба́бочек отла́вливает ю́ный натурали́ст Жу́ков. Он уже мно́го таки́х жуко́в пойма́л." },		{ "Скандинавские боги Тор, Один и остальные известны всем. Жил у моря один человек. Один день ничего не решает.", "Скандина́вские бо́ги Тор, О́дин и остальны́е изве́стны всем. Жил у моря оди́н челове́к. Один день ничего́ не реша́ет." },		{ "Кубы грунта разбрасывает вокруг экскаватор. Экономика Венесуэлы, Кубы и прочих стран оставляет желать лучшего.", "Кубы гру́нта разбра́сывает вокру́г экскава́тор. Эконо́мика Венесуэ́лы, Ку́бы и про́чих стран оставля́ет жела́ть лу́чшего." },		{ "Темнофиолетовое трехмерное изображение трехко́мнатной квартиры из Кенигсберга выглядит замечательно.", "Тёмнофиоле́товое трёхме́рное изображе́ние трёхко́мнатной кварти́ры из Кёнигсберга вы́глядит замеча́тельно." },		{ "Мама мыла раму. Благоустраивающаяся дамочка увидела посерьезневшее лицо таксиста.", "Ма́ма мыла ра́му. Благоустра́ивающаяся да́мочка уви́дела посерьёзневшее лицо́ такси́ста." },		{ "В ассортименте представлены разнообразные мыла, кремы для тела, ног, рук, шампуни.", "В ассортиме́нте предста́влены разнообра́зные мыла, кре́мы для тела, ног, рук, шампу́ни." },		{ "Стоят на полке ненужные бутылки. Они ничего не стоят.", "Стоят на полке нену́жные буты́лки. Они́ ничего́ не стоят." },		{ "Об этом полке сняты фильмы.", "Об э́том полке сняты фи́льмы." },		{ "Его зовут Лука, он любит писать стихи о Елкине. Котяра повадился писать в тапки.", "Его́ зову́т Лука́, он лю́бит писать стихи о Ёлкине. Котя́ра пова́дился писать в та́пки." },		{ "Лука и чеснока нам очень не хватает, особенно лука.", "Лука и чеснока́ нам о́чень не хвата́ет, осо́бенно лука." },		{ "Перед ними простиралась километровая лука реки.", "Перед ни́ми простира́лась километро́вая лука реки." },		{ "Никто не скроется от бдительного ока. Лука всё еще не спит и все его боятся.", "Никто́ не скро́ется от бди́тельного о́ка. Лука всё ещё не спит и все его́ боя́тся." },		{ "В конце своего течения Ока доходит до Нижнего Новгорода, где впадает в Волгу.", "В конце́ своего́ тече́ния Ока́ дохо́дит до Ни́жнего Но́вгорода, где впада́ет в Во́лгу." },		{ "Ока течет по территориям Орловской, Тульской, Калужской, Московской, Рязанской, Владимирской, Нижегородской областей.", "Ока течёт по террито́риям Орло́вской, Ту́льской, Калу́жской, Моско́вской, Ряза́нской, Влади́мирской, Нижегоро́дской областе́й." },		{ "Еж спрятался под елкой и посмотрел на небо. Что-то застряло у него в нёбе.", "Ёж спря́тался под ёлкой и посмотре́л на небо. Что-то застря́ло у него́ в нёбе." },		{ "Орел присел на клен возле замка.", "Орёл присе́л на клён во́зле замка." },		{ "Мы хорошо узнаём математические символы и скоро узнаем, как решать это уравнение.", "Мы хорошо́ узнаём математи́ческие си́мволы и ско́ро узнаем, как реша́ть э́то уравне́ние." },		{ "Дореформенная орфография ставит под угрозу благо Чикаго и Сантьяго.", "Дореформенная орфогра́фия ста́вит под угро́зу бла́го Чика́го и Сантья́го." }, }

local list_modern_quotations = { { "В кухне злится повариха, Плачет у станка ткачиха, И завидуют оне Государевой жене. —Александр Пушкин", "В ку́хне зли́тся повари́ха, Пла́чет у станка́ ткачи́ха, И зави́дуют оне́ Госуда́ревой жене́. —Алекса́ндр Пу́шкин" }, { "Порядок, аккуратность, правильность во всем — были его качествами, и он не выносил ни малейшего промаха в писании. До смерти он был мил и любезен в обращении с дамами. —Николай Костомаров", "Поря́док, аккура́тность, пра́вильность во всем — бы́ли его́ ка́чествами, и он не выносил ни мале́йшего про́маха в писа́нии. До смерти он был мил и любе́зен в обраще́нии с да́мами. —Никола́й Костомаров" }, { "Кум, отошедши в сторону, бродил в длинных сапогах взад и вперед и наконец набрел прямо на шинок. —Николай Гоголь", "Кум, отоше́дши в сто́рону, броди́л в дли́нных сапога́х взад и вперёд и наконе́ц набрёл пря́мо на шинок. —Никола́й Го́голь" }, { "А ведьма, между тем, поднялась так высоко, что одним только черным пятнышком мелькала вверху. —Николай Гоголь", "А ве́дьма, ме́жду тем, подняла́сь так высоко, что одни́м то́лько чёрным пя́тнышком мелька́ла вверху́. —Никола́й Го́голь" }, { "Я слыхал о тамошних метелях и знал, что целые обозы бывали ими занесены. —Александр Пушкин", "Я слыха́л о та́мошних мете́лях и знал, что це́лые обо́зы быва́ли ими занесены́. —Алекса́ндр Пу́шкин" }, { "Белогорская крепость находилась в сорока верстах от Оренбурга. —Александр Пушкин", "Белогорская кре́пость находи́лась в сорока вёрстах от Оренбу́рга. —Алекса́ндр Пу́шкин" }, { "Входя в харчевню, он выпил рюмку водки и съел с какою-то начинкой пирог. —Фёдор Достоевский", "Входя́ в харче́вню, он вы́пил рю́мку во́дки и съел с какою-то начи́нкой пиро́г. —Фёдор Достое́вский" }, { "Стояли крошеные огурцы, черные сухари и резанная кусочками рыба; все это очень дурно пахло. —Фёдор Достоевский", "Стоя́ли крошеные огурцы́, чёрные сухари́ и ре́занная кусо́чками ры́ба; все э́то о́чень ду́рно па́хло. —Фёдор Достое́вский" }, }

local list_prereform_quotations = { { "Въ кухнѣ злится повариха, Плачетъ у станка ткачиха — И завидуютъ онѣ Государевой женѣ. —Александр Пушкин", "В ку́хне зли́тся повари́ха, Пла́чет у станка́ ткачи́ха — И зави́дуют они́ Госуда́ревой жене́. —Алекса́ндр Пу́шкин" }, { "Но Кити и не ожидала большаго отъ кадрили. —Лев Толстой", "Но Кити и не ожида́ла бо́льшего от кадри́ли. —Лев Толсто́й" }, { "Сверхъ того, заботы большого семейства безпрестанно мучили ее: то кормленіе грудного ребенка не шло, то нянька ушла, то, какъ теперь, заболѣлъ одинъ изъ дѣтей. —Лев Толстой", "Сверх того́, забо́ты большо́го семе́йства беспреста́нно му́чили её: то кормле́ние грудно́го ребёнка не шло, то ня́нька ушла́, то, как тепе́рь, заболе́л оди́н из дете́й. —Лев Толсто́й" }, { "Безсмѣ́нный, несмѣняемый, не замѣняемый другимъ; всегдашній, постоянный. Безсмѣнная рать, первое русское постоянное войско, при Грозномъ. Безсмѣ́нность ж. состояніе безсмѣннаго. —Владиміръ Даль", "Бессме́нный, несменяемый, не заменя́емый други́м; всегда́шний, постоя́нный. Бессме́нная рать, первое ру́сское постоя́нное во́йско, при Гро́зном. Бессме́нность ж. состоя́ние бессме́нного. —Влади́мир Даль" }, { "Сапъ м. или сопъ (сопѣть), конская (и др. животн.) болѣзнь, съ сильными признаками насморка, который изнуряетъ лошадь до́ смерти; весьма заразительна и неизлечима. —Владиміръ Даль", "Сап м. и́ли соп (сопе́ть), ко́нская (и др. животн.) боле́знь, с си́льными при́знаками на́сморка, кото́рый изнуря́ет ло́шадь до́ смерти; весьма́ зарази́тельна и неизлечи́ма. —Влади́мир Даль" }, { "Мастера́ немцы корзины плѣсти. Балахонки до́слѣпу кружева плетут. Плѣсти́ по́дъ руку, перекидывая прядь не сверху, а подъ низ. —Влади́мир Даль", "Мастера́ не́мцы корзи́ны плести́. Балахонки до́слепу кружева плету́т. Плести́ по́д руку, переки́дывая прядь не све́рху, а под низ. —Влади́мир Даль" }, { "И тутъ только въ первый разъ все дѣло представилось ей совсѣмъ съ другой, новой стороны. —Лев Толстой", "И тут то́лько в пе́рвый раз все де́ло предста́вилось ей совсе́м с друго́й, но́вой стороны. —Лев Толсто́й" }, { "Когда они вышли, карета Вронскихъ уже отъѣхала. Входившіе люди все еще переговаривались о томъ, что случилось. —Лев Толстой", "Когда́ они́ вы́шли, каре́та Вронских уже отъе́хала. Входи́вшие лю́ди все ещё перегова́ривались о том, что случи́лось. —Лев Толсто́й" }, { "Осмотрѣвъ дѣтей, онѣ сѣли, уже однѣ, въ гостиной предъ кофеемъ. —Лев Толстой", "Осмотре́в дете́й, они́ сели, уже одни́, в гости́ной пред кофеем. —Лев Толсто́й" }, { "Изъ-за густыхъ рѣсницъ ея блестящихъ глазъ вдругъ показались слезы. —Лев Толстой", "Из-за густы́х ресни́ц её блестя́щих глаз вдруг показа́лись слезы. —Лев Толсто́й" }, { "Мы-таки добились свѣдѣнія изъ пензенскаго губернскаго правленія. —Лев Толстой", "Мы-таки доби́лись сведения из пе́нзенского губе́рнского правле́ния. —Лев Толсто́й" }, { "Куда дѣлась его всегда спокойная, твердая манера и безпечно спокойное выраженіе лица? —Лев Толстой", "Куда́ де́лась его́ всегда́ споко́йная, твёрдая мане́ра и беспе́чно споко́йное выраже́ние лица? —Лев Толсто́й" }, { "Чувство безпричиннаго стыда, которое она испытывала дорогой, и волненіе совершенно исчезли. —Лев Толстой", "Чу́вство беспричи́нного стыда́, кото́рое она испы́тывала дорогой, и волне́ние соверше́нно исче́зли. —Лев Толсто́й" }, { "Самыя трансцендентныя понятія становятся мнѣ доступны, когда онъ говоритъ. —Лев Толстой", "Са́мые трансценде́нтные поня́тия стано́вятся мне досту́пны, когда́ он говори́т. —Лев Толсто́й" }, { "Вронскій, невольно подчиняясь ей, тоже ожидалъ чего-то независимаго отъ него, долженствовавшаго разъяснить всѣ затрудненія. —Лев Толстой", "Вронский, нево́льно подчиня́ясь ей, то́же ожида́л чего́-то незави́симого от него́, долженствова́вшего разъяснить все затрудне́ния. —Лев Толсто́й" }, { "Обдумывая, что онъ скажетъ, онъ пожалѣлъ о томъ, что для домашняго употребленія, такъ незамѣтно, онъ долженъ употребить свое время и силы ума; —Лев Толсто́й", "Обду́мывая, что он ска́жет, он пожале́л о том, что для дома́шнего употребле́ния, так незаме́тно, он до́лжен употреби́ть своё вре́мя и си́лы ума́; —Лев Толсто́й" }, { "Извѣстіе о смерти Парѳена Денисыча непріятно подѣйствовало на него. —Лев Толстой", "Изве́стие о сме́рти Парфена Денисыча неприя́тно поде́йствовало на него́. —Лев Толсто́й" }, { "Прохоръ Бога забылъ, и на тѣ деньги, что ему подарилъ Левинъ, чтобы лошадь купить, пьетъ безъ просыпу и жену избилъ до смерти; —Лев Толстой", "Прохор Бо́га забы́л, и на те деньги, что ему́ подари́л Левин, что́бы ло́шадь купи́ть, пьёт без просыпу и жену́ изби́л до смерти; —Лев Толсто́й" }, { "Въ 1374 г. заключено было перемиріе на годъ, но оно продолжалось до смерти Эдуарда III (1377 г.); —Иван Сытин", "В 1374 г. заключено́ бы́ло переми́рие на год, но оно продолжа́лось до смерти Эдуа́рда III (1377 г.); —Ива́н Сытин" }, { "До двѣнадцати лѣтъ онъ прожилъ въ избѣ своего дѣда, добраго старика, любившаго читать священныя книги и увлекательно разсказывавшаго прочитанное и пережитое. —К. А. Хрѣновъ", "До двена́дцати лет он прожил в избе́ своего́ де́да, до́брого старика́, люби́вшего чита́ть свяще́нные кни́ги и увлека́тельно расска́зывавшего прочи́танное и пережитое. —К. А. Хренов" }, { "Поздравительное письмо ея представляетъ самый пылкій диѳирамбъ великодушному Монарху, возстановившему истину. —Аѳанасій Фетъ", "Поздрави́тельное письмо́ её представля́ет са́мый пы́лкий дифира́мб великоду́шному Мона́рху, восстанови́вшему и́стину. —Афана́сий Фет" }, { "Та же женственная ѵпостась Божества проявляетъ себя въ исторіи человѣчества, какъ церковь. —Сергей Соловьев", "Та же же́нственная ипоста́сь Божества́ проявля́ет себя́ в исто́рии челове́чества, как це́рковь. —Серге́й Соловьёв" }, { "Впрочемъ, этимъ дѣломъ постоянно занимался фельдъфебель, не знаю, самъ ли отъ себя или по приказанію. —Андрей Бекетов", "Впро́чем, э́тим де́лом постоя́нно занима́лся фельдфе́бель, не зна́ю, сам ли от себя́ и́ли по приказа́нию. —Андре́й Беке́тов" }, { "Наконецъ, сколько Комитету извѣстно всѣ бѣлорусскія сочиненія печатаны были доселѣ польскими буквами. —Павел Кукольник", "Наконе́ц, ско́лько Комите́ту изве́стно все белору́сские сочине́ния печа́таны бы́ли досе́ле по́льскими бу́квами. —Па́вел Кукольник" }, }

function tests:check_output_xfail(text, expected) tests:equals(		text,		m_autoaccent.normalize(text),		expected,		{ show_difference = true }	) end

function tests:check_output(text, expected) tests:equals(		text,		m_autoaccent.normalize(text),		expected,		{ show_difference = true }	) end

function tests:test_modern_quotations self:iterate(list_modern_quotations, "check_output") end

function tests:test_prereform_quotations self:iterate(list_prereform_quotations, "check_output") end

function tests:test_custom_ridiculous_nonsense self:iterate(list_custom_ridiculous_nonsense, "check_output") end

function tests:test__xfail self:iterate(list_xfail, "check_output_xfail") end

function tests:test_usex self:iterate(list_usex, "check_output") end

function tests:test_clitics self:iterate(list_clitics, "check_output") end

return tests