Sha256: 4c4a77d4383f4e1dc00e6f2d6700405b38192d87446f0e2737d0b6f0781c7f7d

Contents?: true

Size: 1.54 KB

Versions: 37

Compression:

Stored size: 1.54 KB

Contents

require 'spec_helper'
require 'tempfile'
require 'timecop'

class SampleLogUser
  include EY::Serverside::LoggedOutput
  def initialize
    EY::Serverside::LoggedOutput.logfile = tempfile.path
    EY::Serverside::LoggedOutput.verbose = true
  end

  def starting_time
    @starting_time ||= Time.now
  end

  def tempfile
    @tempfile ||= Tempfile.new('logged_output')
  end
end

describe EY::Serverside::LoggedOutput do
  before do
    EY::Serverside::LoggedOutput.enable_actual_info!
    @log_user = SampleLogUser.new
  end

  after do
    EY::Serverside::LoggedOutput.disable_actual_info!
  end

  it "has a timestamp before each line" do
    time1 = Time.local(2008, 9, 1, 12, 0, 0)
    time2 = Time.local(2008, 9, 1, 12, 3, 5)
    time3 = Time.local(2008, 9, 1, 12, 10, 25)

    Timecop.freeze(time1) do
      @log_user.debug('test1')
      @log_user.warning('test2')
    end
    Timecop.freeze(time2) do
      @log_user.info('test3')

      @log_user.debug("test11\ntest12\ntest13")
      @log_user.warning("test21\ntest22\ntest23")
    end
    Timecop.freeze(time3) do
      @log_user.info("test31\ntest32\ntest33")
    end

    timestamp_1 = "+ 0m 00s "
    timestamp_2 = "+ 3m 05s "
    timestamp_3 = "+10m 25s "
    File.read(@log_user.tempfile.path).should == "#{timestamp_1}test1\n#{timestamp_1}!> WARNING: test2\n\n#{timestamp_2}test3\n#{timestamp_2}test11\n#{timestamp_2}test12\n#{timestamp_2}test13\n#{timestamp_2}!> WARNING: test21\n#{timestamp_2}!> test22\n#{timestamp_2}!> test23\n\n#{timestamp_3}test31\n#{timestamp_3}test32\n#{timestamp_3}test33\n"
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
engineyard-serverside-1.6.5 spec/logged_output_spec.rb
engineyard-serverside-1.6.4 spec/logged_output_spec.rb
engineyard-serverside-1.6.4.pre6 spec/logged_output_spec.rb
engineyard-serverside-1.6.4.pre5 spec/logged_output_spec.rb
engineyard-serverside-1.6.4.pre4 spec/logged_output_spec.rb
engineyard-serverside-1.6.4.pre3 spec/logged_output_spec.rb
engineyard-serverside-1.6.4.pre2 spec/logged_output_spec.rb
engineyard-serverside-1.6.4.pre spec/logged_output_spec.rb
engineyard-serverside-1.6.3 spec/logged_output_spec.rb
engineyard-serverside-1.5.35.pre.2 spec/logged_output_spec.rb
engineyard-serverside-1.5.35.pre.1 spec/logged_output_spec.rb
engineyard-serverside-1.5.33 spec/logged_output_spec.rb
engineyard-serverside-1.5.32 spec/logged_output_spec.rb
engineyard-serverside-1.5.30 spec/logged_output_spec.rb
engineyard-serverside-1.5.29.pre3 spec/logged_output_spec.rb
engineyard-serverside-1.5.29.pre2 spec/logged_output_spec.rb
engineyard-serverside-1.5.29.pre1 spec/logged_output_spec.rb
engineyard-serverside-1.5.29.pre spec/logged_output_spec.rb
engineyard-serverside-1.5.28 spec/logged_output_spec.rb
engineyard-serverside-1.5.28.pre12 spec/logged_output_spec.rb