From 33d0d962b777a98f3bdda0be41ee03acc0410676 Mon Sep 17 00:00:00 2001 From: Daniel Colson Date: Tue, 17 Jan 2017 23:13:37 -0500 Subject: Raise custom error on empty join --- test/test_select_manager.rb | 10 ++++++++++ test/test_table.rb | 6 ++++++ 2 files changed, 16 insertions(+) (limited to 'test') diff --git a/test/test_select_manager.rb b/test/test_select_manager.rb index 9a225edeec..e88f0e8e11 100644 --- a/test/test_select_manager.rb +++ b/test/test_select_manager.rb @@ -618,6 +618,16 @@ module Arel manager = Arel::SelectManager.new manager.join(nil).must_equal manager end + + it 'raises EmptyJoinError on empty' do + left = Table.new :users + manager = Arel::SelectManager.new + + manager.from left + assert_raises(EmptyJoinError) do + manager.join("") + end + end end describe 'outer join' do diff --git a/test/test_table.rb b/test/test_table.rb index 168fde370d..e36a6e3a41 100644 --- a/test/test_table.rb +++ b/test/test_table.rb @@ -71,6 +71,12 @@ module Arel mgr.to_sql.must_be_like %{ SELECT FROM "users" } end + it 'raises EmptyJoinError on empty' do + assert_raises(EmptyJoinError) do + @relation.join "" + end + end + it 'takes a second argument for join type' do right = @relation.alias predicate = @relation[:id].eq(right[:id]) -- cgit v1.2.3