Module:Statement/testcases
Jump to navigation
Jump to search
CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules
Lua
Documentation for this module may be created at Module:Statement/testcases/doc
Code
local statementModule = require( 'Module:Statement' )
local ScribuntoUnit = require( 'Module:ScribuntoUnit' )
local suite = ScribuntoUnit:new()
local somevalueReturn = function() end
local novalueReturn = function() end
function suite:testMainStringXhosa()
local wikitext, hasOther, string = statementModule.string( 'M2314827', 'P898' )
self:assertEquals( '[ᵏǁʰóːsa]', wikitext )
self:assertEquals( false, hasOther )
self:assertEquals( '[ᵏǁʰóːsa]', string )
end
function suite:testMainStringXhosaFromFullEntity()
local entity = mw.wikibase.getEntity( 'M2314827' )
local wikitext, hasOther, string = statementModule.string( entity, 'P898' )
self:assertEquals( '[ᵏǁʰóːsa]', wikitext )
self:assertEquals( false, hasOther )
self:assertEquals( '[ᵏǁʰóːsa]', string )
end
function suite:testMainUrl()
local url, hasOther = statementModule.url( 'M85023113', 'P973' )
self:assertEquals( 'https://lib.digitalnc.org/record/35438', url )
self:assertEquals( false, hasOther )
end
function suite:testMainEntityIdBi()
local entityId, hasOther, entityType = statementModule.entityId( 'M80857538', 'P180' )
self:assertEquals( 'Q1426529', entityId )
self:assertEquals( true, hasOther )
self:assertEquals( 'item', entityType )
end
function suite:testMainEntityIdBiFromWikidata()
local entityId, hasOther, entityType = statementModule.entityId( 'Q1426529', 'P1268' )
self:assertEquals( 'Q43200', entityId )
self:assertEquals( false, hasOther )
self:assertEquals( 'item', entityType )
end
function suite:testMainEntityIdSomevalue()
local entityId, hasOther, entityType = statementModule.entityId( 'M89928027', 'P170', somevalueReturn, novalueReturn )
self:assertEquals( somevalueReturn, entityId )
self:assertEquals( false, hasOther )
self:assertEquals( nil, entityType )
end
function suite:testMainEntityIdNovalue()
local entityId, hasOther, entityType = statementModule.entityId( 'M323610', 'P180', somevalueReturn, novalueReturn )
self:assertEquals( novalueReturn, entityId )
self:assertEquals( false, hasOther )
self:assertEquals( nil, entityType )
end
function suite:testMainMonolingualTextBr()
local wikitext, hasOther, text, language = statementModule.monolingualText( 'M106910810', 'P9533' )
self:assertEquals( '<span lang="br" dir="ltr">c'hoari</span>', wikitext )
self:assertEquals( false, hasOther )
self:assertEquals( "c'hoari", text )
self:assertEquals( 'br', language:getCode() )
end
function suite:testMainMonolingualTextHe()
local wikitext, hasOther, text, language = statementModule.monolingualText( 'M110839429', 'P9533' )
self:assertEquals( '<span lang="he" dir="rtl">שלום</span>', wikitext )
self:assertEquals( false, hasOther )
self:assertEquals( 'שלום', text )
self:assertEquals( 'he', language:getCode() )
end
function suite:testMainTimeInception()
local timestamp, hasOther, precision, calendar = statementModule.time( 'M38570', 'P571' )
self:assertEquals( '+2004-01-02T00:00:00Z', timestamp )
self:assertEquals( false, hasOther )
self:assertEquals( 11, precision )
self:assertEquals( 'Q1985727', calendar )
end
function suite:testMainDateDay()
local date, hasOther, precision, calendar, timestamp = statementModule.date( 'M38570', 'P571' )
self:assertEquals( '2004-01-02', date )
self:assertEquals( false, hasOther )
self:assertEquals( 11, precision )
self:assertEquals( 'Q1985727', calendar )
self:assertEquals( '+2004-01-02T00:00:00Z', timestamp )
end
function suite:testMainDateMonth()
local date, hasOther, precision, calendar, timestamp = statementModule.date( 'M17811375', 'P571' )
self:assertEquals( '1972-04', date )
self:assertEquals( false, hasOther )
self:assertEquals( 10, precision )
self:assertEquals( 'Q1985727', calendar )
self:assertEquals( '+1972-04-24T00:00:00Z', timestamp )
end
function suite:testMainDateYear()
local date, hasOther, precision, calendar, timestamp = statementModule.date( 'M7342752', 'P571' )
self:assertEquals( '1814', date )
self:assertEquals( false, hasOther )
self:assertEquals( 9, precision )
self:assertEquals( 'Q1985727', calendar )
self:assertEquals( '+1814-01-01T00:00:00Z', timestamp )
end
function suite:testMainDateDecade()
local date, hasOther, precision, calendar, timestamp = statementModule.date( 'M6366343', 'P571' )
self:assertEquals( '1727', date )
self:assertEquals( false, hasOther )
self:assertEquals( 8, precision )
self:assertEquals( 'Q1985727', calendar )
self:assertEquals( '+1727-00-00T00:00:00Z', timestamp )
end
function suite:testQualStringWikimediaUsername()
local wikitext, hasOtherStatement, hasOtherQualifier, string = statementModule.stringQualifier( 'M573277', 'P170', 'P4174' )
self:assertEquals( 'Can't sleep, clown will eat me', wikitext )
self:assertEquals( false, hasOtherStatement )
self:assertEquals( false, hasOtherQualifier )
self:assertEquals( "Can't sleep, clown will eat me", string )
end
function suite:testQualUrl()
local url, hasOtherStatement, hasOtherQualifier = statementModule.urlQualifier( 'M79977121', 'P170', 'P2699' )
self:assertEquals( 'https://www.flickr.com/people/24662369@N07', url )
self:assertEquals( false, hasOtherStatement )
self:assertEquals( false, hasOtherQualifier )
end
function suite:testQualEntityIdPhotographer()
local entityId, hasOtherStatement, hasOtherQualifier, entityType = statementModule.entityIdQualifier( 'M80857538', 'P170', 'P3831' )
self:assertEquals( 'Q33231', entityId )
self:assertEquals( false, hasOtherStatement )
self:assertEquals( false, hasOtherQualifier )
self:assertEquals( 'item', entityType )
end
function suite:testQualMonolingualTextInscription()
local wikitext, hasOtherStatement, hasOtherQualifier, text, language = statementModule.monolingualTextQualifier( 'M107006882', 'P180', 'P1684' )
self:assertEquals( '<span lang="en" dir="ltr">It’s the BI-ble, not the Straight-ble.</span>', wikitext )
self:assertEquals( false, hasOtherStatement )
self:assertEquals( false, hasOtherQualifier )
self:assertEquals( 'It’s the BI-ble, not the Straight-ble.', text )
self:assertEquals( 'en', language:getCode() )
end
function suite:testQualMonolingualTextInscriptionMultiple()
local wikitext, hasOtherStatement, hasOtherQualifier, text, language = statementModule.monolingualTextQualifier( 'M440563', 'P180', 'P1684' )
self:assertEquals( '<span lang="de" dir="ltr">Aurich</span>', wikitext )
self:assertEquals( false, hasOtherStatement )
self:assertEquals( true, hasOtherQualifier )
self:assertEquals( 'Aurich', text )
self:assertEquals( 'de', language:getCode() )
end
function suite:testQualTimeValuedImage()
local timestamp, hasOtherStatement, hasOtherQualifier, precision, calendar = statementModule.timeQualifier( 'M38570', 'P6731', 'P580' )
self:assertEquals( '+2008-07-08T00:00:00Z', timestamp )
self:assertEquals( false, hasOtherStatement )
self:assertEquals( false, hasOtherQualifier )
self:assertEquals( 11, precision )
self:assertEquals( 'Q1985727', calendar )
end
function suite:testQualDateMonth()
local date, hasOtherStatement, hasOtherQualifier, precision, calendar, timestamp = statementModule.dateQualifier( 'M97052174', 'P180', 'P585' )
self:assertEquals( '1925-01', date )
self:assertEquals( true, hasOtherStatement )
self:assertEquals( false, hasOtherQualifier )
self:assertEquals( 10, precision )
self:assertEquals( 'Q1985727', calendar )
self:assertEquals( '+1925-01-00T00:00:00Z', timestamp )
end
function suite:testQualDateYear()
local date, hasOtherStatement, hasOtherQualifier, precision, calendar, timestamp = statementModule.dateQualifier( 'M111087121', 'P180', 'P585' )
self:assertEquals( '1935', date )
self:assertEquals( true, hasOtherStatement )
self:assertEquals( false, hasOtherQualifier )
self:assertEquals( 9, precision )
self:assertEquals( 'Q1985727', calendar )
self:assertEquals( '+1935-00-00T00:00:00Z', timestamp )
end
function suite:testQualDateDecade()
local date, hasOtherStatement, hasOtherQualifier, precision, calendar, timestamp = statementModule.dateQualifier( 'M91487680', 'P180', 'P585' )
self:assertEquals( '1410', date )
self:assertEquals( true, hasOtherStatement )
self:assertEquals( false, hasOtherQualifier )
self:assertEquals( 8, precision )
self:assertEquals( 'Q1985786', calendar )
self:assertEquals( '+1410-00-00T00:00:00Z', timestamp )
end
function suite:testQualDateBCE()
local date, hasOtherStatement, hasOtherQualifier, precision, calendar, timestamp = statementModule.dateQualifier( 'M102941076', 'P180', 'P585' )
self:assertEquals( '-0700', date )
self:assertEquals( false, hasOtherStatement )
self:assertEquals( false, hasOtherQualifier )
self:assertEquals( 8, precision )
self:assertEquals( 'Q1985786', calendar )
self:assertEquals( '-0700-00-00T00:00:00Z', timestamp )
end
return suite