Sha256: bd5c34e1dd477a181c46f0f74180df4db25d8087e073c8e347e369a2c758bce6

Contents?: true

Size: 1018 Bytes

Versions: 8

Compression:

Stored size: 1018 Bytes

Contents

require "cases/helper"
require 'models/topic'

module ActiveRecord
  class CloneTest < ActiveRecord::TestCase
    fixtures :topics

    def test_persisted
      topic = Topic.first
      cloned = topic.clone
      assert topic.persisted?, 'topic persisted'
      assert cloned.persisted?, 'topic persisted'
      assert !cloned.new_record?, 'topic is not new'
    end

    def test_stays_frozen
      topic = Topic.first
      topic.freeze

      cloned = topic.clone
      assert cloned.persisted?, 'topic persisted'
      assert !cloned.new_record?, 'topic is not new'
      assert cloned.frozen?, 'topic should be frozen'
    end

    def test_shallow
      topic = Topic.first
      cloned = topic.clone
      topic.author_name = 'Aaron'
      assert_equal 'Aaron', cloned.author_name
    end

    def test_freezing_a_cloned_model_does_not_freeze_clone
      cloned = Topic.new
      clone = cloned.clone
      cloned.freeze
      assert_not clone.frozen?
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ibm_db-5.2.0-x86-mingw32 test/cases/clone_test.rb
ibm_db-5.1.0-x86-mingw32 test/cases/clone_test.rb
ibm_db-5.0.5-x86-mingw32 test/cases/clone_test.rb
ibm_db-5.0.4-x86-mingw32 test/cases/clone_test.rb
ibm_db-5.0.3-x86-mingw32 test/cases/clone_test.rb
ibm_db-5.0.2-x86-mingw32 test/cases/clone_test.rb
ibm_db-3.0.5-x86-mingw32 test/cases/clone_test.rb
ibm_db-3.0.5 test/cases/clone_test.rb