aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorGodfrey Chan <godfreykfc@gmail.com>2012-05-22 14:13:39 -0700
committerGodfrey Chan <godfreykfc@gmail.com>2012-05-22 14:23:27 -0700
commitd3715f65734a10eac228359b9073bbc5aa3ecdbb (patch)
tree202e4e9b367c14334b7e6d24c70cc4f9c6f6952b /activerecord
parent9ee85281bca899fc521200a087149d7c8c3940d9 (diff)
downloadrails-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')
-rw-r--r--activerecord/test/cases/transactions_test.rb6
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'