Модуль:Wikidata/redLink/тесты

Материал из Буквицы
Версия от 15:38, 27 июля 2025; Karaby (обсуждение | вклад) (1 версия импортирована)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Для документации этого модуля может быть создана страница Модуль:Wikidata/redLink/тесты/doc

local Module = mw.getCurrentFrame():getParent():getTitle()
Module = Module:gsub('Модуль:', ''):gsub('/doc', '')

local p = require('Module:UnitTests')
local r = require('Модуль:'..Module)

function p:test_formatRedLinkFromTemplate()
    self:preprocess_equals('{{#invoke:'..Module..' | formatRedLinkFromTemplate }}', '<span class="error">Не указан элемент Викиданных</span>' )
    self:preprocess_equals('{{#invoke:'..Module..' | formatRedLinkFromTemplate | Q6 }}', '<span class="error">Нет метки у элемента Q6</span>' )
    self:preprocess_equals('{{#invoke:'..Module..' | formatRedLinkFromTemplate | Q42 }}', '[[Адамс, Дуглас|Дуглас Адамс]]' )
    self:preprocess_equals('{{#invoke:'..Module..' | formatRedLinkFromTemplate | Q42 | Дуглас Ноэль Адамс }}', '[[Адамс, Дуглас|Дуглас Ноэль Адамс]]')
    self:preprocess_equals('{{#invoke:'..Module..' | formatRedLinkFromTemplate | Q2 | Земля }}', '[[Земля]]')
    self:preprocess_equals('{{#invoke:'..Module..' | formatRedLinkFromTemplate | Q3124803 | HD 23985 }}', r.formatRedLink('HD 23985', 'HD 23985', 'Q3124803', 'Звезда') )
    self:preprocess_equals('{{#invoke:'..Module..' | formatRedLinkFromTemplate | Q100712902 | Я. Венник }}', r.formatRedLink('Яан Аугустович Венник', 'Я. Венник', 'Q100712902', 'Учёный') )
    self:preprocess_equals('{{#invoke:'..Module..' | formatRedLinkFromTemplate | Q84437742 | LDS 5078 }}', r.formatRedLink('** LDS 5078', 'LDS 5078', 'Q84437742', 'Универсальная карточка') )
    self:preprocess_equals('{{#invoke:'..Module..' | formatRedLinkFromTemplate | Q74169392 | [GS55] 204 }}', '[GS55] 204' )
end

function p:test_getInfobox()
    self:equals("getInfobox()", r.getInfobox(), 'Универсальная карточка')
    self:equals("getInfobox('Q6')", r.getInfobox('Q6'), 'Универсальная карточка')
    self:equals("getInfobox('Q1')", r.getInfobox('Q1'), 'Универсальная карточка')
    self:equals("getInfobox('Q35762485')", r.getInfobox('Q35762485'), 'Универсальная карточка')
    self:equals("getInfobox('Q42')", r.getInfobox('Q42'), 'Персона')
    self:equals("getInfobox('Q3427')", r.getInfobox('Q3427'), 'Звезда')
    self:equals("getInfobox('Q4869')", r.getInfobox('Q4869'), 'Галактика')
    self:equals("getInfobox('Q42', 'Писатель')", r.getInfobox('Q42', 'Писатель'), 'Писатель')
end

function p:test_getBioInfobox()
    self:equals("getBioInfobox()", r.getBioInfobox(), 'Персона')
    self:equals("getBioInfobox('Q81840636')", r.getBioInfobox('Q81840636'), 'Персона')
    self:equals("getBioInfobox('Q40192238')", r.getBioInfobox('Q40192238'), 'Учёный')
end


return p