Sha256: f7e31f1460a03b763c0eab87224d673cc9768dd8befaeb5981e03dd6b48ef621

Contents?: true

Size: 1.61 KB

Versions: 30

Compression:

Stored size: 1.61 KB

Contents

require 'test_helper'

module Vedeu

  module Logging

    describe Timer do

      let(:described) { Vedeu::Logging::Timer }
      let(:instance)  { described.new(_message) }
      let(:_message)  { 'Testing' }
      let(:_time)     { mock('Time') }
      let(:started)   { 1434492219.5238185 }

      before do
        Time.stubs(:now).returns(_time)
        _time.stubs(:to_f).returns(started)
      end

      describe '#initialize' do
        it { instance.must_be_instance_of(described) }
        it { instance.instance_variable_get('@message').must_equal(_message) }
        it { instance.instance_variable_get('@started').must_equal(started) }
      end

      describe '.timer' do
        it { described.must_respond_to(:timer) }
      end

      describe '#measure' do
        context 'when the block is given' do
          subject { instance.measure { :thing_to_be_measured } }

          context 'when debugging is enabled' do
            before { Vedeu::Configuration.stubs(:debug?).returns(true) }

            it {
              Vedeu.expects(:log).with(type:    :timer,
                                       message: "Testing took 0.0ms.")
              subject
            }
          end

          context 'when debugging is disabled' do
            before { Vedeu::Configuration.stubs(:debug?).returns(false) }

            it { subject.must_equal(:thing_to_be_measured) }
          end
        end

        context 'when the block is not given' do
          subject { instance.measure }

          it { proc { subject }.must_raise(Vedeu::Error::RequiresBlock) }
        end
      end

    end # Timer

  end # Logging

end # Vedeu

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
vedeu-0.6.51 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.50 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.49 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.48 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.47 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.46 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.45 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.44 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.43 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.42 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.41 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.40 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.39 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.38 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.37 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.36 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.35 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.34 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.33 test/lib/vedeu/logging/timer_test.rb
vedeu-0.6.32 test/lib/vedeu/logging/timer_test.rb