mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Extract TypeCastingTest
into test/cases/quoting_test.rb
This commit is contained in:
parent
771637269d
commit
4c5dc11fb9
3 changed files with 56 additions and 52 deletions
|
@ -1,5 +1,4 @@
|
||||||
require "cases/helper"
|
require "cases/helper"
|
||||||
require "ipaddr"
|
|
||||||
|
|
||||||
module ActiveRecord
|
module ActiveRecord
|
||||||
module ConnectionAdapters
|
module ConnectionAdapters
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
require "cases/helper"
|
require "cases/helper"
|
||||||
require "bigdecimal"
|
require "bigdecimal"
|
||||||
require "yaml"
|
|
||||||
require "securerandom"
|
require "securerandom"
|
||||||
|
|
||||||
class SQLite3QuotingTest < ActiveRecord::SQLite3TestCase
|
class SQLite3QuotingTest < ActiveRecord::SQLite3TestCase
|
||||||
|
@ -15,31 +14,6 @@ class SQLite3QuotingTest < ActiveRecord::SQLite3TestCase
|
||||||
assert_equal expected, @conn.type_cast(binary)
|
assert_equal expected, @conn.type_cast(binary)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_type_cast_symbol
|
|
||||||
assert_equal "foo", @conn.type_cast(:foo)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_type_cast_date
|
|
||||||
date = Date.today
|
|
||||||
expected = @conn.quoted_date(date)
|
|
||||||
assert_equal expected, @conn.type_cast(date)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_type_cast_time
|
|
||||||
time = Time.now
|
|
||||||
expected = @conn.quoted_date(time)
|
|
||||||
assert_equal expected, @conn.type_cast(time)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_type_cast_numeric
|
|
||||||
assert_equal 10, @conn.type_cast(10)
|
|
||||||
assert_equal 2.2, @conn.type_cast(2.2)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_type_cast_nil
|
|
||||||
assert_nil @conn.type_cast(nil)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_type_cast_true
|
def test_type_cast_true
|
||||||
assert_equal "t", @conn.type_cast(true)
|
assert_equal "t", @conn.type_cast(true)
|
||||||
end
|
end
|
||||||
|
@ -53,31 +27,6 @@ class SQLite3QuotingTest < ActiveRecord::SQLite3TestCase
|
||||||
assert_equal bd.to_f, @conn.type_cast(bd)
|
assert_equal bd.to_f, @conn.type_cast(bd)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_type_cast_unknown_should_raise_error
|
|
||||||
obj = Class.new.new
|
|
||||||
assert_raise(TypeError) { @conn.type_cast(obj) }
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_type_cast_object_which_responds_to_quoted_id
|
|
||||||
quoted_id_obj = Class.new {
|
|
||||||
def quoted_id
|
|
||||||
"'zomg'"
|
|
||||||
end
|
|
||||||
|
|
||||||
def id
|
|
||||||
10
|
|
||||||
end
|
|
||||||
}.new
|
|
||||||
assert_equal 10, @conn.type_cast(quoted_id_obj)
|
|
||||||
|
|
||||||
quoted_id_obj = Class.new {
|
|
||||||
def quoted_id
|
|
||||||
"'zomg'"
|
|
||||||
end
|
|
||||||
}.new
|
|
||||||
assert_raise(TypeError) { @conn.type_cast(quoted_id_obj) }
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_quoting_binary_strings
|
def test_quoting_binary_strings
|
||||||
value = "hello".encode("ascii-8bit")
|
value = "hello".encode("ascii-8bit")
|
||||||
type = ActiveRecord::Type::String.new
|
type = ActiveRecord::Type::String.new
|
||||||
|
|
|
@ -150,6 +150,62 @@ module ActiveRecord
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class TypeCastingTest < ActiveRecord::TestCase
|
||||||
|
def setup
|
||||||
|
@conn = ActiveRecord::Base.connection
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_type_cast_symbol
|
||||||
|
assert_equal "foo", @conn.type_cast(:foo)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_type_cast_date
|
||||||
|
date = Date.today
|
||||||
|
expected = @conn.quoted_date(date)
|
||||||
|
assert_equal expected, @conn.type_cast(date)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_type_cast_time
|
||||||
|
time = Time.now
|
||||||
|
expected = @conn.quoted_date(time)
|
||||||
|
assert_equal expected, @conn.type_cast(time)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_type_cast_numeric
|
||||||
|
assert_equal 10, @conn.type_cast(10)
|
||||||
|
assert_equal 2.2, @conn.type_cast(2.2)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_type_cast_nil
|
||||||
|
assert_nil @conn.type_cast(nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_type_cast_unknown_should_raise_error
|
||||||
|
obj = Class.new.new
|
||||||
|
assert_raise(TypeError) { @conn.type_cast(obj) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_type_cast_object_which_responds_to_quoted_id
|
||||||
|
quoted_id_obj = Class.new {
|
||||||
|
def quoted_id
|
||||||
|
"'zomg'"
|
||||||
|
end
|
||||||
|
|
||||||
|
def id
|
||||||
|
10
|
||||||
|
end
|
||||||
|
}.new
|
||||||
|
assert_equal 10, @conn.type_cast(quoted_id_obj)
|
||||||
|
|
||||||
|
quoted_id_obj = Class.new {
|
||||||
|
def quoted_id
|
||||||
|
"'zomg'"
|
||||||
|
end
|
||||||
|
}.new
|
||||||
|
assert_raise(TypeError) { @conn.type_cast(quoted_id_obj) }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
class QuoteBooleanTest < ActiveRecord::TestCase
|
class QuoteBooleanTest < ActiveRecord::TestCase
|
||||||
def setup
|
def setup
|
||||||
@connection = ActiveRecord::Base.connection
|
@connection = ActiveRecord::Base.connection
|
||||||
|
|
Loading…
Reference in a new issue