Adds a unit test to check for any missing initial icon states (#8332)

This commit is contained in:
mikomyazaki
2020-02-23 02:43:12 -03:00
committed by GitHub
parent bc7286647e
commit 21f348ec57
106 changed files with 214 additions and 304 deletions
+38
View File
@@ -0,0 +1,38 @@
/datum/unit_test/icon_test
name = "ICON STATE template"
/datum/unit_test/icon_test/all_initial_icon_states_shall_exist
name = "ICON STATE - All initial icon states shall exist"
var/list/excepted_atoms = list() // Any specific atoms that should not be included
var/list/excepted_icon_files = list() //Contains any .dmi files you do not want this test to run on
var/list/excepted_icon_states = list() //Any individual icon states you do not want this test to run on
/datum/unit_test/icon_test/all_initial_icon_states_shall_exist/start_test()
var/list/failed_icons = list()
for(var/atom_type in (subtypesof(/atom) - excepted_atoms))
var/failed = FALSE
var/atom/test_atom = atom_type
var/atom_icon = initial(test_atom.icon)
if(atom_icon in excepted_icon_files)
continue
if(atom_icon)
var/atom_icon_state = initial(test_atom.icon_state)
if(!atom_icon_state || (atom_icon_state in excepted_icon_states))
continue
var/list/valid_states = icon_states(atom_icon)
if(!(atom_icon_state in valid_states))
failed = TRUE
log_unit_test("[ascii_red]--------------- [atom_type] - Icon state [atom_icon_state] was not found in [atom_icon].")
if(failed)
failed_icons += atom_type
if(LAZYLEN(failed_icons))
fail("[LAZYLEN(failed_icons)] atom initial icons were not found.")
else
pass("All atom initial icons were valid.")
return TRUE