Add visual harmonization tests for editor UI components and ground finish chooser
- Implemented `test_editor_visual_harmonization.gd` to validate the Stickman editor and prop editor UI layouts, ensuring proper functionality and visual consistency. - Created `test_editor_visual_theme.gd` to verify the loading and application of visual themes in the editor, including semantic overrides and default values. - Introduced `test_phase19_ground_finish_chooser.gd` to test the ground finish chooser's functionality, including layout responsiveness, selection behavior, and interaction with the stage. - Added new scripts for ground finish preview and chooser UI components to enhance the editor's visual representation of ground finishes.
This commit is contained in:
@@ -146,25 +146,24 @@ func _test_ui_tokens() -> void:
|
||||
var theme: PropTheme = PROP_THEME.new()
|
||||
theme.load_from(PROP_THEME.DEFAULT_PATH)
|
||||
check("font_body 18", theme.font_body() == 18)
|
||||
check("font_header 24", theme.font_header() == 24)
|
||||
check("font_menu 22", theme.font_menu() == 22)
|
||||
check("font_menu_bar 22", theme.font_menu_bar() == 22)
|
||||
check("font_mode 26", theme.font_mode() == 26)
|
||||
check("font_status 18", theme.font_status() == 18)
|
||||
check("font_header 22", theme.font_header() == 22)
|
||||
check("font_menu 20", theme.font_menu() == 20)
|
||||
check("font_menu_bar 20", theme.font_menu_bar() == 20)
|
||||
check("font_mode 24", theme.font_mode() == 24)
|
||||
check("font_status 16", theme.font_status() == 16)
|
||||
check("font_prop_name 20", theme.font_prop_name() == 20)
|
||||
check("font_context_menu 22", theme.font_context_menu() == 22)
|
||||
check("button_min_height 36", theme.button_min_height() == 36)
|
||||
check("row_min_height 36", theme.row_min_height() == 36)
|
||||
check("font_context_menu 20", theme.font_context_menu() == 20)
|
||||
check("button_min_height 44", theme.button_min_height() == 44)
|
||||
check("row_min_height 44", theme.row_min_height() == 44)
|
||||
check("mode_button_min_height 56", theme.mode_button_min_height() == 56)
|
||||
check("text_color token", theme.text_color().is_equal_approx(Color.from_string("#F2F2F2", Color.WHITE)))
|
||||
check("text_muted token", theme.text_muted_color().is_equal_approx(Color.from_string("#9A9A9A", Color.WHITE)))
|
||||
check("text_color token", theme.text_color().is_equal_approx(Color.from_string("#F5F7FA", Color.WHITE)))
|
||||
check("text_muted token", theme.text_muted_color().is_equal_approx(Color.from_string("#AAB2C0", Color.WHITE)))
|
||||
check("border token", theme.border_color().is_equal_approx(Color.from_string("#FFFFFF33", Color.WHITE)))
|
||||
check("accent token", theme.accent_color().is_equal_approx(Color.from_string("#4FA3FF", Color.WHITE)))
|
||||
check("accent token", theme.accent_color().is_equal_approx(Color.from_string("#22C6FF", Color.WHITE)))
|
||||
var path := "user://prop_theme_test_ui.json"
|
||||
_write_user_theme('{"version":"1.0","ui":{"fonts":{"body":24},"colors":{"accent":"#FF8800"}}}', path)
|
||||
var custom: PropTheme = PROP_THEME.new()
|
||||
custom.load_from(path)
|
||||
check("ui font override", custom.font_body() == 24)
|
||||
check("unoverridden ui token falls back", custom.font_header() == 24)
|
||||
check("ui accent override", custom.accent_color().is_equal_approx(Color.from_string("#FF8800", Color.WHITE)))
|
||||
check("legacy PropTheme ui font does not override shared tokens", custom.font_body() == 18)
|
||||
check("legacy PropTheme ui accent does not override shared tokens", custom.accent_color().is_equal_approx(Color.from_string("#22C6FF", Color.WHITE)))
|
||||
DirAccess.remove_absolute(path)
|
||||
|
||||
Reference in New Issue
Block a user