1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
require 'support/config'
require 'support/test_helper'
require 'phusion_passenger/application'
include PhusionPassenger
describe Application do
include TestHelper
before :each do
@stub = setup_rails_stub('foobar')
end
after :each do
teardown_rails_stub
end
it "correctly detects Rails version numbers specified in environment.rb" do
rails_version = Application.detect_framework_version(@stub.app_root)
rails_version.should =~ /^2\.0\.(\d+)$/
end
it "returns :vendor if an application uses a vendored Rails" do
@stub.use_vendor_rails('minimal')
rails_version = Application.detect_framework_version(@stub.app_root)
rails_version.should == :vendor
end
it "returns nil if an application does not specify its Rails version" do
File.write(@stub.environment_rb) do |content|
content.sub(/^RAILS_GEM_VERSION = .*$/, '')
end
rails_version = Application.detect_framework_version(@stub.app_root)
rails_version.should be_nil
end
it "raises VersionNotFound if a nonexistant Rails version is specified" do
File.write(@stub.environment_rb) do |content|
content.sub(/^RAILS_GEM_VERSION = .*$/, "RAILS_GEM_VERSION = '1.9.1972'")
end
detector = lambda { Application.detect_framework_version(@stub.app_root) }
detector.should raise_error(::PhusionPassenger::VersionNotFound)
end
end
|