Sha256: 721fc01dfada7c16117f488cb2492f7780db497f22893cd36d6cfbfb8071ec07

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

require 'spec_helper'

describe Shoes::Logger do
  let(:awesome_logger) { Class.new }
  after { Shoes::Logger.unregister(:awesome_logger) }

  describe ".register" do
    it "allows new loggers to be registered" do
      Shoes::Logger.register(:awesome_logger, awesome_logger)
    end
  end

  describe ".get" do
    before { Shoes::Logger.register(:awesome_logger, awesome_logger) }

    it "retrieves a registered logger" do
      Shoes::Logger.get(:awesome_logger).should equal(awesome_logger)
    end
  end

  describe "default logger" do
    let(:logger) { Shoes.logger }

    it "is a ruby logger" do
      expect(logger).to be_an_instance_of(Shoes::Logger::Ruby)
    end
  end
end

describe Shoes::Logger::Ruby do
  let(:logdevice) { StringIO.new }
  subject(:logger) { Shoes::Logger::Ruby.new logdevice }

  it "logs messages with format 'LEVEL: Message'" do
    logger.info "Message"
    expect(logdevice.string).to eq("INFO: Message\n")
  end

  it "defaults to STDERR" do
    STDERR.stub(:write)
    logger = Shoes::Logger::Ruby.new
    logger.error "Message"
    expect(STDERR).to have_received(:write)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shoes-4.0.0.pre1 spec/shoes/logger_spec.rb