aboutsummaryrefslogtreecommitdiffstats
path: root/test/visitors/test_depth_first.rb
diff options
context:
space:
mode:
authorFelix Bùˆnemann <buenemann@louis.info>2015-12-19 19:40:46 +0100
committerFelix Bùˆnemann <buenemann@louis.info>2016-01-05 17:53:52 +0100
commit4c7e50f9328aca4e294b41fce0832bf6ac4a939a (patch)
tree1bf97bcb2f6928a32b6acb93ea9886925a0e21b4 /test/visitors/test_depth_first.rb
parent347c7786f8e7ea0e9643ff707ce1ace8b3969d6c (diff)
downloadrails-4c7e50f9328aca4e294b41fce0832bf6ac4a939a.tar.gz
rails-4c7e50f9328aca4e294b41fce0832bf6ac4a939a.tar.bz2
rails-4c7e50f9328aca4e294b41fce0832bf6ac4a939a.zip
Implement CASE Conditional Expression
Diffstat (limited to 'test/visitors/test_depth_first.rb')
-rw-r--r--test/visitors/test_depth_first.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/visitors/test_depth_first.rb b/test/visitors/test_depth_first.rb
index 3356759b7d..1a72789f83 100644
--- a/test/visitors/test_depth_first.rb
+++ b/test/visitors/test_depth_first.rb
@@ -34,6 +34,7 @@ module Arel
Arel::Nodes::UnqualifiedColumn,
Arel::Nodes::Top,
Arel::Nodes::Limit,
+ Arel::Nodes::Else,
].each do |klass|
define_method("test_#{klass.name.gsub('::', '_')}") do
op = klass.new(:a)
@@ -118,6 +119,7 @@ module Arel
Arel::Nodes::As,
Arel::Nodes::DeleteStatement,
Arel::Nodes::JoinSource,
+ Arel::Nodes::When,
].each do |klass|
define_method("test_#{klass.name.gsub('::', '_')}") do
binary = klass.new(:a, :b)
@@ -247,6 +249,16 @@ module Arel
assert_equal [:a, :b, stmt.columns, :c, stmt], @collector.calls
end
+ def test_case
+ node = Arel::Nodes::Case.new
+ node.case = :a
+ node.conditions << :b
+ node.default = :c
+
+ @visitor.accept node
+ assert_equal [:a, :b, node.conditions, :c, node], @collector.calls
+ end
+
def test_node
node = Nodes::Node.new
@visitor.accept node