- Added test for verifying that we treat line number indications from irb as user/lib code

- Cleaned up backtrace cleaner test code and removed instaces variables
This commit is contained in:
Vipul A M 2016-07-01 16:33:26 -07:00
parent 1eb358299c
commit 8e1714b2f5
No known key found for this signature in database
GPG Key ID: 4C9362FE1F574587
1 changed files with 16 additions and 8 deletions

View File

@ -1,24 +1,32 @@
require 'abstract_unit'
require 'rails/backtrace_cleaner'
class BacktraceCleanerVendorGemTest < ActiveSupport::TestCase
class BacktraceCleanerTest < ActiveSupport::TestCase
def setup
@cleaner = Rails::BacktraceCleaner.new
end
test "should format installed gems correctly" do
@backtrace = [ "#{Gem.path[0]}/gems/nosuchgem-1.2.3/lib/foo.rb" ]
@result = @cleaner.clean(@backtrace, :all)
assert_equal "nosuchgem (1.2.3) lib/foo.rb", @result[0]
backtrace = [ "#{Gem.path[0]}/gems/nosuchgem-1.2.3/lib/foo.rb" ]
result = @cleaner.clean(backtrace, :all)
assert_equal "nosuchgem (1.2.3) lib/foo.rb", result[0]
end
test "should format installed gems not in Gem.default_dir correctly" do
@target_dir = Gem.path.detect { |p| p != Gem.default_dir }
target_dir = Gem.path.detect { |p| p != Gem.default_dir }
# skip this test if default_dir is the only directory on Gem.path
if @target_dir
@backtrace = [ "#{@target_dir}/gems/nosuchgem-1.2.3/lib/foo.rb" ]
@result = @cleaner.clean(@backtrace, :all)
assert_equal "nosuchgem (1.2.3) lib/foo.rb", @result[0]
backtrace = [ "#{target_dir}/gems/nosuchgem-1.2.3/lib/foo.rb" ]
result = @cleaner.clean(backtrace, :all)
assert_equal "nosuchgem (1.2.3) lib/foo.rb", result[0]
end
end
test "should consider traces from irb lines as User code" do
backtrace = [ "from (irb):1",
"from /Path/to/rails/railties/lib/rails/commands/console.rb:77:in `start'",
"from bin/rails:4:in `<main>'" ]
result = @cleaner.clean(backtrace, :all)
assert_equal "from (irb):1", result[0]
end
end