Files
Bubberstation/code/modules/unit_tests/achievements.dm
SkyratBot 7947051eab [MIRROR] Adds unit test to check for spritesheet issues [MDB IGNORE] (#16774)
* 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.

* Adds unit test to check for spritesheet issues

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-10-11 17:47:01 +01: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")