tests: Test tooltips
This commit is contained in:
parent
2088ca26e8
commit
4aada37682
|
@ -0,0 +1,124 @@
|
|||
local runner = require("_runner")
|
||||
local place = require("awful.placement")
|
||||
local wibox = require("wibox")
|
||||
local beautiful = require("beautiful")
|
||||
local tooltip = require("awful.tooltip")
|
||||
local gears = require("gears")
|
||||
|
||||
local steps = {}
|
||||
|
||||
local w = wibox {
|
||||
width = 250,
|
||||
height = 250,
|
||||
visible = true,
|
||||
ontop = true
|
||||
}
|
||||
|
||||
w:setup{
|
||||
image = beautiful.awesome_icon,
|
||||
widget = wibox.widget.imagebox
|
||||
}
|
||||
|
||||
-- Center eveything
|
||||
place.centered(w)
|
||||
place.centered(mouse)
|
||||
|
||||
local tt = nil
|
||||
|
||||
table.insert(steps, function()
|
||||
tt = tooltip {text = "A long tooltip", visible = true}
|
||||
|
||||
return true
|
||||
end)
|
||||
|
||||
local align_pos = {
|
||||
"top_left", "left", "bottom_left", "right",
|
||||
"top_right", "bottom_right", "bottom", "top",
|
||||
}
|
||||
|
||||
-- Test the various alignment code paths
|
||||
for _, v in ipairs(align_pos) do
|
||||
table.insert(steps, function()
|
||||
tt.align = v
|
||||
|
||||
return true
|
||||
end)
|
||||
end
|
||||
|
||||
-- Set a parent object
|
||||
table.insert(steps, function()
|
||||
tt:add_to_object(w)
|
||||
|
||||
return true
|
||||
end)
|
||||
|
||||
-- Test the other mode
|
||||
table.insert(steps, function()
|
||||
tt.mode = "outside"
|
||||
|
||||
-- This only work when there is a mouse::enter event, create one
|
||||
place.top_left(mouse)
|
||||
place.centered(mouse)
|
||||
|
||||
return true
|
||||
end)
|
||||
|
||||
--- Reset the wibox content and use a widget geometry.
|
||||
table.insert(steps, function()
|
||||
tt:remove_from_object(w)
|
||||
|
||||
tt.visible = false
|
||||
|
||||
w:setup{
|
||||
{
|
||||
image = beautiful.awesome_icon,
|
||||
widget = wibox.widget.imagebox,
|
||||
id = "myimagebox"
|
||||
},
|
||||
top = 125,
|
||||
bottom = 100,
|
||||
left = 205,
|
||||
right = 20 ,
|
||||
layout = wibox.container.margin
|
||||
}
|
||||
|
||||
local imb = w:get_children_by_id("myimagebox")[1]
|
||||
assert(imb)
|
||||
|
||||
tt:add_to_object(imb)
|
||||
|
||||
-- Move the mouse over the widget
|
||||
place.top_left(mouse)
|
||||
mouse.coords {
|
||||
x = w.x + w.width - 20 - 12.5,
|
||||
y = w.y + 125 + 12.5,
|
||||
}
|
||||
|
||||
assert(tt.current_position == "top")
|
||||
|
||||
return true
|
||||
end)
|
||||
|
||||
-- Try the preferred positions
|
||||
table.insert(steps, function()
|
||||
tt.visible = false
|
||||
|
||||
tt.preferred_positions = {"right"}
|
||||
|
||||
tt.visible = true
|
||||
|
||||
assert(tt.current_position == "right")
|
||||
|
||||
return true
|
||||
end)
|
||||
|
||||
-- Add a shape.
|
||||
table.insert(steps, function()
|
||||
tt.shape = gears.shape.octogon
|
||||
|
||||
return true
|
||||
end)
|
||||
|
||||
runner.run_steps(steps)
|
||||
|
||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
Loading…
Reference in New Issue