Module:Titlelib/testcases

From Meta, a Wikimedia project coordination wiki
-- Unit tests for [[Module:Titlelib]]. Click talk page to run tests.
local p = require('Module:UnitTests')
local m = require('Module:Titlelib')

--[[ testcases:
	':fr:'	→	{':fr:', ''}
	':Category:Categories'	→	{':', ':Category:Categories'}
	'w:'	→	{':w:', ''}
	'fr:Hello'	→	{':fr:', 'Hello'}
	'w:en:Wikipedia:Hello'	→	{':w:en:', 'Wikipedia:Hello'}
	'w:Wikipedia:Hello'	→	{':w:', 'Wikipedia:Hello'}
	'meta:Meta:Vandalism'	→	{':', ':meta:Meta:Vandalism'}
	'meta:Vandalism'	→	{':', ':meta:Vandalism'}
	'Wikipedia:Hello'	→	{':Wikipedia:', 'Hello'}
]]
function p:test_splitPrefixedTitle()
	local actual1, actual2 = m.splitPrefixedTitle(':fr:')
	local expected1, expected2 = ':fr:', ''
    self:equals('splitPrefixedTitle', actual1, expected1)
    self:equals('splitPrefixedTitle', actual2, expected2)
    
    actual1, actual2 = m.splitPrefixedTitle(':Category:Categories')
	expected1, expected2 = ':', ':Category:Categories'
    self:equals('splitPrefixedTitle', actual1, expected1)
    self:equals('splitPrefixedTitle', actual2, expected2)
    
    actual1, actual2 = m.splitPrefixedTitle('w:')
	expected1, expected2 = ':w:', ''
    self:equals('splitPrefixedTitle', actual1, expected1)
    self:equals('splitPrefixedTitle', actual2, expected2)
    
    actual1, actual2 = m.splitPrefixedTitle('fr:Hello')
	expected1, expected2 = ':fr:', ':Hello'
    self:equals('splitPrefixedTitle', actual1, expected1)
    self:equals('splitPrefixedTitle', actual2, expected2)
    
    actual1, actual2 = m.splitPrefixedTitle('w:en:Wikipedia:Hello')
	expected1, expected2 = ':w:en:', ':Wikipedia:Hello'
    self:equals('splitPrefixedTitle', actual1, expected1)
    self:equals('splitPrefixedTitle', actual2, expected2)
    
    actual1, actual2 = m.splitPrefixedTitle('w:Wikipedia:Hello')
	expected1, expected2 = ':w:', 'Wikipedia:Hello'
    self:equals('splitPrefixedTitle', actual1, expected1)
    self:equals('splitPrefixedTitle', actual2, expected2)
    
    actual1, actual2 = m.splitPrefixedTitle('meta:Meta:Vandalism')
	expected1, expected2 = ':', ':meta:Meta:Vandalism'
    self:equals('splitPrefixedTitle', actual1, expected1)
    self:equals('splitPrefixedTitle', actual2, expected2)
    
    actual1, actual2 = m.splitPrefixedTitle('meta:Vandalism')
	expected1, expected2 = ':', ':meta:Vandalism'
    self:equals('splitPrefixedTitle', actual1, expected1)
    self:equals('splitPrefixedTitle', actual2, expected2)
    
    actual1, actual2 = m.splitPrefixedTitle('Wikipedia:Hello')
	expected1, expected2 = ':Wikipedia:', 'Hello'
    self:equals('splitPrefixedTitle', actual1, expected1)
    self:equals('splitPrefixedTitle', actual2, expected2)
end

return p