From d23ebdfa6d3061b50ae726e6f494b14bc6019f8d Mon Sep 17 00:00:00 2001 From: Kevin Newton Date: Wed, 6 Mar 2024 01:30:26 -0500 Subject: [PATCH] [ruby/prism] Support elsif in ripper translation https://github.com/ruby/prism/commit/0c008fcf34 --- lib/prism/translation/ripper.rb | 6 +++++- test/prism/ripper_test.rb | 3 --- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/prism/translation/ripper.rb b/lib/prism/translation/ripper.rb index 0965c0536b..5f32e18872 100644 --- a/lib/prism/translation/ripper.rb +++ b/lib/prism/translation/ripper.rb @@ -1488,7 +1488,11 @@ module Prism consequent = visit(node.consequent) bounds(node.location) - on_if(predicate, statements, consequent) + if node.if_keyword == "if" + on_if(predicate, statements, consequent) + else + on_elsif(predicate, statements, consequent) + end else statements = visit(node.statements.body.first) predicate = visit(node.predicate) diff --git a/test/prism/ripper_test.rb b/test/prism/ripper_test.rb index d9114d57df..07ea32050e 100644 --- a/test/prism/ripper_test.rb +++ b/test/prism/ripper_test.rb @@ -57,16 +57,13 @@ module Prism ] skips = incorrect | heredocs | %w[ - if.txt rescue.txt seattlerb/TestRubyParserShared.txt seattlerb/block_call_dot_op2_brace_block.txt seattlerb/block_command_operation_colon.txt seattlerb/block_command_operation_dot.txt - seattlerb/if_elsif.txt unparser/corpus/literal/block.txt unparser/corpus/literal/kwbegin.txt - whitequark/if_elsif.txt whitequark/send_block_chain_cmd.txt ]