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

InfixOperations are valid value expressions per SQL99 BNF, and

should support ordering
This commit is contained in:
Ernie Miller 2011-04-29 15:08:27 -04:00
parent a6f56d8b28
commit 13a20317ff
2 changed files with 31 additions and 0 deletions

View file

@ -4,6 +4,7 @@ module Arel
class InfixOperation < Binary
include Arel::Expressions
include Arel::Predications
include Arel::OrderPredications
include Arel::AliasPredication
include Arel::Math

View file

@ -0,0 +1,30 @@
require 'helper'
module Arel
module Nodes
class TestInfixOperation < MiniTest::Unit::TestCase
def test_construct
operation = InfixOperation.new :+, 1, 2
assert_equal :+, operation.operator
assert_equal 1, operation.left
assert_equal 2, operation.right
end
def test_operation_alias
operation = InfixOperation.new :+, 1, 2
aliaz = operation.as('zomg')
assert_kind_of As, aliaz
assert_equal operation, aliaz.left
assert_equal 'zomg', aliaz.right
end
def test_opertaion_ordering
operation = InfixOperation.new :+, 1, 2
ordering = operation.desc
assert_kind_of Ordering, ordering
assert_equal operation, ordering.expr
assert_equal :desc, ordering.direction
end
end
end
end