fixes to run individual

This commit is contained in:
Michael Freno
2025-12-12 20:46:16 -05:00
parent 1d6ad6018f
commit e9b532b8f8
28 changed files with 508 additions and 951 deletions

View File

@@ -1,8 +1,15 @@
package.path = package.path .. ";./?.lua;./modules/?.lua"
local originalSearchers = package.searchers or package.loaders
table.insert(originalSearchers, 2, function(modname)
if modname:match("^FlexLove%.modules%.") then
local moduleName = modname:gsub("^FlexLove%.modules%.", "")
return function()
return require("modules." .. moduleName)
end
end
end)
require("testing.loveStub")
local lu = require("testing.luaunit")
local ErrorHandler = require("modules.ErrorHandler") -- Load FlexLove
local luaunit = require("testing.luaunit")
local FlexLove = require("FlexLove")
-- Initialize FlexLove to ensure all modules are properly set up
@@ -17,13 +24,13 @@ function TestTouchEvents:testInputEvent_FromTouch()
local touchId = "touch1"
local event = InputEvent.fromTouch(touchId, 100, 200, "began", 0.8)
lu.assertEquals(event.type, "touchpress")
lu.assertEquals(event.x, 100)
lu.assertEquals(event.y, 200)
lu.assertEquals(event.touchId, "touch1")
lu.assertEquals(event.pressure, 0.8)
lu.assertEquals(event.phase, "began")
lu.assertEquals(event.button, 1) -- Treat as left button
luaunit.assertEquals(event.type, "touchpress")
luaunit.assertEquals(event.x, 100)
luaunit.assertEquals(event.y, 200)
luaunit.assertEquals(event.touchId, "touch1")
luaunit.assertEquals(event.pressure, 0.8)
luaunit.assertEquals(event.phase, "began")
luaunit.assertEquals(event.button, 1) -- Treat as left button
end
-- Test: Touch event with moved phase
@@ -32,8 +39,8 @@ function TestTouchEvents:testInputEvent_FromTouch_Moved()
local event = InputEvent.fromTouch("touch1", 150, 250, "moved", 1.0)
lu.assertEquals(event.type, "touchmove")
lu.assertEquals(event.phase, "moved")
luaunit.assertEquals(event.type, "touchmove")
luaunit.assertEquals(event.phase, "moved")
end
-- Test: Touch event with ended phase
@@ -42,8 +49,8 @@ function TestTouchEvents:testInputEvent_FromTouch_Ended()
local event = InputEvent.fromTouch("touch1", 150, 250, "ended", 1.0)
lu.assertEquals(event.type, "touchrelease")
lu.assertEquals(event.phase, "ended")
luaunit.assertEquals(event.type, "touchrelease")
luaunit.assertEquals(event.phase, "ended")
end
-- Test: Touch event with cancelled phase
@@ -52,8 +59,8 @@ function TestTouchEvents:testInputEvent_FromTouch_Cancelled()
local event = InputEvent.fromTouch("touch1", 150, 250, "cancelled", 1.0)
lu.assertEquals(event.type, "touchcancel")
lu.assertEquals(event.phase, "cancelled")
luaunit.assertEquals(event.type, "touchcancel")
luaunit.assertEquals(event.phase, "cancelled")
end
-- Test: EventHandler tracks touch began
@@ -97,9 +104,9 @@ function TestTouchEvents:testEventHandler_TouchBegan()
-- Should have received at least one touchpress event
-- Note: May receive multiple events due to test state/frame processing
lu.assertTrue(#filteredEvents >= 1, "Should receive at least 1 touch event, got " .. #filteredEvents)
lu.assertEquals(filteredEvents[1].type, "touchpress")
lu.assertEquals(filteredEvents[1].touchId, "touch1")
luaunit.assertTrue(#filteredEvents >= 1, "Should receive at least 1 touch event, got " .. #filteredEvents)
luaunit.assertEquals(filteredEvents[1].type, "touchpress")
luaunit.assertEquals(filteredEvents[1].touchId, "touch1")
end
-- Test: EventHandler tracks touch moved
@@ -154,11 +161,11 @@ function TestTouchEvents:testEventHandler_TouchMoved()
end
-- Should have received touchpress and touchmove events
lu.assertEquals(#filteredEvents, 2)
lu.assertEquals(filteredEvents[1].type, "touchpress")
lu.assertEquals(filteredEvents[2].type, "touchmove")
lu.assertEquals(filteredEvents[2].dx, 50)
lu.assertEquals(filteredEvents[2].dy, 50)
luaunit.assertEquals(#filteredEvents, 2)
luaunit.assertEquals(filteredEvents[1].type, "touchpress")
luaunit.assertEquals(filteredEvents[2].type, "touchmove")
luaunit.assertEquals(filteredEvents[2].dx, 50)
luaunit.assertEquals(filteredEvents[2].dy, 50)
end
-- Test: EventHandler tracks touch ended
@@ -210,9 +217,9 @@ function TestTouchEvents:testEventHandler_TouchEnded()
end
-- Should have received touchpress and touchrelease events
lu.assertEquals(#filteredEvents, 2)
lu.assertEquals(filteredEvents[1].type, "touchpress")
lu.assertEquals(filteredEvents[2].type, "touchrelease")
luaunit.assertEquals(#filteredEvents, 2)
luaunit.assertEquals(filteredEvents[1].type, "touchpress")
luaunit.assertEquals(filteredEvents[2].type, "touchrelease")
end
-- Test: EventHandler tracks multiple simultaneous touches
@@ -257,12 +264,12 @@ function TestTouchEvents:testEventHandler_MultiTouch()
end
-- Should have received two touchpress events (one for each touch)
lu.assertEquals(#filteredEvents, 2)
lu.assertEquals(filteredEvents[1].type, "touchpress")
lu.assertEquals(filteredEvents[2].type, "touchpress")
luaunit.assertEquals(#filteredEvents, 2)
luaunit.assertEquals(filteredEvents[1].type, "touchpress")
luaunit.assertEquals(filteredEvents[2].type, "touchpress")
-- Different touch IDs
lu.assertNotEquals(touchEvents[1].touchId, touchEvents[2].touchId)
luaunit.assertNotEquals(touchEvents[1].touchId, touchEvents[2].touchId)
end
-- Test: GestureRecognizer detects tap
@@ -287,9 +294,9 @@ function TestTouchEvents:testGestureRecognizer_Tap()
-- Note: The gesture detection returns from internal methods,
-- needs to be captured from the event processing
-- This is a basic structural test
lu.assertNotNil(recognizer)
luaunit.assertNotNil(recognizer)
end
if not _G.RUNNING_ALL_TESTS then
os.exit(lu.LuaUnit.run())
os.exit(luaunit.LuaUnit.run())
end