class ActiveRecord::ConnectionAdapters::MysqlTypeLookupTest

Public Instance Methods

teardown() click to toggle source
# File activerecord/test/cases/connection_adapters/mysql_type_lookup_test.rb, line 16
def teardown
  reset_connection
end
test_binary_types() click to toggle source
# File activerecord/test/cases/connection_adapters/mysql_type_lookup_test.rb, line 42
def test_binary_types
  assert_lookup_type :binary, "bit"
  assert_lookup_type :binary, "BIT"
end
test_boolean_types() click to toggle source
# File activerecord/test/cases/connection_adapters/mysql_type_lookup_test.rb, line 20
def test_boolean_types
  emulate_booleans(true) do
    assert_lookup_type :boolean, "tinyint(1)"
    assert_lookup_type :boolean, "TINYINT(1)"
  end
end
test_enum_type_with_value_matching_other_type() click to toggle source
# File activerecord/test/cases/connection_adapters/mysql_type_lookup_test.rb, line 38
def test_enum_type_with_value_matching_other_type
  assert_lookup_type :string, "ENUM('unicode', '8bit', 'none')"
end
test_integer_types() click to toggle source
# File activerecord/test/cases/connection_adapters/mysql_type_lookup_test.rb, line 47
def test_integer_types
  emulate_booleans(false) do
    assert_lookup_type :integer, "tinyint(1)"
    assert_lookup_type :integer, "TINYINT(1)"
    assert_lookup_type :integer, "year"
    assert_lookup_type :integer, "YEAR"
  end
end
test_set_type_with_value_matching_other_type() click to toggle source
# File activerecord/test/cases/connection_adapters/mysql_type_lookup_test.rb, line 34
def test_set_type_with_value_matching_other_type
  assert_lookup_type :string, "SET('unicode', '8bit', 'none', 'time')"
end
test_string_types() click to toggle source
# File activerecord/test/cases/connection_adapters/mysql_type_lookup_test.rb, line 27
def test_string_types
  assert_lookup_type :string, "enum('one', 'two', 'three')"
  assert_lookup_type :string, "ENUM('one', 'two', 'three')"
  assert_lookup_type :string, "set('one', 'two', 'three')"
  assert_lookup_type :string, "SET('one', 'two', 'three')"
end

Private Instance Methods

assert_lookup_type(type, lookup) click to toggle source
# File activerecord/test/cases/connection_adapters/mysql_type_lookup_test.rb, line 58
def assert_lookup_type(type, lookup)
  cast_type = @connection.send(:type_map).lookup(lookup)
  assert_equal type, cast_type.type
end
change_emulate_booleans(value) click to toggle source
# File activerecord/test/cases/connection_adapters/mysql_type_lookup_test.rb, line 71
def change_emulate_booleans(value)
  @connection.emulate_booleans = value
  @connection.clear_cache!
end
emulate_booleans(value) { || ... } click to toggle source
# File activerecord/test/cases/connection_adapters/mysql_type_lookup_test.rb, line 63
def emulate_booleans(value)
  old_emulate_booleans = @connection.emulate_booleans
  change_emulate_booleans(value)
  yield
ensure
  change_emulate_booleans(old_emulate_booleans)
end