Add failing test: c.startup_id should be nil when snid is disabled
When using `spawn` without startup notification support, the `startup_id` property on the client should be nil. This adds rxvt-unicode to the Travis build, because it supports startup notifications, but xterm does not. We should replace xterm with it in the existing tests then later.
This commit is contained in:
parent
9afb2578f8
commit
339e2b0ecc
|
@ -31,7 +31,7 @@ install:
|
|||
- sudo apt-get install -y libcairo2-dev xmlto asciidoc libpango1.0-dev gperf luadoc libxcb-xtest0-dev libxcb-icccm4-dev libxcb-randr0-dev libxcb-keysyms1-dev libxcb-xinerama0-dev libxcb-image0-dev libev-dev libimlib2-dev libdbus-1-dev libxdg-basedir-dev libstartup-notification0-dev imagemagick libxcb1-dev libxcb-shape0-dev libxcb-util0-dev libxcursor-dev libx11-xcb-dev libxcb-cursor-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev
|
||||
|
||||
# Deps for functional tests.
|
||||
- sudo apt-get install -y dbus-x11 xterm xdotool xterm xvfb
|
||||
- sudo apt-get install -y dbus-x11 xterm xdotool xterm xvfb rxvt-unicode
|
||||
|
||||
# Install Lua (per env).
|
||||
- sudo apt-get install -y lib${LUANAME}-dev ${LUANAME} ${INSTALL_PKGS}
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
--- Tests for spawn's startup notifications.
|
||||
|
||||
local spawn = require("awful.spawn")
|
||||
|
||||
local manage_called, c_snid
|
||||
|
||||
client.connect_signal("manage", function(c)
|
||||
manage_called = true
|
||||
c_snid = c.startup_id
|
||||
end)
|
||||
|
||||
|
||||
local ret, snid
|
||||
local steps = {
|
||||
function(count)
|
||||
if count == 1 then
|
||||
ret, snid = spawn('urxvt', true)
|
||||
elseif manage_called then
|
||||
local c = client.get()[1]
|
||||
assert(ret)
|
||||
assert(snid)
|
||||
assert(snid == c_snid)
|
||||
return true
|
||||
end
|
||||
end,
|
||||
|
||||
-- Test that c.startup_id is nil for a client without startup notifications,
|
||||
-- and especially not the one from the previous spawn.
|
||||
function(count)
|
||||
if count == 1 then
|
||||
manage_called = false
|
||||
ret, snid = spawn('urxvt', false)
|
||||
elseif manage_called then
|
||||
assert(ret)
|
||||
assert(snid == nil)
|
||||
assert(c_snid == nil, "c.startup_snid should be nil!")
|
||||
return true
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
require("_runner").run_steps(steps)
|
Loading…
Reference in New Issue