mirror of
https://github.com/awesomeWM/awesome
synced 2024-11-17 07:47:41 +01:00
102 lines
2.5 KiB
Lua
102 lines
2.5 KiB
Lua
--- Tests for focus signals / property.
|
|
-- Test for https://github.com/awesomeWM/awesome/issues/134.
|
|
|
|
local runner = require("_runner")
|
|
local awful = require("awful")
|
|
local gdebug = require("gears.debug")
|
|
|
|
local beautiful = require("beautiful")
|
|
beautiful.border_color_normal = "#0000ff"
|
|
beautiful.border_color_active = "#00ff00"
|
|
|
|
client.connect_signal("focus", function(c)
|
|
c.border_color = "#ff0000"
|
|
end)
|
|
|
|
local function assert_equals(a, b)
|
|
if a == b then
|
|
return
|
|
end
|
|
error(string.format("Assertion failed: %s == %s", a, b))
|
|
end
|
|
|
|
|
|
local steps = {
|
|
-- border_color should get applied via focus signal for first client on tag.
|
|
function(count)
|
|
if count == 1 then
|
|
awful.spawn("xterm")
|
|
else
|
|
local c = client.get()[1]
|
|
if c then
|
|
assert_equals(c.border_color, "#ff0000")
|
|
return true
|
|
end
|
|
end
|
|
end,
|
|
|
|
-- border_color should get applied via focus signal for second client on tag.
|
|
function(count)
|
|
if count == 1 then
|
|
awful.spawn("xterm")
|
|
else
|
|
if #client.get() == 2 then
|
|
local c = client.get()[1]
|
|
assert_equals(c, client.focus)
|
|
if c then
|
|
assert_equals(c.border_color, "#ff0000")
|
|
return true
|
|
end
|
|
|
|
end
|
|
end
|
|
end,
|
|
|
|
-- Test if alpha works as intended
|
|
function()
|
|
local c = client.get()[1]
|
|
|
|
local function test(set, expected)
|
|
expected = expected or set
|
|
c.border_color = set
|
|
assert_equals(c.border_color, expected)
|
|
end
|
|
|
|
test("#123456")
|
|
test("#12345678")
|
|
test("#123456ff", "#123456")
|
|
|
|
return true
|
|
end,
|
|
|
|
function()
|
|
assert(client.focus)
|
|
local called, called2 = false, false
|
|
gdebug.print_warning = function() called = true end
|
|
local c2 = client.focus
|
|
|
|
client.focus.active = false
|
|
assert(called)
|
|
assert(not client.focus)
|
|
assert(not c2.active)
|
|
called = false
|
|
|
|
local real_assert = assert
|
|
assert = function() called2 = true end --luacheck: globals assert
|
|
|
|
c2.active = true
|
|
|
|
assert = real_assert --luacheck: globals assert
|
|
|
|
assert(called2)
|
|
assert(not called)
|
|
assert(c2.active)
|
|
assert(client.focus == c2)
|
|
|
|
return true
|
|
end,
|
|
}
|
|
|
|
runner.run_steps(steps)
|
|
|
|
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|