83 lines
2.8 KiB
GDScript
83 lines
2.8 KiB
GDScript
extends GutInternalTester
|
|
|
|
func should_skip_script():
|
|
return EngineDebugger.is_active()
|
|
|
|
func test_can_make_one():
|
|
var gf = GutUtils.GutFonts.new()
|
|
assert_not_null(gf)
|
|
|
|
|
|
func test_can_get_regular_font():
|
|
var gf = GutUtils.GutFonts.new()
|
|
var f = gf.get_font("AnonymousPro", gf.FONT_TYPES.REGULAR)
|
|
assert_not_null(f)
|
|
|
|
|
|
func test_all_custom_fonts_are_populated():
|
|
var gf = GutUtils.GutFonts.new()
|
|
for font_name in gf.fonts:
|
|
for font_type in gf.FONT_TYPES:
|
|
var type_name = gf.FONT_TYPES[font_type]
|
|
var f = gf.get_font(font_name, type_name)
|
|
assert_not_null(f, str(font_name, ':', type_name))
|
|
|
|
|
|
func test_default_font_returned_for_invalid_font_name():
|
|
var gf = GutUtils.GutFonts.new()
|
|
var default = gf.get_font("Default")
|
|
var bad_font = gf.get_font('_bad_')
|
|
assert_eq(bad_font, default)
|
|
assert_push_error("Invalid font name '_bad_'")
|
|
|
|
|
|
func test_default_font_returned_for_invalid_font_type():
|
|
var gf = GutUtils.GutFonts.new()
|
|
var default = gf.get_font("Default")
|
|
var bad_font = gf.get_font('AnonymousPro', '_bad_')
|
|
assert_eq(bad_font, default)
|
|
assert_push_error("Invalid font type '_bad_'")
|
|
|
|
|
|
func test_when_file_does_not_exist_default_is_returned():
|
|
var gf = GutUtils.GutFonts.new()
|
|
gf.custom_font_path = "res://folder_does_not_exist/"
|
|
var default = gf.get_font("Default")
|
|
var bad_font = gf.get_font('AnonymousPro')
|
|
assert_eq(bad_font, default)
|
|
assert_push_error("Missing custom font")
|
|
|
|
|
|
var font_mappings = ParameterFactory.named_parameters(
|
|
['theme_font_name', 'custom_font_type'],
|
|
[
|
|
['font', GutUtils.GutFonts.FONT_TYPES.REGULAR],
|
|
['normal_font', GutUtils.GutFonts.FONT_TYPES.REGULAR],
|
|
['bold_font', GutUtils.GutFonts.FONT_TYPES.BOLD],
|
|
['italics_font', GutUtils.GutFonts.FONT_TYPES.ITALIC],
|
|
['bold_italics_font', GutUtils.GutFonts.FONT_TYPES.BOLD_ITALIC]
|
|
]
|
|
)
|
|
func test_get_font_for_theme_font_name_maps_fonts_correctly(p = use_parameters(font_mappings)):
|
|
var gf = GutUtils.GutFonts.new()
|
|
var expected = gf.get_font('AnonymousPro', p.custom_font_type)
|
|
var got = gf.get_font_for_theme_font_name(p.theme_font_name, 'AnonymousPro')
|
|
assert_eq(got, expected, str(p.theme_font_name, ' == ', p.custom_font_type))
|
|
|
|
|
|
func test_get_font_for_theme_returns_regular_for_custom_font_when_theme_font_name_is_unknown():
|
|
var gf = GutUtils.GutFonts.new()
|
|
var default = gf.get_font('AnonymousPro', gf.FONT_TYPES.REGULAR)
|
|
var got = gf.get_font_for_theme_font_name('this_is_not_valid', 'AnonymousPro')
|
|
assert_eq(got, default)
|
|
assert_push_error('Unknown theme font name ')
|
|
|
|
|
|
func test_get_font_for_theme_returns_default_when_theme_font_and_custom_font_are_unknown():
|
|
var gf = GutUtils.GutFonts.new()
|
|
var default = gf.get_font('Default')
|
|
var got = gf.get_font_for_theme_font_name('this_is_not_valid', 'ThisIsInvalid')
|
|
assert_eq(got, default)
|
|
assert_push_error('Unknown theme font name ')
|
|
assert_push_error('Invalid font name', 'second error because custom does not exist')
|