tests: Test maximizing and fullscreen
This commit is contained in:
parent
e54387904b
commit
f5a27ab99b
|
@ -0,0 +1,90 @@
|
||||||
|
--- Tests maximize and fullscreen
|
||||||
|
|
||||||
|
local runner = require("_runner")
|
||||||
|
local awful = require("awful")
|
||||||
|
|
||||||
|
local original_geo = nil
|
||||||
|
|
||||||
|
local steps = {
|
||||||
|
function(count)
|
||||||
|
if count == 1 then
|
||||||
|
awful.spawn("xterm")
|
||||||
|
else
|
||||||
|
local c = client.get()[1]
|
||||||
|
if c then
|
||||||
|
original_geo = c:geometry()
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
|
||||||
|
-- maximize horizontally
|
||||||
|
function()
|
||||||
|
local c = client.get()[1]
|
||||||
|
assert(not c.maximized_horizontal)
|
||||||
|
assert(not c.maximized_vertical )
|
||||||
|
assert(not c.fullscreen )
|
||||||
|
|
||||||
|
c.maximized_horizontal = true
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
function()
|
||||||
|
local c = client.get()[1]
|
||||||
|
|
||||||
|
local new_geo = c:geometry()
|
||||||
|
local sgeo = c.screen.workarea
|
||||||
|
|
||||||
|
--assert(new_geo.x-c.border_width==sgeo.x) --FIXME c:geometry({x=1}).x ~= 1
|
||||||
|
|
||||||
|
--assert(new_geo.width+2*c.border_width==sgeo.width) --FIXME off by 4px
|
||||||
|
|
||||||
|
c.maximized_horizontal = false
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
-- Test restoring a geometry
|
||||||
|
function()
|
||||||
|
local c = client.get()[1]
|
||||||
|
|
||||||
|
local new_geo = c:geometry()
|
||||||
|
|
||||||
|
for k,v in pairs(original_geo) do
|
||||||
|
assert(new_geo[k] == v)
|
||||||
|
end
|
||||||
|
|
||||||
|
c.fullscreen = true
|
||||||
|
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
function()
|
||||||
|
local c = client.get()[1]
|
||||||
|
|
||||||
|
local new_geo = c:geometry()
|
||||||
|
local sgeo = c.screen.geometry
|
||||||
|
local bw = c.border_width
|
||||||
|
|
||||||
|
assert(c.fullscreen)
|
||||||
|
assert(new_geo.x-bw==sgeo.x)
|
||||||
|
assert(new_geo.y-bw==sgeo.y)
|
||||||
|
assert(new_geo.x+new_geo.width+bw==sgeo.x+sgeo.width)
|
||||||
|
assert(new_geo.y+new_geo.height+bw==sgeo.y+sgeo.height)
|
||||||
|
|
||||||
|
c.fullscreen = false
|
||||||
|
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
function()
|
||||||
|
local c = client.get()[1]
|
||||||
|
|
||||||
|
local new_geo = c:geometry()
|
||||||
|
|
||||||
|
for k,v in pairs(original_geo) do
|
||||||
|
assert(new_geo[k] == v)
|
||||||
|
end
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
runner.run_steps(steps)
|
||||||
|
|
||||||
|
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
Loading…
Reference in New Issue