Sha256: bdc8ce7be809ab05eab5e3c2cb11a4d23f97fa22f9a42f86dad15206e94ed5fd

Contents?: true

Size: 853 Bytes

Versions: 2

Compression:

Stored size: 853 Bytes

Contents

require 'spec_helper'
require 'fixtures/chain_of_responsibility'

describe "Chain Of Responsibility" do
  let(:logger) { InfoLogger.new(buffer) }
  let(:error_logger) { ErrorLogger.new(buffer) }
  let(:warn_logger) { WarnLogger.new(buffer) }

  let(:buffer) { double(:buffer) }

  before do
    logger.add_handler(error_logger)
    logger.add_handler(warn_logger)
  end

  it "logs info prepended with 'Info:'" do
    buffer.should_receive(:<<).with("Info: you look nice today")
    logger.log(:info, "you look nice today")
  end

  it "logs warnings prepended with 'Warning:'" do
    buffer.should_receive(:<<).with("Warning: things look grim")
    logger.log(:warn, "things look grim")
  end

  it "logs errors in all caps" do
    buffer.should_receive(:<<).with("ERROR: OH NO, IT WENT WRONG")
    logger.log(:error, "oh no, it went wrong")
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pymn-0.0.2 integration/chain_of_responsibility_spec.rb
pymn-0.0.1 integration/chain_of_responsibility_spec.rb