From 887c66a6f7745ded9b28484d77389680853ddc87 Mon Sep 17 00:00:00 2001 From: Thibault Jouan Date: Fri, 17 Apr 2015 20:07:44 +0000 Subject: [PATCH] Implement Manager#handle_next_event --- lib/uh/wm/manager.rb | 4 ++++ spec/uh/wm/manager_spec.rb | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/uh/wm/manager.rb b/lib/uh/wm/manager.rb index 1b992b9..d5c6b0b 100644 --- a/lib/uh/wm/manager.rb +++ b/lib/uh/wm/manager.rb @@ -45,6 +45,10 @@ module Uh @display.grab_key keysym.to_s, mod_mask end + def handle_next_event + handle @display.next_event + end + def handle_pending_events handle @display.next_event while @display.pending? end diff --git a/spec/uh/wm/manager_spec.rb b/spec/uh/wm/manager_spec.rb index 4cfbe5b..f45d839 100644 --- a/spec/uh/wm/manager_spec.rb +++ b/spec/uh/wm/manager_spec.rb @@ -106,6 +106,15 @@ module Uh end end + describe '#handle_next_event' do + it 'handles the next available event on display' do + event = double 'event' + allow(display).to receive(:next_event) { event } + expect(manager).to receive(:handle).with(event).once + manager.handle_next_event + end + end + describe '#handle_pending_events' do let(:event) { double 'event' }