Sha256: 9138c163b756a4a0f9e29025dd987267a3737089ed2e11b1527b2e8ffe78a173

Contents?: true

Size: 1.36 KB

Versions: 4

Compression:

Stored size: 1.36 KB

Contents

require File.dirname(__FILE__) + '/../../spec_helper.rb'

module Spec
  module Runner
    context "NoisyBacktraceTweaker" do
      setup do
        @error = RuntimeError.new
        @tweaker = NoisyBacktraceTweaker.new
      end
        
      specify "should leave anything in lib spec dir" do
        ["expectations", "mocks", "runner", "stubs"].each do |child|
          @error.set_backtrace(["/lib/spec/#{child}/anything.rb"])
          @tweaker.tweak_backtrace(@error, "spec name")
          @error.backtrace.should_not_be_empty
        end
      end

      specify "should leave anything in spec dir" do
        @error.set_backtrace(["/lib/spec/expectations/anything.rb"])
        @tweaker.tweak_backtrace(@error, "spec name")
        @error.backtrace.should_not_be_empty
      end

      specify "should leave bin spec" do
        @error.set_backtrace(["bin/spec:"])
        @tweaker.tweak_backtrace(@error, "spec name")
        @error.backtrace.should_not_be_empty
      end

      specify "should not barf on nil backtrace" do
        lambda do
          @tweaker.tweak_backtrace(@error, "spec name")
        end.should_not_raise
      end
      
      specify "should clean up double slashes" do
        @error.set_backtrace(["/a//b/c//d.rb"])
        @tweaker.tweak_backtrace(@error, "spec name")
        @error.backtrace.should_include "/a/b/c/d.rb"
      end
      
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
riess-0.0.8 vendor/rspec-0.8.2/spec/spec/runner/noisy_backtrace_tweaker_spec.rb
rspec-0.8.0 spec/spec/runner/noisy_backtrace_tweaker_spec.rb
rspec-0.8.1 spec/spec/runner/noisy_backtrace_tweaker_spec.rb
rspec-0.8.2 spec/spec/runner/noisy_backtrace_tweaker_spec.rb