aboutsummaryrefslogtreecommitdiffstats
path: root/test/visitors/test_depth_first.rb
diff options
context:
space:
mode:
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