Skip to content
Browse files

Wrote tests for the :check_ruby_version initializer

  • Loading branch information...
1 parent 1d280e2 commit d8406f0c20e7809ce797d37c509e2f58f07109d2 Yehuda Katz + Carl Lerche committed Jul 2, 2009
Showing with 59 additions and 0 deletions.
  1. +59 −0 railties/test/initializer/check_ruby_version_test.rb
View
59 railties/test/initializer/check_ruby_version_test.rb
@@ -0,0 +1,59 @@
+require 'abstract_unit'
+require 'active_support/ruby/shim'
+require 'initializer'
+
+RAILS_ROOT.replace File.join(File.dirname(__FILE__), "root")
+
+module Rails
+ def self.vendor_rails? ; false ; end
+end
+
+module InitializerTests
+ class PathsTest < ActiveSupport::TestCase
+ include ActiveSupport::Testing::Isolation
+
+ test "rails does not initialize with ruby version 1.8.1" do
+ assert_rails_does_not_boot "1.8.1"
+ end
+
+ test "rails initializes with ruby version 1.8.2" do
+ assert_rails_boots "1.8.2"
+ end
+
+ test "rails does not initialize with ruby version 1.8.3" do
+ assert_rails_does_not_boot "1.8.3"
+ end
+
+ test "rails initializes with ruby version 1.8.4" do
+ assert_rails_boots "1.8.4"
+ end
+
+ test "rails initializes with ruby version 1.8.5" do
+ assert_rails_boots "1.8.5"
+ end
+
+ test "rails initializes with ruby version 1.8.6" do
+ assert_rails_boots "1.8.6"
+ end
+
+ def set_ruby_version(version)
+ $-w = nil
+ Object.const_set(:RUBY_VERSION, version.freeze)
+ end
+
+ def assert_rails_boots(version)
+ set_ruby_version(version)
+ assert_nothing_raised "It appears that rails does not boot" do
+ Rails::Initializer.run { |c| c.frameworks = [] }
+ end
+ end
+
+ def assert_rails_does_not_boot(version)
+ set_ruby_version(version)
+ $stderr = File.open("/dev/null", "w")
+ assert_raises(SystemExit) do
+ Rails::Initializer.run { |c| c.frameworks = [] }
+ end
+ end
+ end
+end

0 comments on commit d8406f0

Please sign in to comment.
Something went wrong with that request. Please try again.