Skip to content
This repository has been archived by the owner on Oct 1, 2019. It is now read-only.

Commit

Permalink
Fix automated tests on Rails <2.3
Browse files Browse the repository at this point in the history
  • Loading branch information
Jason Morrison committed Jul 2, 2010
1 parent ac1c75a commit 31cae3d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
17 changes: 10 additions & 7 deletions features/step_definitions/rails_application_steps.rb
Expand Up @@ -128,12 +128,8 @@ def rails_initializer_file
File.join(RAILS_ROOT, 'config', 'initializers', 'hoptoad.rb')
end

def configuration_file
if rails_supports_initializers?
rails_initializer_file
else
environment_path
end
def rails_non_initializer_hoptoad_config_file
File.join(RAILS_ROOT, 'config', 'hoptoad.rb')
end

Then /^I should see "([^\"]*)"$/ do |expected_text|
Expand Down Expand Up @@ -305,6 +301,13 @@ def initialize(*args)
end

Then /^my Hoptoad configuration should contain the following line:$/ do |line|
configuration_file = if rails_supports_initializers?
rails_initializer_file
else
rails_non_initializer_hoptoad_config_file
# environment_path
end

configuration = File.read(configuration_file)
if ! configuration.include?(line.strip)
raise "Expected text:\n#{configuration}\nTo include:\n#{line}\nBut it didn't."
Expand Down Expand Up @@ -334,7 +337,7 @@ def initialize(*args)
file.puts application_lines.join("\n")
end
else
controller_filename = File.join(RAILS_ROOT, 'app', 'controllers', "application_controller.rb")
controller_filename = application_controller_filename
controller_lines = File.open(controller_filename).readlines

controller_definition_line = controller_lines.detect { |line| line =~ /ApplicationController/ }
Expand Down
10 changes: 10 additions & 0 deletions features/support/rails.rb
Expand Up @@ -3,6 +3,16 @@ def rails_root_exists?
File.exists?(environment_path)
end

def application_controller_filename
rails_version_is_2_2_or_less = rails_version =~ /^1\./ || rails_version =~ /^2.[012]/

if rails_version_is_2_2_or_less
controller_filename = File.join(RAILS_ROOT, 'app', 'controllers', "application.rb")
else
controller_filename = File.join(RAILS_ROOT, 'app', 'controllers', "application_controller.rb")
end
end

def rails3?
rails_version =~ /^3/
end
Expand Down

0 comments on commit 31cae3d

Please sign in to comment.