fixed regression

This commit is contained in:
Michael Freno
2025-12-06 11:15:08 -05:00
parent 986887c2cc
commit 63c31aed16
2 changed files with 16 additions and 6 deletions

View File

@@ -86,7 +86,12 @@ function ScrollManager.new(config, deps)
self.scrollBarStyle = config.scrollBarStyle -- Theme scrollbar style name (nil = use default)
-- scrollbarKnobOffset can be number or table {x, y} or {horizontal, vertical}
-- Only normalize if actually provided (nil means use theme default)
if config.scrollbarKnobOffset ~= nil then
self.scrollbarKnobOffset = self._utils.normalizeOffsetTable(config.scrollbarKnobOffset, 0)
else
self.scrollbarKnobOffset = nil
end
-- hideScrollbars can be boolean or table {vertical: boolean, horizontal: boolean}
self.hideScrollbars = self._utils.normalizeBooleanTable(config.hideScrollbars, false)

View File

@@ -1056,12 +1056,17 @@ function TestScrollManagerEdgeCases:testScrollbarKnobOffsetTableHorizontalVertic
end
function TestScrollManagerEdgeCases:testScrollbarKnobOffsetDefault()
-- When not provided, scrollbarKnobOffset should be nil (use theme default)
local sm = createScrollManager({})
luaunit.assertNotNil(sm.scrollbarKnobOffset)
luaunit.assertEquals(sm.scrollbarKnobOffset.x, 0)
luaunit.assertEquals(sm.scrollbarKnobOffset.y, 0)
luaunit.assertEquals(sm.scrollbarKnobOffset.horizontal, 0)
luaunit.assertEquals(sm.scrollbarKnobOffset.vertical, 0)
luaunit.assertNil(sm.scrollbarKnobOffset)
-- When explicitly set to 0, it should be normalized
local sm2 = createScrollManager({ scrollbarKnobOffset = 0 })
luaunit.assertNotNil(sm2.scrollbarKnobOffset)
luaunit.assertEquals(sm2.scrollbarKnobOffset.x, 0)
luaunit.assertEquals(sm2.scrollbarKnobOffset.y, 0)
luaunit.assertEquals(sm2.scrollbarKnobOffset.horizontal, 0)
luaunit.assertEquals(sm2.scrollbarKnobOffset.vertical, 0)
end
function TestScrollManagerEdgeCases:testScrollbarKnobOffsetStatePersistence()