diff options
author | John Hawthorn <john@hawthorn.email> | 2019-04-14 18:22:43 -0700 |
---|---|---|
committer | John Hawthorn <john@hawthorn.email> | 2019-04-15 16:13:06 -0700 |
commit | 0bab6310d623f9f8ed382c93ddeb9f4d1a0b8f75 (patch) | |
tree | 7ec9d96b3c4bcfcc903030b9909b506d80d6f7cc /railties | |
parent | 60afbfffdcdb4510deccf8d6db303dd4260e3dc7 (diff) | |
download | rails-0bab6310d623f9f8ed382c93ddeb9f4d1a0b8f75.tar.gz rails-0bab6310d623f9f8ed382c93ddeb9f4d1a0b8f75.tar.bz2 rails-0bab6310d623f9f8ed382c93ddeb9f4d1a0b8f75.zip |
Find query_source_location using lazy Enumerator
This way, we only need to filter the backtrace up to the first non-noise
stack frame.
This also updates noise to be able to deal with being passed a lazy
enum. We don't need this anywhere, but it seemed better for this to be
consistent.
Diffstat (limited to 'railties')
-rw-r--r-- | railties/test/backtrace_cleaner_test.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/railties/test/backtrace_cleaner_test.rb b/railties/test/backtrace_cleaner_test.rb index ec512b6b64..6de23acebe 100644 --- a/railties/test/backtrace_cleaner_test.rb +++ b/railties/test/backtrace_cleaner_test.rb @@ -17,6 +17,16 @@ class BacktraceCleanerTest < ActiveSupport::TestCase assert_equal 1, result.length end + test "can filter for noise" do + backtrace = [ "(irb):1", + "/Path/to/rails/railties/lib/rails/commands/console.rb:77:in `start'", + "bin/rails:4:in `<main>'" ] + result = @cleaner.clean(backtrace, :noise) + assert_equal "/Path/to/rails/railties/lib/rails/commands/console.rb:77:in `start'", result[0] + assert_equal "bin/rails:4:in `<main>'", result[1] + assert_equal 2, result.length + end + test "should omit ActionView template methods names" do method_name = ActionView::Template.new(nil, "app/views/application/index.html.erb", nil, locals: []).send :method_name backtrace = [ "app/views/application/index.html.erb:4:in `block in #{method_name}'"] |