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:
parent
d21d811ffe
commit
e890ae6c5d
@ -16,11 +16,12 @@ def test_every_arel_nodes_have_hash_eql_eqeq_from_same_class
|
|||||||
node_descendants.delete(Arel::Nodes::NodeExpression)
|
node_descendants.delete(Arel::Nodes::NodeExpression)
|
||||||
|
|
||||||
bad_node_descendants = node_descendants.reject do |subnode|
|
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
|
eql_owner = subnode.instance_method(:eql?).owner
|
||||||
hash_owner = subnode.instance_method(:hash).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 == eql_owner &&
|
||||||
eqeq_owner == hash_owner
|
eqeq_owner == hash_owner
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user