Модуль:Участник:NirvanaBot/Portal settings helper/tests
Перейти к навигации
Перейти к поиску
Это тест-кейсы для модуля Модуль:Участник:NirvanaBot/Portal settings helper. Результаты см. здесь.
-- Юнит-тесты для [[Модуль:Участник:NirvanaBot/Portal settings helper]]. Нажмите стр. обс. чтобы запустить тесты.
local p = require('Module:UnitTests')
local mModule = require('Module:Участник:NirvanaBot/Portal settings helper')
-- parseCategoryList tests.
function p:test_parse_no_category_argument()
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | parseCategoryList}}', 'categorylist argument not found')
end
--function p:test_parse_1_category_call_as_template()
-- self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | parseCategoryList| categorylist=Компьютерные сети}}', 'OK')
--end
function p:test_parse_1_category()
self:equals_deep('Table comparison', mModule._parseCategoryList('Компьютерные сети'), {'Компьютерные сети'})
end
function p:test_parse_1_category_quoted()
self:equals_deep('Table comparison', mModule._parseCategoryList('"Компьютерные сети"'), {'Компьютерные сети'})
end
function p:test_parse_many_categories()
self:equals_deep('Table comparison', mModule._parseCategoryList('Компьютерные сети, Цифровой анархизм, Хакерство'), {'Компьютерные сети', 'Цифровой анархизм', 'Хакерство'})
-- self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Category list parser | main| categorylist=Компьютерные сети, Цифровой анархизм, Хакерство}}', 'OK')
end
function p:test_parse_many_categories_quoted()
self:equals_deep('Table comparison', mModule._parseCategoryList('"Компьютерные сети", "Цифровой анархизм", "Хакерство"'), {'Компьютерные сети', 'Цифровой анархизм', 'Хакерство'})
end
function p:test_parse_category_with_comma()
local actual = mModule._parseCategoryList('"Незавершённые статьи по истории Белоруссии", "События в Белоруссии", "Террористические акты, совершённые в Белоруссии"')
local expected = {'Незавершённые статьи по истории Белоруссии', 'События в Белоруссии', 'Террористические акты, совершённые в Белоруссии'}
self:equals_deep('Table comparison', actual, expected)
end
-- wikifyCategoryList tests --
function p:test_wikify_no_category_argument()
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | wikifyCategoryList}}', 'categorylist argument not found')
end
function p:test_wikify_1_category_as_template()
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | wikifyCategoryList| categorylist=Компьютерные сети}}', '[[:Категория:Компьютерные сети|Компьютерные сети]]')
end
function p:test_wikify_1_category()
self:equals_deep('Table comparison', mModule._wikifyCategoryList('Компьютерные сети'), '[[:Категория:Компьютерные сети|Компьютерные сети]]')
end
function p:test_wikify_1_category_quoted()
self:equals_deep('Table comparison', mModule._wikifyCategoryList('"Компьютерные сети"'), '[[:Категория:Компьютерные сети|Компьютерные сети]]')
end
function p:test_wikify_1_category_quoted_as_template()
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | wikifyCategoryList| categorylist="Компьютерные сети"}}', '[[:Категория:Компьютерные сети|Компьютерные сети]]')
end
function p:test_wikify_many_categories()
self:equals_deep('Table comparison', mModule._wikifyCategoryList('Компьютерные сети, Цифровой анархизм, Хакерство'), '[[:Категория:Компьютерные сети|Компьютерные сети]], [[:Категория:Цифровой анархизм|Цифровой анархизм]], [[:Категория:Хакерство|Хакерство]]')
end
function p:test_wikify_many_categories_as_template()
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | wikifyCategoryList| categorylist=Компьютерные сети, Цифровой анархизм, Хакерство}}',
'[[:Категория:Компьютерные сети|Компьютерные сети]], [[:Категория:Цифровой анархизм|Цифровой анархизм]], [[:Категория:Хакерство|Хакерство]]')
end
function p:test_wikify_many_categories_quoted()
self:equals_deep('Table comparison', mModule._wikifyCategoryList('"Компьютерные сети", "Цифровой анархизм", "Хакерство"'), '[[:Категория:Компьютерные сети|Компьютерные сети]], [[:Категория:Цифровой анархизм|Цифровой анархизм]], [[:Категория:Хакерство|Хакерство]]')
end
function p:test_wikify_many_categories_quoted_as_template()
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | wikifyCategoryList| categorylist="Компьютерные сети", "Цифровой анархизм", "Хакерство"}}',
'[[:Категория:Компьютерные сети|Компьютерные сети]], [[:Категория:Цифровой анархизм|Цифровой анархизм]], [[:Категория:Хакерство|Хакерство]]')
end
function p:test_wikify_category_with_comma()
local actual = mModule._wikifyCategoryList('"Незавершённые статьи по истории Белоруссии", "События в Белоруссии", "Террористические акты, совершённые в Белоруссии"')
local expected = '[[:Категория:Незавершённые статьи по истории Белоруссии|Незавершённые статьи по истории Белоруссии]], [[:Категория:События в Белоруссии|События в Белоруссии]], [[:Категория:Террористические акты, совершённые в Белоруссии|Террористические акты, совершённые в Белоруссии]]'
self:equals_deep('Table comparison', actual, expected)
end
function p:test_wikify_category_with_comma_as_template()
local expected = '[[:Категория:Незавершённые статьи по истории Белоруссии|Незавершённые статьи по истории Белоруссии]], [[:Категория:События в Белоруссии|События в Белоруссии]], [[:Категория:Террористические акты, совершённые в Белоруссии|Террористические акты, совершённые в Белоруссии]]'
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | wikifyCategoryList| categorylist="Незавершённые статьи по истории Белоруссии", "События в Белоруссии", "Террористические акты, совершённые в Белоруссии"}}', expected)
end
-- petscan tests --
function p:test_petscan_no_category_argument()
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | petscan}}', 'categorylist argument not found')
end
function p:test_petscan_no_depth_argument()
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | petscan|categorylist=Компьютерные сети}}', 'depth argument not found')
end
function p:test_petscan_no_hours_argument()
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | petscan|categorylist=Компьютерные сети|depth=5|only_new=1}}', 'hours argument not found')
end
function p:test_petscan_1_category()
local expected = 'https://petscan.wmflabs.org/?language=ru&project=wikipedia&depth=5&categories=%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B5+%D1%81%D0%B5%D1%82%D0%B8&negcats=&ns%5B0%5D=1&templates_any=&combination=union&max_age=&sortby=title&format=html&interface_language=ru&doit=1'
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | petscan| categorylist=Компьютерные сети|depth=5|ns=0}}', expected)
end
function p:test_petscan_1_category_only_new()
local expected = 'https://petscan.wmflabs.org/?language=ru&project=wikipedia&depth=5&categories=%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B5+%D1%81%D0%B5%D1%82%D0%B8&negcats=&ns%5B0%5D=1&templates_any=&combination=union&max_age=500&only_new=on&sortorder=descending&format=html&interface_language=ru&doit=1'
self:preprocess_equals_preprocess('{{#invoke:Участник:NirvanaBot/Portal settings helper | petscan| categorylist=Компьютерные сети|depth=5|hours=500|ns=0|only_new=1}}', expected)
end
function p:test_catscan_many_categories()
self:preprocess_equals('{{#invoke:Участник:NirvanaBot/Portal settings helper | petscan| categorylist="Компьютерные сети", "Цифровой анархизм", "Хакерство"|depth=5|hours=500}}', 'OK')
end
return p