diff options
| author | Sophia Pearson <codergal89@gmail.com> | 2022-05-27 23:21:49 +0200 |
|---|---|---|
| committer | Sophia Pearson <codergal89@gmail.com> | 2022-05-27 23:21:52 +0200 |
| commit | 454ec831111273bfe37b9f397b21bc77786c0bc8 (patch) | |
| tree | fb2769ed6243b41341119fa01df97f52e66695fc | |
| parent | 98776908265c4b4d6e6a3a41df0f8e534b44e406 (diff) | |
| download | texty-454ec831111273bfe37b9f397b21bc77786c0bc8.tar.xz texty-454ec831111273bfe37b9f397b21bc77786c0bc8.zip | |
tests: extract UI helper functions
| -rw-r--r-- | Tests/ComponentTests/test_InputContainer.gd | 27 | ||||
| -rw-r--r-- | Tests/ui_helpers.gd | 17 | ||||
| -rw-r--r-- | project.godot | 8 |
3 files changed, 30 insertions, 22 deletions
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 diff --git a/project.godot b/project.godot index f293e66..8f0fffb 100644 --- a/project.godot +++ b/project.godot @@ -23,11 +23,17 @@ _global_script_classes=[ { "class": "GutTest", "language": "GDScript", "path": "res://addons/gut/test.gd" +}, { +"base": "Node", +"class": "UiHelpers", +"language": "GDScript", +"path": "res://Tests/ui_helpers.gd" } ] _global_script_class_icons={ "CommandParserTestBase": "", "GutHookScript": "", -"GutTest": "" +"GutTest": "", +"UiHelpers": "" } [application] |
