Upgraded to Rails 2.1. This can have wide ranging consequences, so please help track down any issues introduced by the upgrade. Requires environment.rb modifications.

Changes you will need to make:

 * In your environment.rb, you will need to update references to a few files per environment.rb.tmpl
 * In your environment.rb, you will need to specify the local time zone of the computer that is running your Tracks install.

Other notes on my changes:

 * Modified our code to take advantage of Rails 2.1's slick time zone support.
 * Upgraded will_paginate for compatibility
 * Hacked the Selenium on Rails plugin, which has not been updated in some time and does not support Rails 2.1
 * Verified that all tests pass on my machine, including Selenium tests -- I'd like confirmation from others, too.
This commit is contained in:
Luke Melia 2008-06-17 01:13:25 -04:00
parent f3bae73868
commit 901a58f8a3
1086 changed files with 51452 additions and 19526 deletions

View file

@ -13,13 +13,8 @@ module SeleniumOnRails
File.expand_path(File.dirname(__FILE__) + '/../views/' + view)
end
# Returns the path to the layout template. The path is relative in relation
# to the app/views/ directory since Rails doesn't support absolute paths
# to layout templates.
def layout_path
rails_root = Pathname.new File.expand_path(File.join(RAILS_ROOT, 'app/views'))
view_path = Pathname.new view_path('layout')
view_path.relative_path_from(rails_root).to_s
'/layout.rhtml'
end
def fixtures_path

View file

@ -8,7 +8,7 @@
# See SeleniumOnRails::TestBuilder for a list of available commands.
class SeleniumOnRails::RSelenese < SeleniumOnRails::TestBuilder
end
ActionView::Base.register_template_handler 'rsel', SeleniumOnRails::RSelenese
ActionView::Template.register_template_handler 'rsel', SeleniumOnRails::RSelenese
class SeleniumOnRails::RSelenese < SeleniumOnRails::TestBuilder
attr_accessor :view
@ -20,16 +20,16 @@ class SeleniumOnRails::RSelenese < SeleniumOnRails::TestBuilder
end
# Render _template_ using _local_assigns_.
def render template, local_assigns
title = (@view.assigns['page_title'] or local_assigns['page_title'])
def render template
title = @view.assigns['page_title']
table(title) do
test = self #to enable test.command
assign_locals_code = ''
local_assigns.each_key {|key| assign_locals_code << "#{key} = local_assigns[#{key.inspect}];"}
eval assign_locals_code + "\n" + template
eval template.source
end
end
def compilable?
false
end
end

View file

@ -1,6 +1,6 @@
class SeleniumOnRails::Selenese
end
ActionView::Base.register_template_handler 'sel', SeleniumOnRails::Selenese
ActionView::Template.register_template_handler 'sel', SeleniumOnRails::Selenese
class SeleniumOnRails::Selenese
@ -8,8 +8,8 @@ class SeleniumOnRails::Selenese
@view = view
end
def render template, local_assigns
name = (@view.assigns['page_title'] or local_assigns['page_title'])
def render template
name = @view.assigns['page_title']
lines = template.strip.split "\n"
html = ''
html << extract_comments(lines)
@ -18,6 +18,10 @@ class SeleniumOnRails::Selenese
raise 'You cannot have comments in the middle of commands!' if next_line lines, :any
html
end
def compilable?
false
end
private
def next_line lines, expects