diff options
-rw-r--r-- | lib/prism/translation/ripper.rb | 6 | ||||
-rw-r--r-- | 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 ] |