Модуль:Wikidata/Flags/testcases

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Документация

Модуль:Wikidata/Flags

✔ Все тесты пройдены.

Название Ожидается Фактически
✔ testGetFlag
local scribuntoUnit = require( 'Module:ScribuntoUnit' )
local testUtils = require( 'Module:Wikidata/TestUtils' )
local p = scribuntoUnit:new()
local libName = 'Wikidata/Flags'

-- Helper to run all tests using sandbox version of the library from the debug console. To run against main lib, use  =p.run()
function p.runSandbox()
	local frame = mw.getCurrentFrame():newChild{title='testcases', args={module=libName .. '/sandbox', displayMode='log'}}
	return p.run( frame )
end

-- Allow test runner to use both the main library and the sandbox of the library with the same testcases
function p:module()
	return self.frame and self.frame.args.module or libName
end

function p:invokeLib( wikicode )
	return '{{#invoke:' .. p:module() .. '|' .. wikicode .. '}}'
end

function p:testGetFlag()
	local wdFlags = require( 'Module:' .. p:module() )
	
	-- Флаг указан на соответствующую дату
	self:assertEquals(
		'[[File:Flag of Germany (1935–1945).svg|20x15px|border|link=|alt=]]',
		wdFlags.getFlag( testUtils.parseTimeFromSnak, 'Q183', testUtils.parseTimeFromDate( '1944-01-01' ) )
	)
	self:assertEquals(
		'[[File:Flag of Germany.svg|20x15px|border|link=|alt=]]',
		wdFlags.getFlag( testUtils.parseTimeFromSnak, 'Q183', testUtils.parseTimeFromDate( '1950-01-01' ) )
	)

	-- Значение no value на дату
	self:assertEquals( nil, wdFlags.getFlag( testUtils.parseTimeFromSnak, 'Q183', testUtils.parseTimeFromDate( '1947-01-01' ) ) )
	
	-- Дата до самого первого флага
	self:assertEquals( nil, wdFlags.getFlag( testUtils.parseTimeFromSnak, 'Q15180', testUtils.parseTimeFromDate( '1892-01-01' ) ) )

	-- Дата после последнего флага, но без no value
	self:assertEquals(
		'[[File:Flag of the Soviet Union.svg|20x15px|border|link=|alt=]]',
		wdFlags.getFlag( testUtils.parseTimeFromSnak, 'Q15180', testUtils.parseTimeFromDate( '1992-01-01' ) )
	)
end

return p