summaryrefslogtreecommitdiff
path: root/test/-ext-
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2022-07-29 16:02:10 +0900
committerKoichi Sasada <ko1@atdot.net>2022-08-01 17:48:05 +0900
commit5bbba76489628f4509495ebf4ba0a7aad4c0b560 (patch)
tree10cdc8fb1474b43122a132501feb05f4032ec271 /test/-ext-
parent1520936aa760e6b2747d31c37854f22a63591667 (diff)
respect current frame of `rb_eval_string`
`self` is nearest Ruby method's `self`. If there is no ruby frame, use toplevel `self` (`main`). https://bugs.ruby-lang.org/issues/18780
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6199
Diffstat (limited to 'test/-ext-')
-rw-r--r--test/-ext-/eval/test_eval.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/-ext-/eval/test_eval.rb b/test/-ext-/eval/test_eval.rb
new file mode 100644
index 0000000000..27952996e2
--- /dev/null
+++ b/test/-ext-/eval/test_eval.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: false
+require 'test/unit'
+require "-test-/eval"
+
+class EvalTest < Test::Unit::TestCase
+ def test_rb_eval_string
+ a = 1
+ assert_equal [self, 1, __method__], rb_eval_string(%q{
+ [self, a, __method__]
+ })
+ end
+end