Sha256: 1fc78d7cc40b9e205e777bc56964b372c1e2671f7aa08c9722c0105341044c36
Contents?: true
Size: 1.74 KB
Versions: 1
Compression:
Stored size: 1.74 KB
Contents
require File.dirname(__FILE__) + '/../test_helper' class MyClass def logged_method logger.debug 'message' end end module MyModule; end class LogMethodsTest < Test::Unit::TestCase context "An instance of MyClass, with loggable mix-in" do setup { @logger = mock() } teardown { MyClass.logger = nil} should "have a logger stub by default" do MyClass.logger.should be_instance_of(Logger) end should "not fail when an instance calls an uninitialized logger" do m = MyClass.new lambda { m.logged_method }.should_not raise_error end should "allow the asssignment of a logger" do MyClass.logger = @logger MyClass.logger.should == @logger end should "allow access to the logger from an instance" do MyClass.logger = @logger MyClass.new.logger.should == @logger end end context "MyModule, with loggable mix-in" do should "have a logger stub by default" do MyModule.logger = nil MyModule.logger.should be_kind_of(Logger) end should "be able to log messages" do logger = mock() logger.expects(:debug).with('blip') MyModule.logger = logger MyModule.logger.debug('blip') end end context "MyModule in Rails3" do setup do class ::Rails def self.logger return "I'm a Rails Logger." end end end teardown do Object.send(:remove_const, :Rails) end should "use Rails logger" do MyModule.logger = nil MyModule.logger.should == Rails.logger end should "switch to using Rails logger even if a default logger was already defined" do MyModule.logger = Logger.new(STDOUT) MyModule.logger.should == Rails.logger end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mediashelf-loggable-0.4.3 | test/examples/log_methods_test.rb |