diff options
author | Matt Jones <al2o3cr@gmail.com> | 2009-03-05 15:48:56 -0500 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2009-03-09 12:09:40 +0100 |
commit | f4bd0fbc91efbbe191d355544adc2aca9ba01c7b (patch) | |
tree | e8f14ea7b18debf5d7343f47274df73b51daf530 /railties/test | |
parent | a3e67a15edcdcfd2fd84f078cb3e2c76d0226794 (diff) | |
download | rails-f4bd0fbc91efbbe191d355544adc2aca9ba01c7b.tar.gz rails-f4bd0fbc91efbbe191d355544adc2aca9ba01c7b.tar.bz2 rails-f4bd0fbc91efbbe191d355544adc2aca9ba01c7b.zip |
Correctly clean backtraces from vendor/gems and gems in alternate install locations
Signed-off-by: David Heinemeier Hansson <david@loudthinking.com>
Diffstat (limited to 'railties/test')
-rw-r--r-- | railties/test/backtrace_cleaner_test.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/railties/test/backtrace_cleaner_test.rb b/railties/test/backtrace_cleaner_test.rb index bfb9cb7639..7a1b361440 100644 --- a/railties/test/backtrace_cleaner_test.rb +++ b/railties/test/backtrace_cleaner_test.rb @@ -30,3 +30,32 @@ if defined? Test::Unit::Util::BacktraceFilter else $stderr.puts 'No BacktraceFilter for minitest' end + +class BacktraceCleanerVendorGemTest < ActiveSupport::TestCase + def setup + @cleaner = Rails::BacktraceCleaner.new + end + + test "should format installed gems correctly" do + @backtrace = [ "#{Gem.default_dir}/gems/nosuchgem-1.2.3/lib/foo.rb" ] + @result = @cleaner.clean(@backtrace) + 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 } + # 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) + assert_equal "nosuchgem (1.2.3) lib/foo.rb", @result[0] + end + end + + test "should format vendor gems correctly" do + @backtrace = [ "#{Rails::GemDependency.unpacked_path}/nosuchgem-1.2.3/lib/foo.rb" ] + @result = @cleaner.clean(@backtrace) + assert_equal "nosuchgem (1.2.3) [v] lib/foo.rb", @result[0] + end + +end |