From b354ffcd62d5d59749efced05c1e8015b9a7cfc4 Mon Sep 17 00:00:00 2001 From: Thibault Jouan Date: Wed, 8 Apr 2015 21:44:04 +0000 Subject: [PATCH] Add stopped status notion in Runner --- lib/uh/wm/runner.rb | 8 ++++++++ spec/uh/wm/runner_spec.rb | 28 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/lib/uh/wm/runner.rb b/lib/uh/wm/runner.rb index 96548db..5456b8d 100644 --- a/lib/uh/wm/runner.rb +++ b/lib/uh/wm/runner.rb @@ -15,6 +15,14 @@ module Uh @manager = manager end + def stopped? + !!@stopped + end + + def stop! + @stopped = true + end + def connect_manager @manager.connect @env.log "Connected to X server" diff --git a/spec/uh/wm/runner_spec.rb b/spec/uh/wm/runner_spec.rb index d160cec..bff1e85 100644 --- a/spec/uh/wm/runner_spec.rb +++ b/spec/uh/wm/runner_spec.rb @@ -28,6 +28,34 @@ module Uh it 'assigns a new Manager' do expect(runner.manager).to be_a Manager end + + it 'is not stopped' do + expect(runner).not_to be_stopped + end + end + + describe '#stopped?' do + context 'when not stopped' do + it 'returns false' do + expect(runner.stopped?).to be false + end + end + + context 'when stopped' do + before { runner.stop! } + + it 'returns true' do + expect(runner.stopped?).to be true + end + end + end + + describe '#stop!' do + it 'sets the runner as stopped' do + expect { runner.stop! } + .to change { runner.stopped? } + .from(false).to(true) + end end describe '#connect_manager' do