diff --git a/testing/__tests__/22_image_scaler_nearest_tests.lua b/testing/__tests__/21_image_scaler_nearest_tests.lua similarity index 100% rename from testing/__tests__/22_image_scaler_nearest_tests.lua rename to testing/__tests__/21_image_scaler_nearest_tests.lua diff --git a/testing/__tests__/21_ninepatch_parser_tests.lua b/testing/__tests__/21_ninepatch_parser_tests.lua deleted file mode 100644 index 48ea203..0000000 --- a/testing/__tests__/21_ninepatch_parser_tests.lua +++ /dev/null @@ -1,99 +0,0 @@ --- Test Suite for NinePatch Parser --- Tests ImageDataReader and NinePatchParser modules - -package.path = package.path .. ";?.lua" -local lu = require("testing.luaunit") - --- Mock love.graphics for testing without LÖVE runtime -local love = love -if not love then - love = {} - love.graphics = {} - love.timer = {} - love.window = {} - - -- Mock functions - function love.timer.getTime() - return 0 - end - - function love.window.getMode() - return 800, 600 - end -end - --- Load FlexLove -local FlexLove = require("FlexLove") - --- ==================== --- Test ImageDataReader --- ==================== - -TestImageDataReader = {} - -function TestImageDataReader:test_isBlackPixel_identifiesBlackCorrectly() - -- Black pixel with full alpha should return true - lu.assertTrue(FlexLove.ImageDataReader.isBlackPixel(0, 0, 0, 255)) -end - -function TestImageDataReader:test_isBlackPixel_rejectsNonBlack() - -- Non-black colors should return false - lu.assertFalse(FlexLove.ImageDataReader.isBlackPixel(255, 0, 0, 255)) -- Red - lu.assertFalse(FlexLove.ImageDataReader.isBlackPixel(0, 255, 0, 255)) -- Green - lu.assertFalse(FlexLove.ImageDataReader.isBlackPixel(0, 0, 255, 255)) -- Blue - lu.assertFalse(FlexLove.ImageDataReader.isBlackPixel(128, 128, 128, 255)) -- Gray -end - -function TestImageDataReader:test_isBlackPixel_rejectsTransparent() - -- Black with no alpha should return false - lu.assertFalse(FlexLove.ImageDataReader.isBlackPixel(0, 0, 0, 0)) - lu.assertFalse(FlexLove.ImageDataReader.isBlackPixel(0, 0, 0, 128)) -end - --- ==================== --- Test NinePatchParser Helper Functions --- ==================== - -TestNinePatchParserHelpers = {} - --- Note: findBlackPixelRuns is a local function, so we test it indirectly through parse() --- We'll create mock image data to test the full parsing pipeline - --- ==================== --- Integration Tests --- ==================== - -TestNinePatchIntegration = {} - -function TestNinePatchIntegration:test_themeLoadsWithNinePatch() - -- This test verifies that the space theme can load with 9-patch button - local success, err = pcall(function() - FlexLove.Theme.load("space") - end) - - if not success then - print("Theme load error: " .. tostring(err)) - end - - lu.assertTrue(success, "Space theme should load successfully") -end - -function TestNinePatchIntegration:test_ninePatchButtonHasInsets() - -- Load theme and verify button component has insets - FlexLove.Theme.load("space") - local theme = FlexLove.Theme.getActive() - - lu.assertNotNil(theme, "Theme should be active") - lu.assertNotNil(theme.components, "Theme should have components") - - if theme.components and theme.components.button then - -- Check if insets were auto-parsed or manually defined - local hasInsets = theme.components.button.insets ~= nil or theme.components.button.regions ~= nil - lu.assertTrue(hasInsets, "Button should have insets or regions defined") - else - lu.fail("Button component not found in theme") - end -end - --- Run tests -lu.LuaUnit.run() diff --git a/testing/runAll.lua b/testing/runAll.lua index e5173a9..397e465 100644 --- a/testing/runAll.lua +++ b/testing/runAll.lua @@ -24,8 +24,7 @@ local testFiles = { "testing/__tests__/18_font_family_inheritance_tests.lua", "testing/__tests__/19_negative_margin_tests.lua", "testing/__tests__/20_padding_resize_tests.lua", - "testing/__tests__/21_ninepatch_parser_tests.lua", - "testing/__tests__/22_image_scaler_nearest_tests.lua", + "testing/__tests__/21_image_scaler_nearest_tests.lua", } local success = true