require "spec_helper" describe "Supernova" do let(:logger) { double("logger") } after do Supernova.logger = nil end it "allows setting a logger" do Supernova.logger = logger Supernova.send(:logger).should == logger end describe "#log" do it "forwards logs to logger when set" do Supernova.logger = logger logger.should_receive(:info).with("my message") Supernova.log("my message") end it "does not break when logger is nil" do Supernova.log("my message") end it "uses a custom method when provided" do Supernova.logger = logger logger.should_receive(:debug).with("my message") Supernova.log("my message", :debug) end end end