blur uses radius instead of intensity
This commit is contained in:
@@ -104,7 +104,7 @@ end
|
||||
-- applyToRegion() Edge Cases
|
||||
-- ============================================================================
|
||||
|
||||
function TestBlur:testApplyToRegionWithZeroIntensity()
|
||||
function TestBlur:testApplyToRegionWithZeroRadius()
|
||||
local blur = Blur.new({quality = 5})
|
||||
local called = false
|
||||
local drawFunc = function()
|
||||
@@ -116,7 +116,7 @@ function TestBlur:testApplyToRegionWithZeroIntensity()
|
||||
luaunit.assertTrue(called)
|
||||
end
|
||||
|
||||
function TestBlur:testApplyToRegionWithNegativeIntensity()
|
||||
function TestBlur:testApplyToRegionWithNegativeRadius()
|
||||
local blur = Blur.new({quality = 5})
|
||||
local called = false
|
||||
local drawFunc = function()
|
||||
@@ -176,14 +176,14 @@ function TestBlur:testApplyToRegionWithNegativeHeight()
|
||||
luaunit.assertTrue(called)
|
||||
end
|
||||
|
||||
function TestBlur:testApplyToRegionWithIntensityOver100()
|
||||
function TestBlur:testApplyToRegionWithLargeRadius()
|
||||
local blur = Blur.new({quality = 5})
|
||||
local called = false
|
||||
local drawFunc = function()
|
||||
called = true
|
||||
end
|
||||
|
||||
-- Should clamp intensity to 100
|
||||
-- Should work with large radius values
|
||||
blur:applyToRegion(150, 0, 0, 100, 100, drawFunc)
|
||||
luaunit.assertTrue(called)
|
||||
end
|
||||
@@ -240,36 +240,36 @@ function TestBlur:testApplyToRegionWithVeryLargeDimensions()
|
||||
luaunit.assertTrue(called)
|
||||
end
|
||||
|
||||
function TestBlur:testApplyToRegionIntensityBoundaries()
|
||||
function TestBlur:testApplyToRegionRadiusValues()
|
||||
local blur = Blur.new({quality = 5})
|
||||
local called = false
|
||||
local drawFunc = function()
|
||||
called = true
|
||||
end
|
||||
|
||||
-- Test boundary values that affect passes calculation
|
||||
-- intensity 20 = 1 pass
|
||||
-- Test various radius values
|
||||
-- Small radius
|
||||
blur:applyToRegion(5, 0, 0, 100, 100, drawFunc)
|
||||
luaunit.assertTrue(called)
|
||||
|
||||
called = false
|
||||
-- Medium radius
|
||||
blur:applyToRegion(10, 0, 0, 100, 100, drawFunc)
|
||||
luaunit.assertTrue(called)
|
||||
|
||||
called = false
|
||||
-- Large radius
|
||||
blur:applyToRegion(20, 0, 0, 100, 100, drawFunc)
|
||||
luaunit.assertTrue(called)
|
||||
|
||||
called = false
|
||||
-- intensity 40 = 2 passes
|
||||
blur:applyToRegion(40, 0, 0, 100, 100, drawFunc)
|
||||
-- Very large radius
|
||||
blur:applyToRegion(50, 0, 0, 100, 100, drawFunc)
|
||||
luaunit.assertTrue(called)
|
||||
|
||||
called = false
|
||||
-- intensity 60 = 3 passes
|
||||
blur:applyToRegion(60, 0, 0, 100, 100, drawFunc)
|
||||
luaunit.assertTrue(called)
|
||||
|
||||
called = false
|
||||
-- intensity 80 = 4 passes
|
||||
blur:applyToRegion(80, 0, 0, 100, 100, drawFunc)
|
||||
luaunit.assertTrue(called)
|
||||
|
||||
called = false
|
||||
-- intensity 100 = 5 passes
|
||||
blur:applyToRegion(100, 0, 0, 100, 100, drawFunc)
|
||||
-- Fractional radius
|
||||
blur:applyToRegion(2.5, 0, 0, 100, 100, drawFunc)
|
||||
luaunit.assertTrue(called)
|
||||
end
|
||||
|
||||
@@ -277,7 +277,7 @@ end
|
||||
-- applyBackdrop() Edge Cases
|
||||
-- ============================================================================
|
||||
|
||||
function TestBlur:testApplyBackdropWithZeroIntensity()
|
||||
function TestBlur:testApplyBackdropWithZeroRadius()
|
||||
local blur = Blur.new({quality = 5})
|
||||
local mockCanvas = {
|
||||
getDimensions = function()
|
||||
@@ -290,7 +290,7 @@ function TestBlur:testApplyBackdropWithZeroIntensity()
|
||||
luaunit.assertTrue(true)
|
||||
end
|
||||
|
||||
function TestBlur:testApplyBackdropWithNegativeIntensity()
|
||||
function TestBlur:testApplyBackdropWithNegativeRadius()
|
||||
local blur = Blur.new({quality = 5})
|
||||
local mockCanvas = {
|
||||
getDimensions = function()
|
||||
@@ -337,7 +337,7 @@ function TestBlur:testApplyBackdropWithNilCanvas()
|
||||
luaunit.assertTrue(true) -- Should reach here without crash
|
||||
end
|
||||
|
||||
function TestBlur:testApplyBackdropWithIntensityOver100()
|
||||
function TestBlur:testApplyBackdropWithLargeRadius()
|
||||
local blur = Blur.new({quality = 5})
|
||||
local mockCanvas = {
|
||||
getDimensions = function()
|
||||
@@ -345,7 +345,7 @@ function TestBlur:testApplyBackdropWithIntensityOver100()
|
||||
end,
|
||||
}
|
||||
|
||||
-- Should clamp intensity to 100
|
||||
-- Should work with large radius values
|
||||
blur:applyBackdrop(200, 0, 0, 100, 100, mockCanvas)
|
||||
luaunit.assertTrue(true)
|
||||
end
|
||||
|
||||
@@ -393,7 +393,7 @@ function TestCriticalFailures:test_blur_invalid_quality()
|
||||
FlexLove.new({
|
||||
width = 100,
|
||||
height = 100,
|
||||
contentBlur = { intensity = 50, quality = 0 },
|
||||
contentBlur = { radius = 50, quality = 0 },
|
||||
})
|
||||
end)
|
||||
|
||||
@@ -403,7 +403,7 @@ function TestCriticalFailures:test_blur_invalid_quality()
|
||||
FlexLove.new({
|
||||
width = 100,
|
||||
height = 100,
|
||||
contentBlur = { intensity = 50, quality = -5 },
|
||||
contentBlur = { radius = 50, quality = -5 },
|
||||
})
|
||||
end)
|
||||
|
||||
|
||||
@@ -1881,7 +1881,7 @@ end
|
||||
|
||||
function TestElementBlur:test_getBlurInstance_with_blur()
|
||||
local element = createBasicElement({
|
||||
backdropBlur = { intensity = 50, quality = 5 },
|
||||
backdropBlur = { radius = 50, quality = 5 },
|
||||
})
|
||||
|
||||
-- Blur instance should be created when backdropBlur is set
|
||||
@@ -1981,7 +1981,7 @@ end
|
||||
|
||||
function TestElementDraw:test_draw_with_blur()
|
||||
local element = createBasicElement({
|
||||
backdropBlur = { intensity = 50, quality = 5 },
|
||||
backdropBlur = { radius = 50, quality = 5 },
|
||||
backgroundColor = Color.new(1, 1, 1, 0.5),
|
||||
})
|
||||
|
||||
@@ -2906,7 +2906,7 @@ function TestElementEdgeCases:test_invalid_blur_config()
|
||||
id = "blur",
|
||||
width = 100,
|
||||
height = 100,
|
||||
contentBlur = { intensity = -10, quality = 5 },
|
||||
contentBlur = { radius = -10, quality = 5 },
|
||||
})
|
||||
luaunit.assertNotNil(element)
|
||||
|
||||
@@ -2915,7 +2915,7 @@ function TestElementEdgeCases:test_invalid_blur_config()
|
||||
id = "blur2",
|
||||
width = 100,
|
||||
height = 100,
|
||||
backdropBlur = { intensity = 150, quality = 5 },
|
||||
backdropBlur = { radius = 150, quality = 5 },
|
||||
})
|
||||
luaunit.assertNotNil(element)
|
||||
|
||||
@@ -2924,7 +2924,7 @@ function TestElementEdgeCases:test_invalid_blur_config()
|
||||
id = "blur3",
|
||||
width = 100,
|
||||
height = 100,
|
||||
contentBlur = { intensity = 50, quality = 0 },
|
||||
contentBlur = { radius = 50, quality = 0 },
|
||||
})
|
||||
luaunit.assertNotNil(element)
|
||||
end
|
||||
|
||||
@@ -438,26 +438,26 @@ TestRendererBlur = {}
|
||||
function TestRendererBlur:testNewWithContentBlur()
|
||||
local renderer = Renderer.new({
|
||||
contentBlur = {
|
||||
intensity = 5,
|
||||
radius = 5,
|
||||
quality = "high",
|
||||
},
|
||||
}, createDeps())
|
||||
|
||||
luaunit.assertNotNil(renderer.contentBlur)
|
||||
luaunit.assertEquals(renderer.contentBlur.intensity, 5)
|
||||
luaunit.assertEquals(renderer.contentBlur.radius, 5)
|
||||
luaunit.assertEquals(renderer.contentBlur.quality, "high")
|
||||
end
|
||||
|
||||
function TestRendererBlur:testNewWithBackdropBlur()
|
||||
local renderer = Renderer.new({
|
||||
backdropBlur = {
|
||||
intensity = 10,
|
||||
radius = 10,
|
||||
quality = "medium",
|
||||
},
|
||||
}, createDeps())
|
||||
|
||||
luaunit.assertNotNil(renderer.backdropBlur)
|
||||
luaunit.assertEquals(renderer.backdropBlur.intensity, 10)
|
||||
luaunit.assertEquals(renderer.backdropBlur.radius, 10)
|
||||
luaunit.assertEquals(renderer.backdropBlur.quality, "medium")
|
||||
end
|
||||
|
||||
@@ -923,7 +923,7 @@ function TestRendererEdgeCases:test_blur_with_invalid_intensity()
|
||||
id = "test1",
|
||||
width = 100,
|
||||
height = 100,
|
||||
contentBlur = { intensity = -10, quality = 5 },
|
||||
contentBlur = { radius = -10, quality = 5 },
|
||||
})
|
||||
luaunit.assertNotNil(element1)
|
||||
|
||||
@@ -932,7 +932,7 @@ function TestRendererEdgeCases:test_blur_with_invalid_intensity()
|
||||
id = "test2",
|
||||
width = 100,
|
||||
height = 100,
|
||||
backdropBlur = { intensity = 200, quality = 5 },
|
||||
backdropBlur = { radius = 200, quality = 5 },
|
||||
})
|
||||
luaunit.assertNotNil(element2)
|
||||
end
|
||||
@@ -943,7 +943,7 @@ function TestRendererEdgeCases:test_blur_with_invalid_quality()
|
||||
id = "test1",
|
||||
width = 100,
|
||||
height = 100,
|
||||
contentBlur = { intensity = 10, quality = 0 },
|
||||
contentBlur = { radius = 10, quality = 0 },
|
||||
})
|
||||
luaunit.assertNotNil(element1)
|
||||
|
||||
@@ -952,7 +952,7 @@ function TestRendererEdgeCases:test_blur_with_invalid_quality()
|
||||
id = "test2",
|
||||
width = 100,
|
||||
height = 100,
|
||||
contentBlur = { intensity = 10, quality = 100 },
|
||||
contentBlur = { radius = 10, quality = 100 },
|
||||
})
|
||||
luaunit.assertNotNil(element2)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user