mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #50 from ernie/operation_ordering.
InfixOperations should support ordering
This commit is contained in:
commit
a3d9c393b4
2 changed files with 31 additions and 0 deletions
|
@ -4,6 +4,7 @@ module Arel
|
|||
class InfixOperation < Binary
|
||||
include Arel::Expressions
|
||||
include Arel::Predications
|
||||
include Arel::OrderPredications
|
||||
include Arel::AliasPredication
|
||||
include Arel::Math
|
||||
|
||||
|
|
30
test/nodes/test_infix_operation.rb
Normal file
30
test/nodes/test_infix_operation.rb
Normal 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
|
Loading…
Reference in a new issue