Sha256: a9dee69ef5e429145bce2d509de4021534cdc42f7fec935d17a8d228f7f91108

Contents?: true

Size: 1.61 KB

Versions: 11

Compression:

Stored size: 1.61 KB

Contents

# frozen_string_literal: true

require 'test_helper'

module Vedeu

  module Logging

    describe Debug do

      let(:described) { Vedeu::Logging::Debug }

      before do
        File.stubs(:open).with(Dir.tmpdir + '/vedeu_profile', 'w').returns(:some_code)
      end

      describe '.debug' do
        let(:_binding) {}
        let(:_obj)     {}

        subject { described.debug(_binding, _obj) }

        context 'when pry is available' do
          # @todo Add more tests.
        end

        context 'when pry is not available' do
          before { Vedeu.stubs(:requires_gem!).raises(Vedeu::Error::Fatal) }

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

      describe '.profile' do
        let(:filename)  { 'vedeu_profile' }
        let(:some_code) { :some_code }

        subject { described.profile(filename) { some_code } }

        context 'when ruby-prof is available' do
          before { Vedeu.stubs(:requires_gem!).returns(true) }

          context 'when the block is not given' do
            subject { described.profile(filename) }

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

          context 'when the block is given' do
            subject { described.profile(filename) { some_code } }

            it { subject.must_equal(some_code) }
          end
        end

        context 'when ruby-prof is not available' do
          before { Vedeu.stubs(:requires_gem!).raises(Vedeu::Error::Fatal) }

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

    end # Debug

  end # Logging

end # Vedeu

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
vedeu-0.8.32 test/lib/vedeu/logging/debug_test.rb
vedeu-0.8.31 test/lib/vedeu/logging/debug_test.rb
vedeu-0.8.30 test/lib/vedeu/logging/debug_test.rb
vedeu-0.8.29 test/lib/vedeu/logging/debug_test.rb
vedeu-0.8.28 test/lib/vedeu/logging/debug_test.rb
vedeu-0.8.27 test/lib/vedeu/logging/debug_test.rb
vedeu-0.8.26 test/lib/vedeu/logging/debug_test.rb
vedeu-0.8.25 test/lib/vedeu/logging/debug_test.rb
vedeu-0.8.24 test/lib/vedeu/logging/debug_test.rb
vedeu-0.8.23 test/lib/vedeu/logging/debug_test.rb
vedeu-0.8.22 test/lib/vedeu/logging/debug_test.rb