47 lines
1.6 KiB
Lua
47 lines
1.6 KiB
Lua
|
---------------------------------------------------------------------------
|
||
|
-- @author Emmanuel Lepage Vallee
|
||
|
-- @copyright 2017 Emmanuel Lepage Vallee
|
||
|
---------------------------------------------------------------------------
|
||
|
|
||
|
local imagebox = require("wibox.widget.imagebox")
|
||
|
local cairo = require("lgi").cairo
|
||
|
|
||
|
describe("wibox.widget.imagebox", function()
|
||
|
local widget
|
||
|
before_each(function()
|
||
|
widget = imagebox()
|
||
|
end)
|
||
|
|
||
|
describe("setting image", function()
|
||
|
local redraw_needed, layout_changed
|
||
|
before_each(function()
|
||
|
widget:connect_signal("widget::redraw_needed", function()
|
||
|
redraw_needed = redraw_needed + 1
|
||
|
end)
|
||
|
widget:connect_signal("widget::layout_changed", function()
|
||
|
layout_changed = layout_changed + 1
|
||
|
end)
|
||
|
redraw_needed, layout_changed = 0, 0
|
||
|
end)
|
||
|
|
||
|
it("set_image", function()
|
||
|
assert.is.equal(widget._private.image, nil)
|
||
|
assert.is.equal(0, redraw_needed)
|
||
|
assert.is.equal(0, layout_changed)
|
||
|
|
||
|
local img = cairo.ImageSurface(cairo.Format.ARGB32, 20, 20);
|
||
|
widget:set_image(img)
|
||
|
assert.is.equal(widget._private.image, img)
|
||
|
assert.is.equal(1, redraw_needed)
|
||
|
assert.is.equal(1, layout_changed)
|
||
|
|
||
|
widget:set_image(nil)
|
||
|
assert.is.equal(widget._private.image, nil)
|
||
|
assert.is.equal(2, redraw_needed)
|
||
|
assert.is.equal(2, layout_changed)
|
||
|
end)
|
||
|
end)
|
||
|
end)
|
||
|
|
||
|
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|