#!/usr/bin/env ruby # vim: set nosta noet ts=4 sw=4: # encoding: utf-8 BEGIN { require 'pathname' basedir = Pathname.new( __FILE__ ).dirname.parent.parent libdir = basedir + "lib" $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s ) } # SimpleCov test coverage reporting; enable this using the :coverage rake task if ENV['COVERAGE'] $stderr.puts "\n\n>>> Enabling coverage report.\n\n" require 'simplecov' SimpleCov.start do add_filter 'spec' end end require 'loggability' unless defined?( Loggability ) # # Some helper functions for RSpec specifications # module Loggability::SpecHelpers ### Reset the logging subsystem to its default state. def reset_logging Loggability.formatter = nil Loggability.output_to( $stderr ) Loggability.level = :fatal end ### Alter the output of the default log formatter to be pretty in SpecMate output def setup_logging( level=:fatal ) # Only do this when executing from a spec in TextMate if ENV['HTML_LOGGING'] || (ENV['TM_FILENAME'] && ENV['TM_FILENAME'] =~ /_spec\.rb/) logarray = [] Thread.current['logger-output'] = logarray Loggability.output_to( logarray ) Loggability.format_as( :html ) Loggability.level = :debug else Loggability.level = level end end end # Loggability::SpecHelpers ### Mock with RSpec RSpec.configure do |c| c.mock_with( :rspec ) c.include( Loggability::SpecHelpers ) end