Add a test for awesome.get_key_name()
Signed-off-by: ArenaL5 <arenal5@gmx.com>
This commit is contained in:
parent
e7436f132f
commit
e5566c0415
|
@ -0,0 +1,57 @@
|
|||
local naughty = require("naughty")
|
||||
local awful = require("awful")
|
||||
|
||||
local function prettyerror(key, keysym, character, expected_keysym, expected_character)
|
||||
if not keysym then keysym = "[nil]" end
|
||||
if not character then character = "nil" end
|
||||
if not expected_keysym then expected_keysym = "[nil]" end
|
||||
if not expected_character then expected_character = "nil" end
|
||||
local message = "key \""..key.."\" returned "..keysym.." ("..character..")."..
|
||||
"instead of keysym "..expected_keysym.." ("..expected_character..")"
|
||||
return string.gsub(message, "(.)", {
|
||||
["\a"] = "\\a",
|
||||
["\b"] = "\\b",
|
||||
["\27"] = "\\e",
|
||||
["\f"] = "\\f",
|
||||
["\r"] = "\\r",
|
||||
["\n"] = "\\n",
|
||||
["\t"] = "\\t",
|
||||
["\v"] = "\\v",
|
||||
})
|
||||
end
|
||||
|
||||
local function keycode_test(key, expected_keysym, expected_character)
|
||||
local keysym, character = awful.keyboard.get_key_name(key)
|
||||
naughty.notification {
|
||||
urgency = "low",
|
||||
title = keysym or "[nil]",
|
||||
message = character or "[nil]"
|
||||
}
|
||||
return assert(keysym == expected_keysym and character == expected_character,
|
||||
prettyerror(key, keysym, character, expected_keysym, expected_character))
|
||||
end
|
||||
|
||||
local function triple_test(keycode, expected_keysym, expected_character)
|
||||
local result = keycode_test(keycode, expected_keysym, expected_character)
|
||||
if expected_keysym then
|
||||
local local_result = keycode_test(expected_keysym, expected_keysym, expected_character)
|
||||
result = result and local_result
|
||||
end
|
||||
if expected_character then
|
||||
local local_result = keycode_test(expected_character, expected_keysym, expected_character)
|
||||
result = result and local_result
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
require("_runner").run_steps({
|
||||
function() return triple_test("#9", "Escape", "\27") end,
|
||||
function() return triple_test("#22", "BackSpace", "\b") end,
|
||||
function() return triple_test("#23", "Tab", "\t") end,
|
||||
function() return triple_test("#111", "Up", nil) end,
|
||||
function() return triple_test("#113", "Left", nil) end,
|
||||
function() return triple_test("#114", "Right", nil) end,
|
||||
function() return triple_test("#116", "Down", nil) end,
|
||||
})
|
||||
|
||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
Loading…
Reference in New Issue