From 616b14eae29f815155870ffa41933807a25ca3d3 Mon Sep 17 00:00:00 2001 From: Thibault Jouan Date: Fri, 10 Apr 2015 07:53:08 +0000 Subject: [PATCH] Register layout event hooks --- lib/uh/wm/runner.rb | 7 +++++++ spec/uh/wm/runner_spec.rb | 10 +++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/uh/wm/runner.rb b/lib/uh/wm/runner.rb index bbeba0c..f54a6cd 100644 --- a/lib/uh/wm/runner.rb +++ b/lib/uh/wm/runner.rb @@ -31,6 +31,7 @@ module Uh def register_event_hooks register_manager_hooks + register_layout_event_hooks register_key_bindings_hooks end @@ -55,6 +56,12 @@ module Uh end end + def register_layout_event_hooks + @events.on(:connected) do |display| + @layout.register display + end + end + def register_key_bindings_hooks @events.on(:key, :q) { stop! } end diff --git a/spec/uh/wm/runner_spec.rb b/spec/uh/wm/runner_spec.rb index 15cbbfa..0d533fd 100644 --- a/spec/uh/wm/runner_spec.rb +++ b/spec/uh/wm/runner_spec.rb @@ -1,4 +1,6 @@ -SomeLayout = Class.new +SomeLayout = Class.new do + define_method(:register) { |*args| } +end module Uh module WM @@ -97,6 +99,12 @@ module Uh runner.events.emit :connected end + it 'registers layout hook for :connected event' do + runner.register_event_hooks + expect(runner.layout).to receive(:register).with :display + runner.events.emit :connected, args: :display + end + it 'registers key bindings event hooks' do runner.register_event_hooks expect(runner.events[:key, :q]).not_to be_empty