Files
Bubberstation/code/modules/unit_tests/achievements.dm
AnturK ed3bade706 Adds unit test to check for spritesheet issues (#70351)
* Adds a new spritesheet unit test to catch edge-cases that caused problems in the past.
2022-10-11 11:42:05 -04:00

14 lines
665 B
Plaintext

///Checks that all achievements have an existing icon state in the achievements icon file.
/datum/unit_test/achievements
/datum/unit_test/achievements/Run()
var/award_icons = icon_states(ACHIEVEMENTS_SET)
for(var/datum/award/award as anything in subtypesof(/datum/award))
if(!initial(award.name)) //Skip abstract achievements types
continue
var/init_icon = initial(award.icon)
if(!init_icon || !(init_icon in award_icons))
TEST_FAIL("Award [initial(award.name)] has an unexistent icon: \"[init_icon || "null"]\"")
if(length(initial(award.database_id)) > 32) //sql schema limit
TEST_FAIL("Award [initial(award.name)] database id is is too long")