Sha256: 3de5234ae51b45338272190c12f38cbec041dec4b82d91ac3d898221e749fd3a

Contents?: true

Size: 1.38 KB

Versions: 13

Compression:

Stored size: 1.38 KB

Contents

# frozen_string_literal: true

RSpec.describe YARD::Logger do
  describe "#show_backtraces" do
    it "is true if debug level is on" do
      log.show_backtraces = true
      log.enter_level(Logger::DEBUG) do
        log.show_backtraces = false
        expect(log.show_backtraces).to be true
      end
      expect(log.show_backtraces).to be false
    end
  end

  describe "#backtrace" do
    before { log.show_backtraces = true }
    after  { log.show_backtraces = false }

    it "logs backtrace in error by default" do
      expect(log).to receive(:error).with("RuntimeError: foo")
      expect(log).to receive(:error).with("Stack trace:\n\tline1\n\tline2\n")
      exc = RuntimeError.new("foo")
      exc.set_backtrace(['line1', 'line2'])
      log.enter_level(Logger::INFO) { log.backtrace(exc) }
    end

    it "allows backtrace to be entered in other modes" do
      expect(log).to receive(:warn).with("RuntimeError: foo")
      expect(log).to receive(:warn).with("Stack trace:\n\tline1\n\tline2\n")
      exc = RuntimeError.new("foo")
      exc.set_backtrace(['line1', 'line2'])
      log.enter_level(Logger::INFO) { log.backtrace(exc, :warn) }
    end
  end

  describe '#warn' do
    before  { log.warned = false }
    after   { log.warned = false }

    it 'changes #warned from false to true' do
      expect { log.warn('message') }.to change(log, :warned).from(false).to(true)
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
yard-0.9.24 spec/logging_spec.rb
yard-0.9.23 spec/logging_spec.rb
yard-0.9.22 spec/logging_spec.rb
yard-0.9.21 spec/logging_spec.rb
yard-0.9.20 spec/logging_spec.rb
yard-0.9.19 spec/logging_spec.rb
yard-0.9.16 spec/logging_spec.rb
yard-0.9.15 spec/logging_spec.rb
yard-0.9.14 spec/logging_spec.rb
yard-0.9.13 spec/logging_spec.rb
yard-0.9.12 spec/logging_spec.rb
yard-0.9.11 spec/logging_spec.rb
yard-0.9.10 spec/logging_spec.rb