File: application_spec.rb

package info (click to toggle)
passenger 2.2.11debian-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 11,576 kB
  • ctags: 28,138
  • sloc: cpp: 66,323; ruby: 9,646; ansic: 2,425; python: 141; sh: 56; makefile: 29
file content (43 lines) | stat: -rw-r--r-- 1,326 bytes parent folder | download | duplicates (2)
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