aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters
diff options
context:
space:
mode:
authorArthur Neves <arthurnn@gmail.com>2013-12-19 16:51:28 -0500
committerArthur Neves <arthurnn@gmail.com>2013-12-19 16:51:28 -0500
commit4a720a2cdefc1926e0bfa23b8febd71869093c59 (patch)
treee6635d07544afff9e3fd3353003fbc562d3c6ae4 /activerecord/test/cases/adapters
parente4cde5d58cbb09d1843796f96ba86225ff94fe05 (diff)
downloadrails-4a720a2cdefc1926e0bfa23b8febd71869093c59.tar.gz
rails-4a720a2cdefc1926e0bfa23b8febd71869093c59.tar.bz2
rails-4a720a2cdefc1926e0bfa23b8febd71869093c59.zip
quoting: Check if id is a valid method before using it
Need to check if valud also respond_to :id before calling it, otherwise things could explode.
Diffstat (limited to 'activerecord/test/cases/adapters')
-rw-r--r--activerecord/test/cases/adapters/sqlite3/quoting_test.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/sqlite3/quoting_test.rb b/activerecord/test/cases/adapters/sqlite3/quoting_test.rb
index a7b2764fc1..ba89487838 100644
--- a/activerecord/test/cases/adapters/sqlite3/quoting_test.rb
+++ b/activerecord/test/cases/adapters/sqlite3/quoting_test.rb
@@ -95,6 +95,13 @@ module ActiveRecord
end
}.new
assert_equal 10, @conn.type_cast(quoted_id_obj, nil)
+
+ quoted_id_obj = Class.new {
+ def quoted_id
+ "'zomg'"
+ end
+ }
+ assert_raise(TypeError) { @conn.type_cast(quoted_id_obj, nil) }
end
end
end