[ruby/prism] Implement case equality on nodes

dc121e4fdf
This commit is contained in:
Philip Mueller 2024-02-21 12:30:22 -05:00 committed by git
parent 87b829aa94
commit f7d1699f67
2 changed files with 34 additions and 4 deletions

View file

@ -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)