From fc03ba50f1ff6c30f7c654f564b4dffbed0844ef Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Sun, 25 Dec 2022 22:48:35 -0800 Subject: MJIT: Fix JIT code for multiple values in a single case [Bug #19263] --- test/ruby/test_mjit.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_mjit.rb b/test/ruby/test_mjit.rb index 399bf20071..a97747eb88 100644 --- a/test/ruby/test_mjit.rb +++ b/test/ruby/test_mjit.rb @@ -518,6 +518,16 @@ class TestMJIT < Test::Unit::TestCase end; end + def test_compile_multiple_values_case + assert_compile_twice("#{<<~"begin;"}\n#{<<~"end;"}", result_inspect: '"world"', insns: %i[opt_case_dispatch]) + begin; + case 'hello' + when 'hello', 'world' + 'world' + end + end; + end + def test_compile_insn_opt_calc assert_compile_twice('4 + 2 - ((2 * 3 / 2) % 2)', result_inspect: '5', insns: %i[opt_plus opt_minus opt_mult opt_div opt_mod]) assert_compile_twice('4.0 + 2.0 - ((2.0 * 3.0 / 2.0) % 2.0)', result_inspect: '5.0', insns: %i[opt_plus opt_minus opt_mult opt_div opt_mod]) -- cgit v1.2.3