From bfa6bfc24a0034ae599861a6e8655df024973eed Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 14 Mar 2005 23:48:39 +0000 Subject: Fixed that SQLite3 exceptions are caught and reported properly #823 [yerejm] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@909 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/test/connections/native_sqlite/connection.rb | 2 +- activerecord/test/connections/native_sqlite3/connection.rb | 2 +- activerecord/test/finder_test.rb | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) (limited to 'activerecord/test') diff --git a/activerecord/test/connections/native_sqlite/connection.rb b/activerecord/test/connections/native_sqlite/connection.rb index e702006bc2..b686c7705b 100644 --- a/activerecord/test/connections/native_sqlite/connection.rb +++ b/activerecord/test/connections/native_sqlite/connection.rb @@ -13,7 +13,7 @@ sqlite_test_db2 = "#{BASE_DIR}/fixture_database_2.sqlite" def make_connection(clazz, db_file, db_definitions_file) unless File.exist?(db_file) puts "SQLite database not found at #{db_file}. Rebuilding it." - sqlite_command = "sqlite #{db_file} 'create table a (a integer); drop table a;'" + sqlite_command = %Q{sqlite #{db_file} "create table a (a integer); drop table a;"} puts "Executing '#{sqlite_command}'" raise SqliteError.new("Seems that there is no sqlite executable available") unless system(sqlite_command) clazz.establish_connection( diff --git a/activerecord/test/connections/native_sqlite3/connection.rb b/activerecord/test/connections/native_sqlite3/connection.rb index 640a2b97f5..07856cc677 100644 --- a/activerecord/test/connections/native_sqlite3/connection.rb +++ b/activerecord/test/connections/native_sqlite3/connection.rb @@ -13,7 +13,7 @@ sqlite_test_db2 = "#{BASE_DIR}/fixture_database_2.sqlite3" def make_connection(clazz, db_file, db_definitions_file) unless File.exist?(db_file) puts "SQLite3 database not found at #{db_file}. Rebuilding it." - sqlite_command = "sqlite3 #{db_file} 'create table a (a integer); drop table a;'" + sqlite_command = %Q{sqlite3 #{db_file} "create table a (a integer); drop table a;"} puts "Executing '#{sqlite_command}'" raise SqliteError.new("Seems that there is no sqlite3 executable available") unless system(sqlite_command) clazz.establish_connection( diff --git a/activerecord/test/finder_test.rb b/activerecord/test/finder_test.rb index 30b0b78313..a5eaca039e 100755 --- a/activerecord/test/finder_test.rb +++ b/activerecord/test/finder_test.rb @@ -233,6 +233,10 @@ class FinderTest < Test::Unit::TestCase assert_equal "Mary", topics[0].author_name end + def test_find_with_bad_sql + assert_raises(ActiveRecord::StatementInvalid) { Topic.find_by_sql "select 1 from badtable" } + end + protected def bind(statement, *vars) if vars.first.is_a?(Hash) -- cgit v1.2.3