Add and update name convention
Some checks failed
Continuous Integration / Code Formatting (push) Successful in 30s
Continuous Integration / Code Quality Check (push) Successful in 30s
Continuous Integration / Test Execution (push) Failing after 17s
Continuous Integration / CI Summary (push) Failing after 4s

This commit is contained in:
2025-09-30 00:09:55 +04:00
parent 61951a047b
commit 5275c5ca94
57 changed files with 455 additions and 68 deletions

137
tests/TestMouseSupport.gd Normal file
View File

@@ -0,0 +1,137 @@
extends SceneTree
## Test mouse support functionality in Match3 gameplay
## This test verifies that mouse input, hover events, and tile selection work correctly
# Preloaded scenes to avoid duplication
const MATCH3_SCENE = preload("res://scenes/game/gameplays/Match3Gameplay.tscn")
const TILE_SCENE = preload("res://scenes/game/gameplays/Tile.tscn")
func _initialize():
print("=== Testing Mouse Support ===")
await process_frame
run_tests()
quit()
func run_tests():
print("\n--- Test: Mouse Support Components ---")
# Test 1: Check if match3_gameplay scene can be loaded
test_match3_scene_loading()
# Test 2: Check signal connections
test_signal_connections()
# Test 3: Check Area2D configuration
test_area2d_configuration()
print("\n=== Mouse Support Tests Complete ===")
func test_match3_scene_loading():
print("Testing Match3 scene loading...")
if not MATCH3_SCENE:
print("❌ FAILED: Could not load Match3Gameplay.tscn")
return
var match3_instance = MATCH3_SCENE.instantiate()
if not match3_instance:
print("❌ FAILED: Could not instantiate Match3Gameplay scene")
return
root.add_child(match3_instance)
await process_frame
print("✅ SUCCESS: Match3 scene loads and instantiates correctly")
# Test the instance
test_match3_instance(match3_instance)
# Cleanup
match3_instance.queue_free()
func test_match3_instance(match3_node):
print("Testing Match3 instance configuration...")
# Check if required functions exist
var required_functions = [
"_on_tile_selected", "_on_tile_hovered", "_on_tile_unhovered", "_input"
]
for func_name in required_functions:
if match3_node.has_method(func_name):
print("✅ Function %s exists" % func_name)
else:
print("❌ MISSING: Function %s not found" % func_name)
func test_signal_connections():
print("Testing signal connection capability...")
# Use preloaded tile scene
if not TILE_SCENE:
print("❌ FAILED: Could not load tile.tscn")
return
var tile = TILE_SCENE.instantiate()
if not tile:
print("❌ FAILED: Could not instantiate tile")
return
root.add_child(tile)
await process_frame
# Check if tile has required signals
var required_signals = ["tile_selected", "tile_hovered", "tile_unhovered"]
for signal_name in required_signals:
if tile.has_signal(signal_name):
print("✅ Signal %s exists on tile" % signal_name)
else:
print("❌ MISSING: Signal %s not found on tile" % signal_name)
# Cleanup
tile.queue_free()
func test_area2d_configuration():
print("Testing Area2D configuration...")
# Use preloaded tile scene
if not TILE_SCENE:
print("❌ FAILED: Could not load tile.tscn")
return
var tile = TILE_SCENE.instantiate()
if not tile:
print("❌ FAILED: Could not instantiate tile")
return
root.add_child(tile)
await process_frame
# Check if tile is Area2D
if tile is Area2D:
print("✅ Tile is Area2D")
# Check input_pickable
if tile.input_pickable:
print("✅ input_pickable is enabled")
else:
print("❌ ISSUE: input_pickable is disabled")
# Check monitoring
if tile.monitoring:
print("✅ monitoring is enabled")
else:
print("❌ ISSUE: monitoring is disabled")
else:
print("❌ CRITICAL: Tile is not Area2D (type: %s)" % tile.get_class())
# Cleanup
tile.queue_free()