summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Tests/ComponentTests/test_InputContainer.gd27
-rw-r--r--Tests/ui_helpers.gd17
-rw-r--r--project.godot8
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]