From 95146edb9dc2182f4af69b2fbe82e0a78a8b87a7 Mon Sep 17 00:00:00 2001 From: Marcello Nuccio Date: Wed, 7 Jan 2009 02:08:06 +0100 Subject: [PATCH] DRY with_kcode in ActiveRecord tests. --- activerecord/test/cases/base_test.rb | 14 ++------------ activerecord/test/cases/validations_test.rb | 14 ++------------ activerecord/test/testing_sandbox.rb | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 24 deletions(-) create mode 100644 activerecord/test/testing_sandbox.rb diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index 0f03dae..007db98 100755 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -2087,16 +2087,6 @@ class BasicsTest < ActiveRecord::TestCase end private - def with_kcode(kcode) - if RUBY_VERSION < '1.9' - orig_kcode, $KCODE = $KCODE, kcode - begin - yield - ensure - $KCODE = orig_kcode - end - else - yield - end - end + require 'testing_sandbox' + include TestingSandbox end diff --git a/activerecord/test/cases/validations_test.rb b/activerecord/test/cases/validations_test.rb index 380d8ac..801c900 100644 --- a/activerecord/test/cases/validations_test.rb +++ b/activerecord/test/cases/validations_test.rb @@ -1431,18 +1431,8 @@ class ValidationsTest < ActiveRecord::TestCase end private - def with_kcode(kcode) - if RUBY_VERSION < '1.9' - orig_kcode, $KCODE = $KCODE, kcode - begin - yield - ensure - $KCODE = orig_kcode - end - else - yield - end - end + require 'testing_sandbox' + include TestingSandbox end diff --git a/activerecord/test/testing_sandbox.rb b/activerecord/test/testing_sandbox.rb new file mode 100644 index 0000000..c365851 --- /dev/null +++ b/activerecord/test/testing_sandbox.rb @@ -0,0 +1,15 @@ +module TestingSandbox + # Temporarily replaces KCODE for the block + def with_kcode(kcode) + if RUBY_VERSION < '1.9' + old_kcode, $KCODE = $KCODE, kcode + begin + yield + ensure + $KCODE = old_kcode + end + else + yield + end + end +end -- 1.5.6.3