extends GutTest const Scene = preload('res://Scenes/StartMenu.tscn') const StartMenu = preload('res://Scripts/StartMenu.cs') var _instance: StartMenu = null var _sender = InputSender.new(Input) const _quit_game = 'QuitGame' const _show_credits = 'ShowCredits' const _start_game = 'StartGame' func before_each(): _instance = add_child_autofree(Scene.instance()) yield(_instance, 'visibility_changed') func after_each(): _sender.release_all() _sender.clear() func test_can_instantiate(): assert_not_null(_instance) func test_StartButton_is_focused_when_scene_becomes_visible(): assert_true(_instance.StartButton.has_focus()) func test_has_QuitGame_signal(): assert_has_signal(_instance, _quit_game) func test_has_ShowCredits_signal(): assert_has_signal(_instance, _show_credits) func test_has_StartGame_signal(): assert_has_signal(_instance, _start_game) func test_clicking_the_Credits_button_emits_ShowCredits_signal(): watch_signals(_instance) yield(UiHelpers.click_control(_sender, _instance.CreditsButton), 'idle') assert_signal_emitted(_instance, _show_credits) func test_clicking_the_Quit_button_emits_QuitGame_signal(): watch_signals(_instance) yield(UiHelpers.click_control(_sender, _instance.QuitButton), 'idle') assert_signal_emitted(_instance, _quit_game) func test_clicking_the_Start_button_emits_StartGame_signal(): watch_signals(_instance) yield(UiHelpers.click_control(_sender, _instance.StartButton), 'idle') assert_signal_emitted(_instance, _start_game) func test_Credits_button_label_is_localized(): var label = _instance.CreditsButton.text assert_ne(label, tr(label)) func test_Quit_button_label_is_localized(): var label = _instance.QuitButton.text assert_ne(label, tr(label)) func test_Start_button_label_is_localize(): var label = _instance.StartButton.text assert_ne(label, tr(label))