Модуль:Сезон сериала/тестыЮнит-тесты для модуля Сезон сериала. Для запуска тестов перейдите на эту страницу ( ). -- Unit tests for [[Module:Сезон сериала]]. Click talk page to run tests.
local p = require('Модуль:UnitTests')
function p:test_01_checkPrevSeason() -- существует ли статья о предыдущем сезоне
self:preprocess_equals_many('{{#invoke:Сезон сериала|isPrevSeasonLinkValid|', '}}', {
{'title=Остаться в живых (сезон 2)', 'true'},
{'title=Что, если…? (2-й сезон)', 'true'},
{'title=Губка Боб Квадратные Штаны (2 сезон)', 'true'},
{'title=Близкие друзья (Сезон 2)', 'true'},
{'title=Голос (Россия, сезон 5)', 'true'},
{'title=Черепашки-ниндзя (мультсериал, 2012) (2 сезон)', 'true'},
{'title=Миссия невыполнима (телесериал, 1988) (сезон 2)', 'true'},
{'title=Классический «Доктор Кто» (2-й сезон)', 'true'},
{'title=Остаться в живых (сезон 55)', ''},
{'title=Американская история ужасов: Дом-убийца', ''},
{'title=Американская история ужасов: 1984', 'true'},
{'title=Американская история ужасов: Двойной сеанс', 'true'}, -- модуль не должен интерпретировать прошлый сезон как "Сезон 1984". Не интерпретирует.
{'title=Суд над Повелителем времени', ''},
{'title=Частный детектив Магнум (2018, сезон 3)', 'true'},
})
end
function p:test_02_checkNextSeason() -- существует ли статья о следующем сезоне
self:preprocess_equals_many('{{#invoke:Сезон сериала|isNextSeasonLinkValid|', '}}', {
{'title=Остаться в живых (сезон 2)', 'true'},
{'title=Что, если…? (2-й сезон)', 'true'},
{'title=Губка Боб Квадратные Штаны (2 сезон)', 'true'},
{'title=Близкие друзья (Сезон 2)', 'true'},
{'title=Голос (Россия, сезон 5)', 'true'},
{'title=Черепашки-ниндзя (мультсериал, 2012) (2 сезон)', 'true'},
{'title=Миссия невыполнима (телесериал, 1988) (сезон 1)', 'true'},
{'title=Классический «Доктор Кто» (2-й сезон)', 'true'},
{'title=Остаться в живых (сезон 55)', ''},
{'title=Пожарные Чикаго (12-й сезон)', ''},
{'title=Американская история ужасов: 1984', 'true'},
{'title=Американская история ужасов: Апокалипсис', 'true'}, -- модуль не должен интерпретировать следующий сезон как "Сезон 1984". Не интерпретирует.
{'title=Американская история ужасов: Нежность', ''},
{'title=Суд над Повелителем времени', ''},
{'title=Частный детектив Магнум (2018, сезон 3)', 'true'},
})
end
--[[ Тоже бесполезная функция. Нигде не используется (ни в шаблоне, ни в модуле). Удалил из модуля.
function p:test_03_checkAll()
self:preprocess_equals_many('{{#invoke:Сезон сериала|isPrevOrNextSeasonLinkValid|', '}}', {
{'title=Остаться в живых (сезон 2)', 'true'},
{'title=Что, если…? (2-й сезон)', 'true'},
{'title=Губка Боб Квадратные Штаны (2 сезон)', 'true'},
{'title=Близкие друзья (Сезон 2)', 'true'},
{'title=Голос (Россия, сезон 5)', 'true'},
{'title=Черепашки-ниндзя (мультсериал, 2012) (2 сезон)', 'true'},
{'title=Миссия невыполнима (телесериал, 1988) (сезон 2)', 'true'},
{'title=Классический «Доктор Кто» (2-й сезон)', 'true'},
{'title=Остаться в живых (сезон 55)', ''},
})
end]]
function p:test_04_getPrevSeasonArticle() -- получение статьи предыдущего сезона
self:preprocess_equals_many('{{#invoke:Сезон сериала|getPrevSeasonArticle|', '}}', {
{'title=Остаться в живых (сезон 2)', '[[Остаться в живых (сезон 1)|Сезон 1]]'},
{'title=Что, если…? (2-й сезон)', '[[Что, если…? (1-й сезон)|Сезон 1]]'},
{'title=Губка Боб Квадратные Штаны (2 сезон)', '[[Губка Боб Квадратные Штаны (1 сезон)|Сезон 1]]'},
{'title=Близкие друзья (Сезон 2)', '[[Близкие друзья (Сезон 1)|Сезон 1]]'},
{'title=Голос (Россия, сезон 5)', '[[Голос (Россия, сезон 4)|Сезон 4]]'},
{'title=The Voice (США, сезон 17)', '[[The Voice (США, сезон 16)|Сезон 16]]'},
{'title=Черепашки-ниндзя (мультсериал, 2012) (2 сезон)', '[[Черепашки-ниндзя (мультсериал, 2012) (1 сезон)|Сезон 1]]'},
{'title=Миссия невыполнима (телесериал, 1988) (сезон 2)', '[[Миссия невыполнима (телесериал, 1988) (сезон 1)|Сезон 1]]'},
{'title=Классический «Доктор Кто» (2-й сезон)', '[[Классический «Доктор Кто» (1-й сезон)|Сезон 1]]'},
{'title=Миссия невыполнима (телесериал, 1988) (сезон 1)', ''}, -- статьи нет
{'title=The Voice (США, сезон 15)', ''}, -- статьи нет
{'title=Американская история ужасов: 1984', '[[Американская история ужасов: Апокалипсис|Апокалипсис]]'}, -- статья не должна определяться. Почему это??? Сделал исключения для "Американская история ужасов"
{'title=Американская история ужасов: Двойной сеанс', '[[Американская история ужасов: 1984|1984]]'}, -- подзаголовок прошлого сезона содержит 1984, который должен игнорироваться
{'title=Американская история ужасов: 1984|link=[[Американская история ужасов: Апокалипсис|Апокалипсис]]', '[[Американская история ужасов: Апокалипсис|Апокалипсис]]'},
{'title=Американская история ужасов: Нежность|link={{нп4|Американская история ужасов: NYC|NYC||American Horror Story: NYC}}', ''}, -- Вот тут точно не должно быть ничего... Почему? У нас нет запрета на указание ссылок на другие википедии в карточке. (Думаю что проще всего это всё же делать через if в коде шаблона, чем через link=)
{'title=Убийство Джанни Версаче: Американская история преступлений|link=[[Народ против О. Джея Симпсона: Американская история преступлений|Народ против О. Джея Симпсона]]', '[[Народ против О. Джея Симпсона: Американская история преступлений|Народ против О. Джея Симпсона]]'},
{'title=Морские рейнджеры с планеты Аквитар|link=[[Могучие рейнджеры (телесериал, 1993)|Могучие рейнджеры]]', '[[Могучие рейнджеры (телесериал, 1993)|Могучие рейнджеры]]'},
{'title=Классический «Доктор Кто» (24-й сезон)|link=[[Суд над Повелителем времени]]<br><small>(Сезон 23)</small>', '[[Суд над Повелителем времени]]<br><small>(Сезон 23)</small>'}, -- если вставлять песочницу в [[Классический «Доктор Кто» (24-й сезон)]], то ссылку вообще не показывает, а в тестах почему-то показывает Сезон 23
{'title=Суд над Повелителем времени|link=[[Классический «Доктор Кто» (22 сезон)|Сезон 22]]', '[[Классический «Доктор Кто» (22 сезон)|Сезон 22]]'},
{'title=Частный детектив Магнум (2018, сезон 3)', '[[Частный детектив Магнум (2018, сезон 2)|Сезон 2]]'}, -- такой формат ещё получится распознавать? думаю тогда его можно будет использовать вместо Черепашки-ниндзя (мультсериал, 2012) (2 сезон) и Миссия невыполнима (телесериал, 1988) (сезон 1)
{'title=Список серий аниме One Piece (серии 1—61)', ''},
}, {nowiki=1})
end
function p:test_05_getNextSeasonArticle() -- получение статьи следующего сезона
self:preprocess_equals_many('{{#invoke:Сезон сериала|getNextSeasonArticle|', '}}', {
{'title=Остаться в живых (сезон 2)', '[[Остаться в живых (сезон 3)|Сезон 3]]'},
{'title=Что, если…? (2-й сезон)', '[[Что, если…? (3-й сезон)|Сезон 3]]'},
{'title=Губка Боб Квадратные Штаны (2 сезон)', '[[Губка Боб Квадратные Штаны (3 сезон)|Сезон 3]]'},
{'title=Близкие друзья (Сезон 2)', '[[Близкие друзья (Сезон 3)|Сезон 3]]'},
{'title=Голос (Россия, сезон 5)', '[[Голос (Россия, сезон 6)|Сезон 6]]'},
{'title=The Voice (США, сезон 15)', '[[The Voice (США, сезон 16)|Сезон 16]]'},
{'title=Черепашки-ниндзя (мультсериал, 2012) (2 сезон)', '[[Черепашки-ниндзя (мультсериал, 2012) (3 сезон)|Сезон 3]]'},
{'title=Миссия невыполнима (телесериал, 1988) (сезон 1)', '[[Миссия невыполнима (телесериал, 1988) (сезон 2)|Сезон 2]]'},
{'title=Классический «Доктор Кто» (2-й сезон)', '[[Классический «Доктор Кто» (3-й сезон)|Сезон 3]]'},
{'title=Миссия невыполнима (телесериал, 1988) (сезон 2)', ''}, -- статьи нет
{'title=The Voice (США, сезон 17)', ''}, -- статьи нет
{'title=Американская история ужасов: 1984', '[[Американская история ужасов: Двойной сеанс|Двойной сеанс]]'},
{'title=Американская история ужасов: Апокалипсис', '[[Американская история ужасов: 1984|1984]]'}, -- Сделал исключения для "Американская история ужасов"
{'title=Американская история ужасов: Двойной сеанс|link=[[Американская история ужасов: Нью-Йорк|Нью-Йорк]]', '[[Американская история ужасов: Нью-Йорк|Нью-Йорк]]'}, -- красная ссылка должна отображаться. С этим проблема. Ссылка появится когда будет создана статья!!! -- Это обязательно должно работать, т.к. на рувики нет запрета на красные ссылки. Отсутствие красной ссылки может восприниматься что сезона не было, а не что статьи нет. Красные ссылки указывают очень часто.
{'title=Классический «Доктор Кто» (26-й сезон)|link=[[Доктор Кто (фильм, 1996)|Доктор Кто]] <small>(фильм)</small><br>[[Доктор Кто (1 сезон)|Сезон 1]] <small>(2005)</small>', '[[Доктор Кто (фильм, 1996)|Доктор Кто]] <small>(фильм)</small><br>[[Доктор Кто (1 сезон)|Сезон 1]] <small>(2005)</small>'},
{'title=Убийство Джанни Версаче: Американская история преступлений|link=[[Импичмент: Американская история преступлений|Импичмент]]', '[[Импичмент: Американская история преступлений|Импичмент]]'},
{'title=Суд над Повелителем времени|link=[[Классический «Доктор Кто» (24 сезон)|Сезон 24]]', '[[Классический «Доктор Кто» (24 сезон)|Сезон 24]]'},
{'title=Частный детектив Магнум (2018, сезон 3)', '[[Частный детектив Магнум (2018, сезон 4)|Сезон 4]]'},
{'title=Список серий аниме One Piece (серии 1—61)', ''},
}, {nowiki=1})
end
--[[Раз все варианты будут Сезонами в рувики, тогда удаляю эту функцию из модуля. Только лишнее нагромождение
function p:test_06_getSeasonWord() -- различие между season и series в enwiki, для ru неактуально; спецвыпуски=сезоны
self:preprocess_equals_many('{{#invoke:Сезон сериала|getSeasonWord|', '}}', {
{'title=Остаться в живых (сезон 2)', 'Сезон'},
{'title=Что, если…? (2-й сезон)', 'Сезон'},
{'title=Губка Боб Квадратные Штаны (2 сезон)', 'Сезон'},
{'title=Близкие друзья (Сезон 2)', 'Сезон'},
{'title=Голос (Россия, сезон 5)', 'Сезон'},
{'title=Черепашки-ниндзя (мультсериал, 2012) (2 сезон)', 'Сезон'},
{'title=Доктор Кто (спецвыпуски, 2013)', 'Сезон'},
{'title=Доктор Кто (спецвыпуски, 2008—2010)', 'Сезон'},
})
end]]
function p:test_07_getInfoboxHeader() -- заголовок сериала, все названия должны быть без обоих уточнений
self:preprocess_equals_many('{{#invoke:Сезон сериала|getInfoboxHeader|', '}}', {
{'title=Остаться в живых (сезон 2)', 'Остаться в живых'},
{'title=Что, если…? (2-й сезон)', 'Что, если…?'},
{'title=Губка Боб Квадратные Штаны (2 сезон)', 'Губка Боб Квадратные Штаны'},
{'title=Близкие друзья (Сезон 2)', 'Близкие друзья'},
{'title=Голос (Россия, сезон 5)', 'Голос'},
{'title=Черепашки-ниндзя (мультсериал, 2012) (2 сезон)', 'Черепашки-ниндзя'},
{'title=Доктор Кто (спецвыпуски, 2013)', 'Доктор Кто'},
{'title=Классический «Доктор Кто» (2-й сезон)', 'Классический «Доктор Кто»'},
{'title=Американская история ужасов: 1984', 'Американская история ужасов: 1984'},
{'title=Остаться в живых (сезон 2)', 'Остаться в живых'},
{'title=Агенты «Щ.И.Т.» (7-й сезон)', 'Агенты «Щ.И.Т.»'},
{'title=Список серий аниме One Piece (серии 1—61)', 'Список серий аниме One Piece'},
})
end
function p:test_08_getInfoboxSubHeader() -- подзаголовок карточки с номером сезона; должно быть только "Сезон n"
self:preprocess_equals_many('{{#invoke:Сезон сериала|getInfoboxSubHeader|', '}}', {
{'title=Остаться в живых (сезон 2)', 'Сезон 2'},
{'title=Что, если…? (2-й сезон)', 'Сезон 2'},
{'title=Губка Боб Квадратные Штаны (2 сезон)', 'Сезон 2'},
{'title=Близкие друзья (Сезон 2)', 'Сезон 2'},
{'title=Голос (Россия, сезон 5)', 'Сезон 5'},
{'title=Черепашки-ниндзя (мультсериал, 2012) (2 сезон)', 'Сезон 2'},
{'title=Доктор Кто (спецвыпуски, 2013)', 'Спецвыпуски 2013'},
{'title=Доктор Кто (спецвыпуски, 2008—2010)', 'Спецвыпуски 2008—2010'},
{'title=Американская история ужасов: 1984', ''}, -- извлекать подзаголовки не нужно, т.к. эта функция только для указания номеров сезона
{'title=Остаться в живых (сезон 2)|series_number=2', 'Сезон 2'},
{'title=Остаться в живых (сезон 2)|series_number=5', 'Сезон 5'},
{'title=Список серий аниме One Piece (серии 1—61)', 'Серии 1—61'},
{'title=Список серий «Блич» (сезоны 1-4)', 'Сезоны 1-4'},
{'title=Список эпизодов мультсериала «Симпсоны» (с 21 сезона)', 'Сезоны с 21'}, -- в списках же не нужно подзаголовки получать? там если и будут карточки сезонов, то они должны заполняться через "номер сезона"
{'title=Список серий аниме One Piece (серии 892 и далее)', 'Серии с 892'},
})
end
function p:test_09_getListOfEpisodes() -- Все статьи с каким-то текстом после кавычек и с уточнениями придётся вводить вручную. Их не найти - тут никакой логики...
self:preprocess_equals_many('{{#invoke:Сезон сериала|getListOfEpisodes|', '}}', {
{'title=Остаться в живых (сезон 1)', '[[Список эпизодов телесериала «Остаться в живых»|Список серий]]'},
{'title=Голос (Россия, сезон 12)', '[[Список выпусков телешоу «Голос»|Список серий]]'},
{'title=Симпсоны (сезон 30)', '[[Список эпизодов мультсериала «Симпсоны»|Список серий]]'},
{'title=Агенты «Щ.И.Т.» (2-й сезон)', '[[Список эпизодов телесериала «Агенты „Щ.И.Т.“»|Список серий]]'},
{'title=Лучше звоните Солу (сезон 6)', '[[Список эпизодов телесериала «Лучше звоните Солу»|Список серий]]'},
{'title=Миссия невыполнима (телесериал, 1988) (сезон 1)', '[[Список эпизодов телесериала «Миссия невыполнима» (1988)|Список серий]]'}, -- неправильный заголовок? должно быть в одних скобках? Если переименовать статью в "Список эпизодов телесериала «Миссия невыполнима (телесериал, 1988)», то все будет ок. Но это частый случай и его можно игнорировать и сделать нормальный link=
{'title=Мир Дикого Запада (1-й сезон)', ''},
{'title=Части тела (сезон 1)', ''},
-- plain link. это нужно пока
{'title=Американская история ужасов: Двойной сеанс|link=Список эпизодов телесериала «Американская история ужасов»', '[[Список эпизодов телесериала «Американская история ужасов»|Список серий]]'},
{'title=Остаться в живых (сезон 1)|link=x', '[[x|Список серий]]'},
-- link with formatting. и это нужно.
{'title=Остаться в живых (сезон 1)|link=Список эпизодов телесериала «Остаться в живых»|Список серий', '[[Список эпизодов телесериала «Остаться в живых»|Список серий]]'},
{"title=Остаться в живых (сезон 1)|link=Список эпизодов телесериала «Остаться в живых»|Список эпизодов телесериала «Остаться в живых»", '[[Список эпизодов телесериала «Остаться в живых»|Список серий]]'},
{'title=Остаться в живых (сезон 1)|link=[[Список эпизодов телесериала «Остаться в живых»]]', '[[Список эпизодов телесериала «Остаться в живых»|Список серий]]'},
{'title=Остаться в живых (сезон 1)|link=[[Список эпизодов телесериала «Остаться в живых»|Список серий]]', '[[Список эпизодов телесериала «Остаться в живых»|Список серий]]'},
{'title=Остаться в живых (сезон 1)|link=[[Список эпизодов телесериала «Остаться в живых»|Список эпизодов телесериала «Остаться в живых»]]', '[[Список эпизодов телесериала «Остаться в живых»|Список серий]]'},
{'title=Симпсоны (сезон 34)|link=[[Список эпизодов мультсериала «Симпсоны» (с 21 сезона)|Список серий (с 21 сезона)]]', '[[Список эпизодов мультсериала «Симпсоны» (с 21 сезона)|Список серий]]'},
-- ссылки из названия без подзаголовка
{'title=Торчвуд: День Чуда', '[[Список серий телесериала «Торчвуд»|Список серий]]'},
{'title=Американская история ужасов: Двойной сеанс', '[[Список эпизодов телесериала «Американская история ужасов»|Список серий]]'},
-- ссылка с указанием группы сезоны
{'title=Detective Conan (сезон 1)', '[[Список серий аниме Detective Conan (сезоны 1—15)|Список серий]]'},
-- ссылки на интервики
{'title=Топ-модель по-американски (сезон 1)|link=https://en.wikipedia.org/wiki/List_of_America%27s_Next_Top_Model_episodes', ''},
{'title=Топ-модель по-американски (сезон 1)|link={{Нп5|Список эпизодов шоу «Топ-модель по-американски»|Список серий|en|List of America\'s Next Top Model episodes}}', ''}, -- должны ли отображаться правильно оформленные ссылки на интервики?
{'title=Топ-модель по-американски (сезон 1)|link=[[:en:|List of America\'s Next Top Model episodes|Список серий]]', ''},
}, {nowiki=1})
end
return p
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia