Modul:sort/test

Definition från Wiktionary, den fria ordlistan.
Hoppa till: navigering, sök

All tests passed.

test_1_text:

Text Expected Actual
bara gemener, sv-abc abc abc
mellanrum ska bort, sv-a b c abc abc
diakriter hanteras som egen bokstav, sv-åra z~ra z~ra
diakriter hanteras ej som egen bokstav, en-åra ara ara
versaler till gemener, fr-TV tv tv
diakriter bort även för versaler, egen bokstav, sv-Åre z~re z~re
diakriter bort även för versaler, ej egen bokstav, fr-Åre are are
utan språkkod, diakriter bort ändå, -éüåäö euaao euaao
ej existerande språkkod, diakriter bort ändå, xyz-éüåäö euaao euaao
speciella tecken ska bort, de-a.,-b ab ab
utan språkkod, speciella tecken ska bort, -a.,-b ab ab
ej existerande språkkod, speciella tecken ska bort, xyz-a.,-b ab ab

test_2_nummer:

Text Expected Actual
enkelt nummer, sv-33  ::33  ::33
enkelt nummer med text, sv-ab33cd ab::33cd ab::33cd
dubbelt nummer med text, sv-ab33cd9988ef ab::33cd::::9988ef ab::33cd::::9988ef
dubbelt nummer med text och ledande nollor, sv-ab0033cd09900ef ab::33cd::::9900ef ab::33cd::::9900ef
speciella tecken ska bort, sv-1,2-etandiol  ::12etandiol  ::12etandiol
speciella tecken ska bort, sv-1,2,3-propantriol  :::123propantriol  :::123propantriol

test_3_non_latin:

Text Expected Actual
kinesiska ska ej ändras, zh-中世紀 中世紀 中世紀
local tests = require('Modul:UnitTests')
local s = require('Modul:sort')

function tests:test_1_text()
	self:equals("bara gemener, sv-abc", s.getSortKey("sv","abc"), "abc")
	self:equals("mellanrum ska bort, sv-a b c", s.getSortKey("sv","a b c"), "abc")
	self:equals("diakriter hanteras som egen bokstav, sv-åra", s.getSortKey("sv","åra"), "z~ra")
	self:equals("diakriter hanteras ej som egen bokstav, en-åra", s.getSortKey("en","åra"), "ara")
	self:equals("versaler till gemener, fr-TV", s.getSortKey("fr","TV"), "tv")
	self:equals("diakriter bort även för versaler, egen bokstav, sv-Åre", s.getSortKey("sv","Åre"), "z~re")
	self:equals("diakriter bort även för versaler, ej egen bokstav, fr-Åre", s.getSortKey("fr","Åre"), "are")
	self:equals("utan språkkod, diakriter bort ändå, -éüåäö", s.getSortKey("","éüåäö"), "euaao")
	self:equals("ej existerande språkkod, diakriter bort ändå, xyz-éüåäö", s.getSortKey("xyz","éüåäö"), "euaao")
	self:equals("speciella tecken ska bort, de-a.,-b", s.getSortKey("de","a.,-b"), "ab")
	self:equals("utan språkkod, speciella tecken ska bort, -a.,-b", s.getSortKey("","a.,-b"), "ab")
	self:equals("ej existerande språkkod, speciella tecken ska bort, xyz-a.,-b", s.getSortKey("xyz","a.,-b"), "ab")
end

function tests:test_2_nummer()
	self:equals("enkelt nummer, sv-33", s.getSortKey("sv","33"), "::33")
	self:equals("enkelt nummer med text, sv-ab33cd", s.getSortKey("sv","ab33cd"), "ab::33cd")
	self:equals("dubbelt nummer med text, sv-ab33cd9988ef", s.getSortKey("sv","ab33cd9988ef"), "ab::33cd::::9988ef")
	self:equals("dubbelt nummer med text och ledande nollor, sv-ab0033cd09900ef", s.getSortKey("sv","ab0033cd09900ef"), "ab::33cd::::9900ef")
	self:equals("speciella tecken ska bort, sv-1,2-etandiol", s.getSortKey("sv","1,2-etandiol"), "::12etandiol")
	self:equals("speciella tecken ska bort, sv-1,2,3-propantriol", s.getSortKey("sv","1,2,3-propantriol"), ":::123propantriol")
end

function tests:test_3_non_latin()
	self:equals("kinesiska ska ej ändras, zh-中世紀", s.getSortKey("zh", "中世紀"), "中世紀")
end


return tests