diff options
author | Godfrey Chan <godfreykfc@gmail.com> | 2012-05-22 14:13:39 -0700 |
---|---|---|
committer | Godfrey Chan <godfreykfc@gmail.com> | 2012-05-22 14:23:27 -0700 |
commit | d3715f65734a10eac228359b9073bbc5aa3ecdbb (patch) | |
tree | 202e4e9b367c14334b7e6d24c70cc4f9c6f6952b /activerecord/test/cases/transactions_test.rb | |
parent | 9ee85281bca899fc521200a087149d7c8c3940d9 (diff) | |
download | rails-d3715f65734a10eac228359b9073bbc5aa3ecdbb.tar.gz rails-d3715f65734a10eac228359b9073bbc5aa3ecdbb.tar.bz2 rails-d3715f65734a10eac228359b9073bbc5aa3ecdbb.zip |
Fixes the build break caused by 9ee8528 in #6445.
Ruby 1.8 raises a TypeError when trying to modify a frozen Hash, while
Ruby 1.9 raises a RuntimeError instead. Also, Ruby < 1.9.3 uses a
lowercase 'hash' in the exception message while Ruby >= 1.9.3 uses an
uppercase 'Hash' instead. This commit normalizes those issues in the
test case.
Diffstat (limited to 'activerecord/test/cases/transactions_test.rb')
-rw-r--r-- | activerecord/test/cases/transactions_test.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/activerecord/test/cases/transactions_test.rb b/activerecord/test/cases/transactions_test.rb index a9ccd00fac..3efaaef7de 100644 --- a/activerecord/test/cases/transactions_test.rb +++ b/activerecord/test/cases/transactions_test.rb @@ -363,10 +363,12 @@ class TransactionTest < ActiveRecord::TestCase end def test_rollback_when_saving_a_frozen_record + expected_raise = (RUBY_VERSION < '1.9') ? TypeError : RuntimeError + topic = Topic.new(:title => 'test') topic.freeze - e = assert_raise(RuntimeError) { topic.save } - assert_equal "can't modify frozen Hash", e.message + e = assert_raise(expected_raise) { topic.save } + assert_equal "can't modify frozen hash", e.message.downcase assert !topic.persisted?, 'not persisted' assert_nil topic.id assert topic.frozen?, 'not frozen' |