summaryrefslogtreecommitdiff
path: root/test/prism/ruby_api_test.rb
diff options
context:
space:
mode:
authorPhilip Mueller <[email protected]>2024-02-21 12:30:22 -0500
committergit <[email protected]>2024-04-23 13:53:23 +0000
commitf7d1699f6714d8fe14ed92272584f68a79995e64 (patch)
tree0adbaa5b3b6f1c4e8db9f6fbeadf2b706e7a93c9 /test/prism/ruby_api_test.rb
parent87b829aa942089c7614470184f02aedec9d72ec9 (diff)
[ruby/prism] Implement case equality on nodes
https://github.com/ruby/prism/commit/dc121e4fdf
Diffstat (limited to 'test/prism/ruby_api_test.rb')
-rw-r--r--test/prism/ruby_api_test.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/prism/ruby_api_test.rb b/test/prism/ruby_api_test.rb
index 6418887147..bf493666d2 100644
--- a/test/prism/ruby_api_test.rb
+++ b/test/prism/ruby_api_test.rb
@@ -244,6 +244,21 @@ module Prism
assert_equal 16, base[parse_expression("0x1")]
end
+ def test_node_equality
+ assert_operator parse_expression("1"), :===, parse_expression("1")
+ assert_operator Prism.parse("1").value, :===, Prism.parse("1").value
+
+ complex_source = "class Something; @var = something.else { _1 }; end"
+ assert_operator parse_expression(complex_source), :===, parse_expression(complex_source)
+
+ refute_operator parse_expression("1"), :===, parse_expression("2")
+ refute_operator parse_expression("1"), :===, parse_expression("0x1")
+
+ complex_source_1 = "class Something; @var = something.else { _1 }; end"
+ complex_source_2 = "class Something; @var = something.else { _2 }; end"
+ refute_operator parse_expression(complex_source_1), :===, parse_expression(complex_source_2)
+ end
+
private
def parse_expression(source)