summaryrefslogtreecommitdiff
path: root/addons/escoria-core/testing/esc_new_game_state_test.gd
diff options
context:
space:
mode:
Diffstat (limited to 'addons/escoria-core/testing/esc_new_game_state_test.gd')
-rw-r--r--addons/escoria-core/testing/esc_new_game_state_test.gd38
1 files changed, 38 insertions, 0 deletions
diff --git a/addons/escoria-core/testing/esc_new_game_state_test.gd b/addons/escoria-core/testing/esc_new_game_state_test.gd
new file mode 100644
index 0000000..7304d6a
--- /dev/null
+++ b/addons/escoria-core/testing/esc_new_game_state_test.gd
@@ -0,0 +1,38 @@
+# GdUnit generated TestSuite
+class_name ESCNewGameStateTest
+extends GdUnitTestSuite
+
+
+func test_new_game_runtime_reset_clears_transient_input_state() -> void:
+ var escoria_node = escoria.get_escoria()
+ var tool_node := ESCItem.new()
+ tool_node.global_id = "test_tool"
+ var tool_object := ESCObject.new(tool_node.global_id, tool_node)
+ var hovered_item := ESCItem.new()
+ hovered_item.global_id = "test_hovered_item"
+ hovered_item.z_index = 1
+
+ escoria.action_manager.set_current_action("use")
+ escoria.action_manager.current_tool = tool_object
+ escoria.action_manager.current_target = tool_object
+ escoria.action_manager.set_action_input_state(
+ ESCActionManager.ActionInputState.AWAITING_TARGET_ITEM
+ )
+ escoria.inputs_manager.hover_stack.hover_stack.append(hovered_item)
+ escoria.inputs_manager.hotspot_focused = "test_hotspot"
+ escoria.inputs_manager.input_mode = escoria.inputs_manager.INPUT_NONE
+
+ escoria_node._reset_new_game_runtime_state()
+
+ assert_str(escoria.action_manager.current_action).is_equal("")
+ assert_object(escoria.action_manager.current_tool).is_null()
+ assert_object(escoria.action_manager.current_target).is_null()
+ assert_int(escoria.action_manager.action_state).is_equal(
+ ESCActionManager.ActionInputState.AWAITING_VERB_OR_ITEM
+ )
+ assert_bool(escoria.inputs_manager.hover_stack.is_empty()).is_true()
+ assert_str(escoria.inputs_manager.hotspot_focused).is_equal("")
+ assert_int(escoria.inputs_manager.input_mode).is_equal(escoria.inputs_manager.INPUT_ALL)
+
+ tool_node.free()
+ hovered_item.free()