Sha256: 3fb42db03c7ea370073b862d3cbbe12022ded9c1db07018e7af542891b7411b1

Contents?: true

Size: 924 Bytes

Versions: 10

Compression:

Stored size: 924 Bytes

Contents

require 'cases/helper'

module ActiveRecord
  class StringTypeTest < ActiveRecord::TestCase
    test "type casting" do
      type = Type::String.new
      assert_equal "t", type.type_cast_from_user(true)
      assert_equal "f", type.type_cast_from_user(false)
      assert_equal "123", type.type_cast_from_user(123)
    end

    test "values are duped coming out" do
      s = "foo"
      type = Type::String.new
      assert_not_same s, type.type_cast_from_user(s)
      assert_not_same s, type.type_cast_from_database(s)
    end

    test "string mutations are detected" do
      klass = Class.new(Base)
      klass.table_name = 'authors'

      author = klass.create!(name: 'Sean')
      assert_not author.changed?

      author.name << ' Griffin'
      assert author.name_changed?

      author.save!
      author.reload

      assert_equal 'Sean Griffin', author.name
      assert_not author.changed?
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
ibm_db-3.0.4-x86-mingw32 test/cases/type/string_test.rb
ibm_db-3.0.4 test/cases/type/string_test.rb
ibm_db-3.0.3-x86-mingw32 test/cases/type/string_test.rb
ibm_db-3.0.3 test/cases/type/string_test.rb
ibm_db-3.0.2-x86-mingw32 test/cases/type/string_test.rb
ibm_db-3.0.2 test/cases/type/string_test.rb
activejob-lock-0.0.2 rails/activerecord/test/cases/type/string_test.rb
ibm_db-3.0.1 test/cases/type/string_test.rb
ibm_db-3.0.1-x86-mingw32 test/cases/type/string_test.rb
activejob-lock-0.0.1 rails/activerecord/test/cases/type/string_test.rb