diff --git a/tests/test-awful-mouse.lua b/tests/test-awful-mouse.lua new file mode 100644 index 00000000..ab57cc51 --- /dev/null +++ b/tests/test-awful-mouse.lua @@ -0,0 +1,41 @@ +require("awful.mouse") + +local steps = {} + +-- warning: order is important +local buttons = {"left", "middle", "right"} + +-- Check the is_****_mouse_button_pressed properties. +for k, v in ipairs(buttons) do + + -- Press the button. + table.insert(steps, function() + root.fake_input("button_press", k) + return true + end) + + -- Check the property matrix. + table.insert(steps, function() + if not mouse["is_"..v.."_mouse_button_pressed"] then return end + + for _, v2 in ipairs(buttons) do + assert(mouse["is_"..v2.."_mouse_button_pressed"] == (v == v2)) + end + + root.fake_input("button_release", k) + + return true + end) + + -- Release the button. + table.insert(steps, function() + if mouse["is_"..v.."_mouse_button_pressed"] then return end + + return true + end) + +end + +require("_runner").run_steps(steps) + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80