aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/arel/nodes/or_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/test/cases/arel/nodes/or_test.rb')
-rw-r--r--activerecord/test/cases/arel/nodes/or_test.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/activerecord/test/cases/arel/nodes/or_test.rb b/activerecord/test/cases/arel/nodes/or_test.rb
new file mode 100644
index 0000000000..4f8d56d165
--- /dev/null
+++ b/activerecord/test/cases/arel/nodes/or_test.rb
@@ -0,0 +1,35 @@
+# frozen_string_literal: true
+require_relative '../helper'
+
+module Arel
+ module Nodes
+ describe 'or' do
+ describe '#or' do
+ it 'makes an OR node' do
+ attr = Table.new(:users)[:id]
+ left = attr.eq(10)
+ right = attr.eq(11)
+ node = left.or right
+ node.expr.left.must_equal left
+ node.expr.right.must_equal right
+
+ oror = node.or(right)
+ oror.expr.left.must_equal node
+ oror.expr.right.must_equal right
+ end
+ end
+
+ describe 'equality' do
+ it 'is equal with equal ivars' do
+ array = [Or.new('foo', 'bar'), Or.new('foo', 'bar')]
+ assert_equal 1, array.uniq.size
+ end
+
+ it 'is not equal with different ivars' do
+ array = [Or.new('foo', 'bar'), Or.new('foo', 'baz')]
+ assert_equal 2, array.uniq.size
+ end
+ end
+ end
+ end
+end