Модуль:Wikidata/Flags/testcases
< Модуль:Wikidata | Flags
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