Modul:Valuta/testtilfeller

Fra Wikipedia, den frie encyklopedi


-- Unit tests for [[Module:Valuta]]. Click talk page to run tests.
local Tests = require('Module:UnitTests')
local Valuta = require('Module:Valuta')

function Tests:test_create()
	local valuta = Valuta.create( 'NOK', 42 )
	self:equals( 'valuta:getLabel("nb")', valuta:getLabel("nb"),
		'norsk krone' )
	self:equals( 'valuta:getSitelink("nowiki")', valuta:getLabel("nowiki"),
		'norsk krone' )
	self:equals( 'valuta:getValue()', valuta:getValue(),
		42 )
	self:equals_deep( 'valuta:getCodes()', valuta:getCodes(),
		{ 'NOK' } )
	self:equals_deep( 'valuta:getSymbols()', valuta:getSymbols(),
		{ 'kr' } )
	self:equals( 'valuta:formatTitlestring("nb")', valuta:formatTitlestring( "nb" ),
		'norsk krone (kr): 42' )
	self:equals( 'valuta:formatWikitext("nowiki")', valuta:formatWikitext( "nowiki" ),
		'[[Norsk krone|NOK]] 42' )
	self:equals( 'valuta:format("nowiki","nb")', tostring( valuta:format( "nowiki","nb" ) ),
		'<span class="note nowrap" title="norsk krone (kr): 42">[[Norsk krone|NOK]] 42</span>' )
end

function Tests:test_parse()
	self:equals( 'Valuta.parse("NOK 42")', tostring( Valuta.parse( "NOK 42" ) ),
		'<span class="note nowrap" title="norsk krone (kr): 42">[[Norsk krone|NOK]] 42</span>' )
	self:equals( 'Valuta.parse("NOK 42000")', tostring( Valuta.parse( "NOK 42000" ) ),
		'<span class="note nowrap" title="norsk krone (kr): 42&#160;000">[[Norsk krone|NOK]] 42&#160;000</span>' )
	self:equals( 'Valuta.parse("NOK 3.14156")', tostring( Valuta.parse( "NOK 3.14156" ) ),
		'<span class="note nowrap" title="norsk krone (kr): 3,14156">[[Norsk krone|NOK]] 3,14156</span>' )
	self:equals( 'Valuta.parse("NOK 3,14156")', tostring( Valuta.parse( "NOK 3,14156" ) ),
		'<span class="note nowrap" title="norsk krone (kr): 3,14156">[[Norsk krone|NOK]] 3,14156</span>' )
	self:equals( 'Valuta.parse("foo NOK 42 bar")', tostring( Valuta.parse( "foo NOK 42 bar" ) ),
		'foo '
		..'<span class="note nowrap" title="norsk krone (kr): 42">[[Norsk krone|NOK]] 42</span>'
		..' bar' )
	self:equals( 'Valuta.parse("foo NOK 42 bar SEK 3.14156 baz")', tostring( Valuta.parse( "foo NOK 42 bar SEK 3.14156 baz" ) ),
		'foo '
		..'<span class="note nowrap" title="norsk krone (kr): 42">[[Norsk krone|NOK]] 42</span>'
		..' bar '
		..'<span class="note nowrap" title="svensk krone (kr): 3,14156">[[Svensk krone|SEK]] 3,14156</span>'
		..' baz' )
end

function Tests:test_query()
	self:preprocess_equals( '{{#invoke:Valuta|query|NOK 42}}',
		'<span class="note nowrap" title="norsk krone (kr): 42">[[Norsk krone|NOK]] 42</span>' )
	self:preprocess_equals( '{{#invoke:Valuta|query|NOK 3.14156}}',
		'<span class="note nowrap" title="norsk krone (kr): 3,14156">[[Norsk krone|NOK]] 3,14156</span>' )
	self:preprocess_equals( '{{#invoke:Valuta|query|foo NOK 42 bar}}',
		'foo '
		..'<span class="note nowrap" title="norsk krone (kr): 42">[[Norsk krone|NOK]] 42</span>'
		..' bar' )
	self:preprocess_equals( '{{#invoke:Valuta|query|foo NOK 42 bar SEK 3.14156 baz}}',
		'foo '
		..'<span class="note nowrap" title="norsk krone (kr): 42">[[Norsk krone|NOK]] 42</span>'
		..' bar '
		..'<span class="note nowrap" title="svensk krone (kr): 3,14156">[[Svensk krone|SEK]] 3,14156</span>'
		..' baz' )
end

function Tests:test_template()
	self:preprocess_equals( '{{Valuta|NOK 42}}',
		'<span class="note nowrap" title="norsk krone (kr): 42">[[Norsk krone|NOK]] 42</span>' )
end

return Tests