From 1966b5c8c607325bce251ceca016db720b643a10 Mon Sep 17 00:00:00 2001 From: Kevin Newton Date: Wed, 6 Mar 2024 10:43:57 -0500 Subject: [PATCH] [ruby/prism] Only run ripper tests on 3.3+ https://github.com/ruby/prism/commit/f8b973e8cd --- lib/prism/translation/ripper.rb | 10 +--------- lib/prism/translation/ripper/sexp.rb | 1 - test/prism/ripper_test.rb | 7 ++++++- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/lib/prism/translation/ripper.rb b/lib/prism/translation/ripper.rb index 12205d3249..849c0b8089 100644 --- a/lib/prism/translation/ripper.rb +++ b/lib/prism/translation/ripper.rb @@ -903,21 +903,13 @@ module Prism if node.locals.any? visit_all(node.locals) else - visit_block_parameters_node_empty_locals + false end bounds(node.location) on_block_var(parameters, locals) end - if RUBY_ENGINE == "jruby" - # For JRuby, empty locals in an on_block_var is nil. - private def visit_block_parameters_node_empty_locals; nil; end - else - # For everyone else, empty locals in an on_block_var is false. - private def visit_block_parameters_node_empty_locals; false; end - end - # break # ^^^^^ # diff --git a/lib/prism/translation/ripper/sexp.rb b/lib/prism/translation/ripper/sexp.rb index f1e1086b66..9cb717b9d4 100644 --- a/lib/prism/translation/ripper/sexp.rb +++ b/lib/prism/translation/ripper/sexp.rb @@ -44,7 +44,6 @@ module Prism module_eval(<<-End, __FILE__, __LINE__ + 1) def on_#{event}(*args) args.unshift :#{event} - args end End end diff --git a/test/prism/ripper_test.rb b/test/prism/ripper_test.rb index 59a116c593..f19e8ddbb6 100644 --- a/test/prism/ripper_test.rb +++ b/test/prism/ripper_test.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +return if RUBY_VERSION < "3.3" + require_relative "test_helper" module Prism @@ -52,10 +54,13 @@ module Prism relatives.each do |relative| # Skip the tests that Ripper is reporting the wrong results for. next if incorrect.include?(relative) + + # Skip the tests we haven't implemented yet. + next if omitted.include?(relative) + filepath = File.join(__dir__, "fixtures", relative) define_method "test_ripper_#{relative}" do - omit("Not yet implemented") if omitted.include?(relative) source = File.read(filepath, binmode: true, external_encoding: Encoding::UTF_8) case relative