-- test -dhack/scripts/devel/tests -twidgets.Label local gui = require('gui') local widgets = require('gui.widgets') local xtest = {} -- use to temporarily disable tests (change `function xtest.somename` to `function xxtest.somename`) local wait = function(n) delay(n or 30) -- enable for debugging the tests end local fs = defclass(fs, gui.FramedScreen) fs.ATTRS = { frame_style = gui.GREY_LINE_FRAME, frame_title = 'TestFramedScreen', frame_width = 10, frame_height = 10, frame_inset = 0, focus_path = 'test-framed-screen', } function test.Label_correct_frame_body_with_scroll_icons() local t = {} for i = 1, 12 do t[#t+1] = tostring(i) t[#t+1] = NEWLINE end function fs:init(args) self:addviews{ widgets.Label{ view_id = 'text', frame_inset = 0, text = t, --show_scroll_icons = 'right', }, } end local o = fs{} --o:show() --wait() expect.eq(o.subviews.text.frame_body.width, 9, "Label's frame_body.x2 and .width should be one smaller because of show_scroll_icons.") --o:dismiss() end function test.Label_correct_frame_body_with_few_text_lines() local t = {} for i = 1, 10 do t[#t+1] = tostring(i) t[#t+1] = NEWLINE end function fs:init(args) self:addviews{ widgets.Label{ view_id = 'text', frame_inset = 0, text = t, --show_scroll_icons = 'right', }, } end local o = fs{} --o:show() --wait() expect.eq(o.subviews.text.frame_body.width, 10, "Label's frame_body.x2 and .width should not change with show_scroll_icons = false.") --o:dismiss() end function test.Label_correct_frame_body_without_show_scroll_icons() local t = {} for i = 1, 12 do t[#t+1] = tostring(i) t[#t+1] = NEWLINE end function fs:init(args) self:addviews{ widgets.Label{ view_id = 'text', frame_inset = 0, text = t, show_scroll_icons = false, }, } end local o = fs{} --o:show() --wait() expect.eq(o.subviews.text.frame_body.width, 10, "Label's frame_body.x2 and .width should not change with show_scroll_icons = false.") --o:dismiss() end