aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2023-08-30 10:40:29 -0400
committergit <svn-admin@ruby-lang.org>2023-08-30 20:42:01 +0000
commitcc71e2344b21e6d9931e7bdd4434c08c56a8ea00 (patch)
treef8db45632d5c8ebb9fd88ef4b67fbc229fa85511
parentc46858fd6aa360e2165fa415f05b1112531128b8 (diff)
downloadruby-cc71e2344b21e6d9931e7bdd4434c08c56a8ea00.tar.gz
[ruby/yarp] Revisit lex.rake, make lex:rubygems more useable
https://github.com/ruby/yarp/commit/4c76f4a0c0
-rw-r--r--test/yarp/desugar_visitor_test.rb6
-rw-r--r--test/yarp/fuzzer_test.rb2
-rw-r--r--test/yarp/test_helper.rb17
3 files changed, 4 insertions, 21 deletions
diff --git a/test/yarp/desugar_visitor_test.rb b/test/yarp/desugar_visitor_test.rb
index 4dee182ef1..c03b02e67a 100644
--- a/test/yarp/desugar_visitor_test.rb
+++ b/test/yarp/desugar_visitor_test.rb
@@ -13,7 +13,7 @@ module YARP
assert_desugars("(AndNode (LocalVariableReadNode) (LocalVariableWriteNode (CallNode)))", "foo &&= bar")
assert_desugars("(AndNode (LocalVariableReadNode) (LocalVariableWriteNode (CallNode)))", "foo = 1; foo &&= bar")
end
-
+
def test_or_write
assert_desugars("(IfNode (DefinedNode (ClassVariableReadNode)) (StatementsNode (ClassVariableReadNode)) (ElseNode (StatementsNode (ClassVariableWriteNode (CallNode)))))", "@@foo ||= bar")
assert_desugars("(IfNode (DefinedNode (ConstantPathNode (ConstantReadNode) (ConstantReadNode))) (StatementsNode (ConstantPathNode (ConstantReadNode) (ConstantReadNode))) (ElseNode (StatementsNode (ConstantPathWriteNode (ConstantPathNode (ConstantReadNode) (ConstantReadNode)) (CallNode)))))", "Foo::Bar ||= baz")
@@ -23,7 +23,7 @@ module YARP
assert_desugars("(OrNode (LocalVariableReadNode) (LocalVariableWriteNode (CallNode)))", "foo ||= bar")
assert_desugars("(OrNode (LocalVariableReadNode) (LocalVariableWriteNode (CallNode)))", "foo = 1; foo ||= bar")
end
-
+
def test_operator_write
assert_desugars("(ClassVariableWriteNode (CallNode (ClassVariableReadNode) (ArgumentsNode (CallNode))))", "@@foo += bar")
assert_desugars("(ConstantPathWriteNode (ConstantPathNode (ConstantReadNode) (ConstantReadNode)) (CallNode (ConstantPathNode (ConstantReadNode) (ConstantReadNode)) (ArgumentsNode (CallNode))))", "Foo::Bar += baz")
@@ -33,7 +33,7 @@ module YARP
assert_desugars("(LocalVariableWriteNode (CallNode (LocalVariableReadNode) (ArgumentsNode (CallNode))))", "foo += bar")
assert_desugars("(LocalVariableWriteNode (CallNode (LocalVariableReadNode) (ArgumentsNode (CallNode))))", "foo = 1; foo += bar")
end
-
+
private
def ast_inspect(node)
diff --git a/test/yarp/fuzzer_test.rb b/test/yarp/fuzzer_test.rb
index 61845b91f7..384f3ff0d2 100644
--- a/test/yarp/fuzzer_test.rb
+++ b/test/yarp/fuzzer_test.rb
@@ -4,7 +4,7 @@ require_relative "test_helper"
module YARP
# These tests are simply to exercise snippets found by the fuzzer that caused invalid memory access.
- class FuzzerTest < Test::Unit::TestCase
+ class FuzzerTest < TestCase
def self.snippet(name, source)
define_method(:"test_fuzzer_#{name}") { YARP.dump(source) }
end
diff --git a/test/yarp/test_helper.rb b/test/yarp/test_helper.rb
index 49587e3b03..b79adf4b16 100644
--- a/test/yarp/test_helper.rb
+++ b/test/yarp/test_helper.rb
@@ -83,22 +83,5 @@ module YARP
assert_equal expected, actual
end
end
-
- def assert_valid_locations(value, parent: nil)
- case value
- when Array
- value.each do |element|
- assert_valid_locations(element, parent: value)
- end
- when Node
- value.deconstruct_keys(nil).each_value do |field|
- assert_valid_locations(field, parent: value)
- end
- when Location
- assert_operator value.start_offset, :<=, value.end_offset, -> {
- "start_offset > end_offset for #{value.inspect}, parent is #{parent.pretty_inspect}"
- }
- end
- end
end
end