Sha256: 66570d684c8b3a836e6753e43b99ea732a2420375693b4590d2d2b4b30dad4d9

Contents?: true

Size: 1.94 KB

Versions: 2

Compression:

Stored size: 1.94 KB

Contents

require File.expand_path("../../spec_helper", __FILE__)

module CukeForker
  describe LoggingListener do
    let(:stdout)   { StringIO.new }
    let(:listener) { LoggingListener.new stdout }

    it "logs all events" do
      Time.stub(:now => Time.now)

      mock_worker  = mock(Worker,     :id => "1", :feature => "foo/bar")
      mock_worker2 = mock(Worker,     :id => "15", :feature => "foo/baz")

      mock_display = mock(VncServer)
      mock_display.stub(:display).and_return(nil, ":5")

      listener.on_run_starting
      listener.on_display_starting mock_display
      listener.on_display_fetched mock_display
      listener.on_worker_starting mock_worker
      listener.on_worker_starting mock_worker2
      listener.on_eta Time.now, 10, 255
      listener.on_worker_finished mock_worker
      listener.on_worker_finished mock_worker2
      listener.on_display_released mock_display
      listener.on_run_interrupted
      listener.on_run_finished false
      listener.on_display_stopping mock_display

      timestamp = Time.now.strftime("%Y-%m-%d %H:%M:%S##{Process.pid}")

      stdout.string.should == <<-OUTPUT
I, [#{timestamp}]  INFO -- : [    run           ] starting
I, [#{timestamp}]  INFO -- : [    display       ] starting
I, [#{timestamp}]  INFO -- : [    display :5    ] fetched
I, [#{timestamp}]  INFO -- : [    worker  1     ] starting: foo/bar
I, [#{timestamp}]  INFO -- : [    worker  15    ] starting: foo/baz
I, [#{timestamp}]  INFO -- : [    eta     10/255] #{Time.now.strftime "%Y-%m-%d %H:%M:%S"}
I, [#{timestamp}]  INFO -- : [    worker  1     ] finished: foo/bar
I, [#{timestamp}]  INFO -- : [    worker  15    ] finished: foo/baz
I, [#{timestamp}]  INFO -- : [    display :5    ] released
I, [#{timestamp}]  INFO -- : [    run           ] interrupted - please wait
I, [#{timestamp}]  INFO -- : [    run           ] finished, passed
I, [#{timestamp}]  INFO -- : [    display :5    ] stopping
      OUTPUT
    end



  end # Worker
end # CukeForker

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cukeforker-0.0.3 spec/cukeforker/logging_listener_spec.rb
cukeforker-0.0.2 spec/cukeforker/logging_listener_spec.rb