Upgraded to Rails 2.3.4 (#3597)
* Ran the Rails upgrade
* Upgraded to Rails Engines 2.3.2
* Added a plugin to let Engines override application views.
* Converted tests to use the new classes:
** ActionController::TestCase for functional
** ActiveSupport::TestCase for units
* Converted ActiveRecord::Error message to a string.
* ActiveRecord grouping returns an ordered hash which doesn't have #sort!
* Updated the I18n storage_units format.
* Added some default initializers from a fresh rails app
* Changed the order of check_box_tags and hidden_field_tags. The hidden tag
needs to appear first in Rails 2.3, otherwise it will override any value in
the check_box_tag.
* Removed the custom handler for when the cookie store is tampered with.
Rails 2.3 removed the TamperedWithCookie exception and instead Rails will not
load the data from it when it's been tampered with (e.g. no user login).
* Fixed mail layouts, 2.3 has problems with implicit multipart emails that
use layouts. Also removed some custom Redmine mailer code.
* Fixed a bug that occurred in tests where the "required" span tag would be
added to the :field_status translation. This resulted in an email string of:
<li>Status<span class="required"> *</span><span class="required"> *</span>
Instead of:
<li>Status: New</li>
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2887 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
class AlphaPluginController < ApplicationController
|
||||
def an_action
|
||||
render_class_and_action
|
||||
end
|
||||
def action_with_layout
|
||||
render_class_and_action(nil, :layout => "plugin_layout")
|
||||
end
|
||||
end
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
class AppAndPluginController < ApplicationController
|
||||
def an_action
|
||||
render_class_and_action 'from alpha_plugin'
|
||||
end
|
||||
end
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
class Namespace::AlphaPluginController < ApplicationController
|
||||
def an_action
|
||||
render_class_and_action
|
||||
end
|
||||
end
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
class Namespace::AppAndPluginController < ApplicationController
|
||||
def an_action
|
||||
render_class_and_action 'from alpha_plugin'
|
||||
end
|
||||
end
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
class Namespace::SharedPluginController < ApplicationController
|
||||
def an_action
|
||||
render_class_and_action 'from alpha_plugin'
|
||||
end
|
||||
end
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
class SharedEngineController < ApplicationController
|
||||
def an_action
|
||||
render_class_and_action 'from alpha_engine'
|
||||
end
|
||||
end
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
class AlphaPluginModel < ActiveRecord::Base
|
||||
def self.report_location; TestHelper::report_location(__FILE__); end
|
||||
end
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
class AppAndPluginModel < ActiveRecord::Base
|
||||
def self.report_location; TestHelper::report_location(__FILE__); end
|
||||
|
||||
def defined_only_in_alpha_plugin_version
|
||||
# should not be defined as the model in app/models takes precedence
|
||||
end
|
||||
end
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
class SharedPluginModel < ActiveRecord::Base
|
||||
def self.report_location; TestHelper::report_location(__FILE__); end
|
||||
end
|
||||
+1
@@ -0,0 +1 @@
|
||||
<%= TestHelper.view_path_for __FILE__ %>
|
||||
+1
@@ -0,0 +1 @@
|
||||
<%= TestHelper.view_path_for __FILE__ %> (from a_view)
|
||||
+1
@@ -0,0 +1 @@
|
||||
<%= yield %> (with plugin layout)
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
<%= TestHelper.view_path_for __FILE__ %>
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
<%= TestHelper.view_path_for __FILE__ %>
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
<%= TestHelper.view_path_for __FILE__ %> (from alpha_plugin)
|
||||
+1
@@ -0,0 +1 @@
|
||||
<%= TestHelper.view_path_for __FILE__ %> (from alpha_plugin)
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
class AlphaPluginLibModel < ActiveRecord::Base
|
||||
def self.report_location; TestHelper::report_location(__FILE__); end
|
||||
end
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
class AppAndPluginLibModel < ActiveRecord::Base
|
||||
def self.report_location; TestHelper::report_location(__FILE__); end
|
||||
|
||||
def defined_only_in_alpha_plugin_version
|
||||
# should not be defined
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,3 @@
|
||||
en:
|
||||
hello: "Hello from alfa"
|
||||
plugin: "alfa"
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
class AppAndPluginController < ApplicationController
|
||||
def an_action
|
||||
render_class_and_action 'from beta_plugin'
|
||||
end
|
||||
end
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
class Namespace::SharedPluginController < ApplicationController
|
||||
def an_action
|
||||
render_class_and_action 'from beta_plugin'
|
||||
end
|
||||
end
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
class SharedPluginController < ApplicationController
|
||||
def an_action
|
||||
render_class_and_action 'from beta_plugin'
|
||||
end
|
||||
end
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
class SharedPluginModel < ActiveRecord::Base
|
||||
def self.report_location; TestHelper::report_location(__FILE__); end
|
||||
end
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
<%= TestHelper.view_path_for __FILE__ %> (from beta_plugin)
|
||||
+1
@@ -0,0 +1 @@
|
||||
<%= TestHelper.view_path_for __FILE__ %> (from beta_plugin)
|
||||
@@ -0,0 +1 @@
|
||||
# just here so that Rails recognizes this as a plugin
|
||||
@@ -0,0 +1,3 @@
|
||||
en:
|
||||
hello: "Hello from beta"
|
||||
plugin: "beta"
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
class AssetsController < ApplicationController
|
||||
end
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
<%= image_tag 'image.png', :plugin => 'test_assets' %>
|
||||
<%= javascript_include_tag 'file.1.js', 'file2', :plugin => "test_assets" %>
|
||||
<%= stylesheet_link_tag 'file.1.css', 'file2', :plugin => "test_assets" %>
|
||||
<%= image_submit_tag 'image.png', :plugin => "test_assets" %>
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
<div id="assets_layout">
|
||||
<%= yield %>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
class Thing
|
||||
def self.from_plugin; TestHelper::report_location(__FILE__); end
|
||||
end
|
||||
@@ -0,0 +1 @@
|
||||
# just here so that Rails recognizes this as a plugin
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
class CreateTests < ActiveRecord::Migration
|
||||
def self.up
|
||||
create_table 'tests' do |t|
|
||||
t.column 'name', :string
|
||||
end
|
||||
end
|
||||
|
||||
def self.down
|
||||
drop_table 'tests'
|
||||
end
|
||||
end
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
class CreateOthers < ActiveRecord::Migration
|
||||
def self.up
|
||||
create_table 'others' do |t|
|
||||
t.column 'name', :string
|
||||
end
|
||||
end
|
||||
|
||||
def self.down
|
||||
drop_table 'others'
|
||||
end
|
||||
end
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
class CreateExtras < ActiveRecord::Migration
|
||||
def self.up
|
||||
create_table 'extras' do |t|
|
||||
t.column 'name', :string
|
||||
end
|
||||
end
|
||||
|
||||
def self.down
|
||||
drop_table 'extras'
|
||||
end
|
||||
end
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
class PluginMail < ActionMailer::Base
|
||||
def mail_from_plugin(note=nil)
|
||||
body(:note => note)
|
||||
end
|
||||
|
||||
def mail_from_plugin_with_application_template(note=nil)
|
||||
body(:note => note)
|
||||
end
|
||||
|
||||
def multipart_from_plugin
|
||||
content_type 'multipart/alternative'
|
||||
part :content_type => "text/html", :body => render_message("multipart_from_plugin_html", {})
|
||||
part "text/plain" do |p|
|
||||
p.body = render_message("multipart_from_plugin_plain", {})
|
||||
end
|
||||
end
|
||||
|
||||
def multipart_from_plugin_with_application_template
|
||||
content_type 'multipart/alternative'
|
||||
part :content_type => "text/html", :body => render_message("multipart_from_plugin_with_application_template_html", {})
|
||||
part "text/plain" do |p|
|
||||
p.body = render_message("multipart_from_plugin_with_application_template_plain", {})
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
<%= @note %>
|
||||
+1
@@ -0,0 +1 @@
|
||||
html template
|
||||
+1
@@ -0,0 +1 @@
|
||||
plain template
|
||||
+1
@@ -0,0 +1 @@
|
||||
template from plugin
|
||||
+1
@@ -0,0 +1 @@
|
||||
template from plugin
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
class Namespace::TestRoutingController < ApplicationController
|
||||
def routed_action
|
||||
render_class_and_action
|
||||
end
|
||||
end
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
class TestRoutingController < ApplicationController
|
||||
def routed_action
|
||||
render_class_and_action
|
||||
end
|
||||
|
||||
def test_named_routes_from_plugin
|
||||
render :text => plugin_route_path(:action => "index")
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,4 @@
|
||||
ActionController::Routing::Routes.draw do |map|
|
||||
map.connect 'routes/:action', :controller => "test_routing"
|
||||
map.plugin_route 'somespace/routes/:action', :controller => "namespace/test_routing"
|
||||
end
|
||||
@@ -0,0 +1 @@
|
||||
Fixtures are only copied from plugins with an +app+ directory, but git needs this directory to be non-empty
|
||||
@@ -0,0 +1,13 @@
|
||||
require File.expand_path(File.join(File.dirname(__FILE__), *%w[.. .. .. .. .. test test_helper]))
|
||||
|
||||
class OverrideTest < ActiveSupport::TestCase
|
||||
def test_overrides_from_the_application_should_work
|
||||
flunk "this test should be overridden by the app"
|
||||
end
|
||||
|
||||
def test_tests_within_the_plugin_should_still_run
|
||||
assert true, "non-overridden plugin tests should still run"
|
||||
end
|
||||
end
|
||||
|
||||
Engines::Testing.override_tests_from_app
|
||||
Reference in New Issue
Block a user