Register layout event hooks

This commit is contained in:
Thibault Jouan 2015-04-10 07:53:08 +00:00
parent a848e6b936
commit 616b14eae2
2 changed files with 16 additions and 1 deletions

View File

@ -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

View File

@ -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