1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/test/nodes/test_select_statement.rb

50 lines
1.4 KiB
Ruby
Raw Normal View History

require 'helper'
2010-08-16 23:59:18 -04:00
describe Arel::Nodes::SelectStatement do
2010-08-19 01:30:21 -04:00
describe "#clone" do
2010-08-16 23:59:18 -04:00
it "clones cores" do
statement = Arel::Nodes::SelectStatement.new %w[a b c]
dolly = statement.clone
dolly.cores.must_equal statement.cores
dolly.cores.wont_be_same_as statement.cores
2010-08-16 23:59:18 -04:00
end
end
describe 'equality' do
it 'is equal with equal ivars' do
statement1 = Arel::Nodes::SelectStatement.new %w[a b c]
statement1.offset = 1
statement1.limit = 2
statement1.lock = false
statement1.orders = %w[x y z]
statement1.with = 'zomg'
statement2 = Arel::Nodes::SelectStatement.new %w[a b c]
statement2.offset = 1
statement2.limit = 2
statement2.lock = false
statement2.orders = %w[x y z]
statement2.with = 'zomg'
array = [statement1, statement2]
assert_equal 1, array.uniq.size
end
it 'is not equal with different ivars' do
statement1 = Arel::Nodes::SelectStatement.new %w[a b c]
statement1.offset = 1
statement1.limit = 2
statement1.lock = false
statement1.orders = %w[x y z]
statement1.with = 'zomg'
statement2 = Arel::Nodes::SelectStatement.new %w[a b c]
statement2.offset = 1
statement2.limit = 2
statement2.lock = false
statement2.orders = %w[x y z]
statement2.with = 'wth'
array = [statement1, statement2]
assert_equal 2, array.uniq.size
end
end
2010-08-16 23:59:18 -04:00
end