Loosen test condition Arel::Nodes::Node descendants

Dependent gems using this test suit may override further
the default methods.

Fixes #49274
This commit is contained in:
Ulysse Buonomo 2023-09-15 22:04:37 -05:00
parent d21d811ffe
commit e890ae6c5d
No known key found for this signature in database
GPG Key ID: 3D98B88B4DE56C3A

@ -16,11 +16,12 @@ def test_every_arel_nodes_have_hash_eql_eqeq_from_same_class
node_descendants.delete(Arel::Nodes::NodeExpression)
bad_node_descendants = node_descendants.reject do |subnode|
eqeq_owner = subnode.instance_method(:==).owner
eqeq_method = subnode.instance_method(:==)
eqeq_owner = eqeq_method.owner
eql_owner = subnode.instance_method(:eql?).owner
hash_owner = subnode.instance_method(:hash).owner
eqeq_owner < Arel::Nodes::Node &&
eqeq_method.super_method && # Not using the ruby default #== method
eqeq_owner == eql_owner &&
eqeq_owner == hash_owner
end