Implement Runner#run_until

This commit is contained in:
Thibault Jouan 2015-04-09 00:11:23 +00:00
parent c8f12af987
commit 224ae6be5f
2 changed files with 13 additions and 0 deletions

View File

@ -29,6 +29,10 @@ module Uh
@manager.connect @manager.connect
@env.log "Connected to X server" @env.log "Connected to X server"
end end
def run_until &block
@manager.handle_pending_events until block.call
end
end end
end end
end end

View File

@ -73,6 +73,15 @@ module Uh
runner.connect_manager runner.connect_manager
end end
end end
describe '#run_until' do
it 'tells the manager to handle events until given block is true' do
block = proc { }
allow(block).to receive(:call).and_return(false, false, false, true)
expect(runner.manager).to receive(:handle_pending_events).exactly(3).times
runner.run_until &block
end
end
end end
end end
end end