Implement basic Runner
This commit is contained in:
parent
cd76c4e270
commit
ea0034fd7e
@ -3,6 +3,7 @@ require 'uh'
|
||||
require 'uh/wm/cli'
|
||||
require 'uh/wm/env'
|
||||
require 'uh/wm/manager'
|
||||
require 'uh/wm/runner'
|
||||
|
||||
module Uh
|
||||
module WM
|
||||
|
24
lib/uh/wm/runner.rb
Normal file
24
lib/uh/wm/runner.rb
Normal file
@ -0,0 +1,24 @@
|
||||
module Uh
|
||||
module WM
|
||||
class Runner
|
||||
class << self
|
||||
def run env
|
||||
runner = new env
|
||||
runner.connect_manager
|
||||
end
|
||||
end
|
||||
|
||||
attr_reader :env, :manager
|
||||
|
||||
def initialize env
|
||||
@env = env
|
||||
@manager = Manager.new
|
||||
end
|
||||
|
||||
def connect_manager
|
||||
@manager.connect
|
||||
@env.log "Connected to X server"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
46
spec/uh/wm/runner_spec.rb
Normal file
46
spec/uh/wm/runner_spec.rb
Normal file
@ -0,0 +1,46 @@
|
||||
module Uh
|
||||
module WM
|
||||
RSpec.describe Runner do
|
||||
let(:env) { Env.new(StringIO.new) }
|
||||
subject(:runner) { described_class.new env }
|
||||
|
||||
describe '.run' do
|
||||
subject(:run) { described_class.run env }
|
||||
|
||||
it 'builds a new Runner with given env' do
|
||||
expect(described_class).to receive(:new).with(env).and_call_original
|
||||
run
|
||||
end
|
||||
|
||||
it 'connects the manager' do
|
||||
runner
|
||||
allow(described_class).to receive(:new) { runner }
|
||||
expect(runner).to receive(:connect_manager)
|
||||
run
|
||||
end
|
||||
end
|
||||
|
||||
describe '#initialize' do
|
||||
it 'assigns the env' do
|
||||
expect(runner.env).to be env
|
||||
end
|
||||
|
||||
it 'assigns a new Manager' do
|
||||
expect(runner.manager).to be_a Manager
|
||||
end
|
||||
end
|
||||
|
||||
describe '#connect_manager' do
|
||||
it 'connects the manager' do
|
||||
expect(runner.manager).to receive :connect
|
||||
runner.connect_manager
|
||||
end
|
||||
|
||||
it 'logs a message when connected' do
|
||||
expect(env).to receive(:log).with /connected/i
|
||||
runner.connect_manager
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user