41 lines
1.2 KiB
Plaintext
41 lines
1.2 KiB
Plaintext
local Key = require("awful.key")
|
|
local client = require("awesome-slot.slots.client")
|
|
local keyboard = require("awful.keyboard")
|
|
|
|
describe("Test awesome-slot.slots.client.append_keybindings", function()
|
|
|
|
-- Spies cannot be used with Teal since it doesn't allow to augment assert.
|
|
-- Instead, we will use a local variable to store the registered bindings and
|
|
-- override the append_client_keybinding function to store the bindings in
|
|
-- the local variable.
|
|
local registered_bindings: { Key } = {}
|
|
function keyboard.append_client_keybindings(bindings: { Key })
|
|
for _, binding in ipairs(bindings) do
|
|
table.insert(registered_bindings , binding)
|
|
end
|
|
end
|
|
|
|
before_each(function()
|
|
registered_bindings = {}
|
|
end)
|
|
|
|
it("should invoke awful.mouse.append_client_keybinding", function()
|
|
local bindings = {
|
|
Key {
|
|
modifiers = { "Mod1" },
|
|
key = "a",
|
|
on_press = function() end,
|
|
},
|
|
}
|
|
|
|
client.append_keybindings {
|
|
keybindings = bindings,
|
|
}
|
|
|
|
assert(#registered_bindings == #bindings)
|
|
for i=1,#bindings do
|
|
assert(registered_bindings[i] == bindings[i])
|
|
end
|
|
end)
|
|
end)
|