diff --git a/tests/test-maximize.lua b/tests/test-maximize.lua index 48fc01f7..72c30b86 100644 --- a/tests/test-maximize.lua +++ b/tests/test-maximize.lua @@ -4,6 +4,7 @@ local runner = require("_runner") local awful = require("awful") local test_client = require("_client") local lgi = require("lgi") +local gears = require("gears") local function geo_to_str(g) return "pos=" .. g.x .. "," .. g.y .. @@ -12,21 +13,15 @@ end local original_geo = nil -local counter = 0 +local steps = {} -local function geometry_handler(c, context, hints) - hints = hints or {} - assert(type(c) == "client") - assert(type(context) == "string") - assert(type(hints.toggle) == "boolean") - assert(type(hints.status) == "boolean") - counter = counter + 1 -end - -local steps = { +for _, gravity in ipairs { "NORTH_WEST", "NORTH", "NORTH_EAST", "WEST", + "CENTER", "EAST", "SOUTH_WEST", "SOUTH", "SOUTH_EAST", "STATIC" } do + gears.table.merge(steps, { function(count) if count == 1 then - test_client(nil,nil,nil,nil,nil,{gravity=lgi.Gdk.Gravity.NORTH_WEST}) + print("testing gravity " .. gravity) + test_client(nil,nil,nil,nil,nil,{gravity=lgi.Gdk.Gravity[gravity]}) else local c = client.get()[1] if c then @@ -71,10 +66,18 @@ local steps = { c.border_width = test_width c.fullscreen = true + + -- Test that the client covers the full screen + assert(geo_to_str(c:geometry()) == geo_to_str(c.screen.geometry), + geo_to_str(c:geometry()) .. " == " .. geo_to_str(c.screen.geometry)) + c.fullscreen = false assert(c.border_width == test_width) + -- Restore old border width + c.border_width = test_width - 1 + return true end, @@ -156,7 +159,22 @@ local steps = { c:kill() return true - end, + end +}) +end + +local counter = 0 + +local function geometry_handler(c, context, hints) + hints = hints or {} + assert(type(c) == "client") + assert(type(context) == "string") + assert(type(hints.toggle) == "boolean") + assert(type(hints.status) == "boolean") + counter = counter + 1 +end + +gears.table.merge(steps, { -- Now, start some clients maximized function() if #client.get() > 0 then return end @@ -241,7 +259,7 @@ local steps = { return true end -} +}) runner.run_steps(steps)