aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/core/kernel/fixtures/warn_core_method.rb
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2020-10-11 13:36:25 +0200
committerBenoit Daloze <eregontp@gmail.com>2020-10-26 08:47:33 +0100
commitcffdacb15a363321e1c1879aa7d94924acafd1cf (patch)
tree0f5a99285c282368c929b75f5d5e47d5933863b1 /spec/ruby/core/kernel/fixtures/warn_core_method.rb
parentfbb2d30ee69c68ffad6287c12ca5a43753cd1b9a (diff)
downloadruby-cffdacb15a363321e1c1879aa7d94924acafd1cf.tar.gz
Ignore <internal: entries from core library methods for Kernel#warn(message, uplevel: n)
* Fixes [Bug #17259]
Diffstat (limited to 'spec/ruby/core/kernel/fixtures/warn_core_method.rb')
-rw-r--r--spec/ruby/core/kernel/fixtures/warn_core_method.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/spec/ruby/core/kernel/fixtures/warn_core_method.rb b/spec/ruby/core/kernel/fixtures/warn_core_method.rb
new file mode 100644
index 0000000000..f5dee6b668
--- /dev/null
+++ b/spec/ruby/core/kernel/fixtures/warn_core_method.rb
@@ -0,0 +1,14 @@
+raise 'should be run without RubyGems' if defined?(Gem)
+
+def deprecated(n=1)
+ # puts nil, caller(0), nil
+ warn "use X instead", uplevel: n
+end
+
+1.times do # to test with a non-empty stack above the reported locations
+ deprecated
+ tap(&:deprecated)
+ tap { deprecated(2) }
+ # eval sources with a <internal: file are also ignored
+ eval "tap(&:deprecated)", nil, "<internal:should-be-skipped-by-warn-uplevel>"
+end