Skip to content

Commit

Permalink
- Added test for verifying that we treat line number indications from…
Browse files Browse the repository at this point in the history
… irb as user/lib code

- Cleaned up backtrace cleaner test code and removed instaces variables
  • Loading branch information
vipulnsward committed Jul 1, 2016
1 parent 1eb3582 commit 8e1714b
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions railties/test/backtrace_cleaner_test.rb
@@ -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

0 comments on commit 8e1714b

Please sign in to comment.