From 454ec831111273bfe37b9f397b21bc77786c0bc8 Mon Sep 17 00:00:00 2001 From: Sophia Pearson Date: Fri, 27 May 2022 23:21:49 +0200 Subject: tests: extract UI helper functions --- Tests/ComponentTests/test_InputContainer.gd | 27 ++++++--------------------- Tests/ui_helpers.gd | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 21 deletions(-) create mode 100644 Tests/ui_helpers.gd (limited to 'Tests') diff --git a/Tests/ComponentTests/test_InputContainer.gd b/Tests/ComponentTests/test_InputContainer.gd index 993436e..5289903 100644 --- a/Tests/ComponentTests/test_InputContainer.gd +++ b/Tests/ComponentTests/test_InputContainer.gd @@ -8,21 +8,6 @@ var _sender = InputSender.new(Input) const _test_data = 'This is some test data' const _input_submitted = 'InputSubmitted' -func _click_submit_button(): - var button: Button = _instance.SubmitButton - var rect = button.get_global_rect() - var center = (rect.end - rect.size / 2) - _sender.mouse_left_button_down(center, center) \ - .hold_for('1f') \ - .wait('1f') - return _sender - -func _press_enter_key(): - _sender.key_down(KEY_ENTER) \ - .hold_for('1f') \ - .wait('1f') - return _sender - func _set_input_text(text): _instance.InputField.text = text _instance.InputField.emit_signal('text_changed', _instance.InputField.text) @@ -49,18 +34,18 @@ func test_InputField_has_focus_when_scene_is_instantiated(): func test_InputSubmitted_signal_is_not_emitted_when_enter_is_pressed_without_text_in_InputField(): watch_signals(_instance) - yield(_press_enter_key(), 'idle') + yield(UiHelpers.press_key(_sender, KEY_ENTER), 'idle') assert_signal_not_emitted(_instance, _input_submitted) func test_InputSubmitted_signal_is_emitted_when_enter_is_pressed_with_text_in_InputField(): watch_signals(_instance) _set_input_text(_test_data) - yield(_press_enter_key(), 'idle') + yield(UiHelpers.press_key(_sender, KEY_ENTER), 'idle') assert_signal_emitted(_instance, _input_submitted) func test_InputField_is_empty_after_text_is_submitted(): _set_input_text(_test_data) - yield(_press_enter_key(), 'idle') + yield(UiHelpers.press_key(_sender, KEY_ENTER), 'idle') assert_eq(_instance.InputField.text, '') func test_has_SubmitButton(): @@ -80,16 +65,16 @@ func test_SubmitButton_is_enabled_when_InputField_is_set_to_some_text(): func test_InputSubmitted_signal_is_not_emitted_when_SubmitButton_is_clicked_without_text_in_InputField(): watch_signals(_instance) _set_input_text('') - yield(_click_submit_button(), 'idle') + yield(UiHelpers.click_control(_sender, _instance.SubmitButton), 'idle') assert_signal_not_emitted(_instance, _input_submitted) func test_InputSubmitted_signal_is_emitted_when_SubmitButton_is_clicked_with_text_in_InputField(): watch_signals(_instance) _set_input_text(_test_data) - yield(_click_submit_button(), 'idle') + yield(UiHelpers.click_control(_sender, _instance.SubmitButton), 'idle') assert_signal_emitted(_instance, _input_submitted) func test_InputField_is_empty_after_text_is_submitted_via_SubmitButton(): _set_input_text(_test_data) - yield(_click_submit_button(), 'idle') + yield(UiHelpers.click_control(_sender, _instance.SubmitButton), 'idle') assert_eq(_instance.InputField.text, '') diff --git a/Tests/ui_helpers.gd b/Tests/ui_helpers.gd new file mode 100644 index 0000000..858a639 --- /dev/null +++ b/Tests/ui_helpers.gd @@ -0,0 +1,17 @@ +extends Node + +class_name UiHelpers + +static func click_control(sender, control: Control): + var rect = control.get_global_rect() + var center = (rect.end - rect.size / 2) + sender.mouse_left_button_down(center, center) \ + .hold_for('1f') \ + .wait('1f') + return sender + +static func press_key(sender, key): + sender.key_down(key) \ + .hold_for('1f') \ + .wait('1f') + return sender -- cgit v1.2.3