Commit 7b0cb6ab authored by Eric Davis's avatar Eric Davis

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
parent fb349dc4
...@@ -20,12 +20,7 @@ require 'cgi' ...@@ -20,12 +20,7 @@ require 'cgi'
class ApplicationController < ActionController::Base class ApplicationController < ActionController::Base
include Redmine::I18n include Redmine::I18n
# In case the cookie store secret changes
rescue_from CGI::Session::CookieStore::TamperedWithCookie do |exception|
render :text => 'Your session was invalid and has been reset. Please, reload this page.', :status => 500
end
layout 'base' layout 'base'
before_filter :user_setup, :check_if_login_required, :set_localization before_filter :user_setup, :check_if_login_required, :set_localization
......
...@@ -259,7 +259,7 @@ private ...@@ -259,7 +259,7 @@ private
def graph_commits_per_author(repository) def graph_commits_per_author(repository)
commits_by_author = repository.changesets.count(:all, :group => :committer) commits_by_author = repository.changesets.count(:all, :group => :committer)
commits_by_author.sort! {|x, y| x.last <=> y.last} commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}
changes_by_author = repository.changes.count(:all, :group => :committer) changes_by_author = repository.changes.count(:all, :group => :committer)
h = changes_by_author.inject({}) {|o, i| o[i.first] = i.last; o} h = changes_by_author.inject({}) {|o, i| o[i.first] = i.last; o}
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class Mailer < ActionMailer::Base class Mailer < ActionMailer::Base
layout 'mailer'
helper :application helper :application
helper :issues helper :issues
helper :custom_fields helper :custom_fields
...@@ -45,6 +46,7 @@ class Mailer < ActionMailer::Base ...@@ -45,6 +46,7 @@ class Mailer < ActionMailer::Base
subject "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] (#{issue.status.name}) #{issue.subject}" subject "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] (#{issue.status.name}) #{issue.subject}"
body :issue => issue, body :issue => issue,
:issue_url => url_for(:controller => 'issues', :action => 'show', :id => issue) :issue_url => url_for(:controller => 'issues', :action => 'show', :id => issue)
render_multipart('issue_add', body)
end end
# Builds a tmail object used to email recipients of the edited issue. # Builds a tmail object used to email recipients of the edited issue.
...@@ -71,6 +73,8 @@ class Mailer < ActionMailer::Base ...@@ -71,6 +73,8 @@ class Mailer < ActionMailer::Base
body :issue => issue, body :issue => issue,
:journal => journal, :journal => journal,
:issue_url => url_for(:controller => 'issues', :action => 'show', :id => issue) :issue_url => url_for(:controller => 'issues', :action => 'show', :id => issue)
render_multipart('issue_edit', body)
end end
def reminder(user, issues, days) def reminder(user, issues, days)
...@@ -80,6 +84,7 @@ class Mailer < ActionMailer::Base ...@@ -80,6 +84,7 @@ class Mailer < ActionMailer::Base
body :issues => issues, body :issues => issues,
:days => days, :days => days,
:issues_url => url_for(:controller => 'issues', :action => 'index', :set_filter => 1, :assigned_to_id => user.id, :sort_key => 'due_date', :sort_order => 'asc') :issues_url => url_for(:controller => 'issues', :action => 'index', :set_filter => 1, :assigned_to_id => user.id, :sort_key => 'due_date', :sort_order => 'asc')
render_multipart('reminder', body)
end end
# Builds a tmail object used to email users belonging to the added document's project. # Builds a tmail object used to email users belonging to the added document's project.
...@@ -93,6 +98,7 @@ class Mailer < ActionMailer::Base ...@@ -93,6 +98,7 @@ class Mailer < ActionMailer::Base
subject "[#{document.project.name}] #{l(:label_document_new)}: #{document.title}" subject "[#{document.project.name}] #{l(:label_document_new)}: #{document.title}"
body :document => document, body :document => document,
:document_url => url_for(:controller => 'documents', :action => 'show', :id => document) :document_url => url_for(:controller => 'documents', :action => 'show', :id => document)
render_multipart('document_added', body)
end end
# Builds a tmail object used to email recipients of a project when an attachements are added. # Builds a tmail object used to email recipients of a project when an attachements are added.
...@@ -121,6 +127,7 @@ class Mailer < ActionMailer::Base ...@@ -121,6 +127,7 @@ class Mailer < ActionMailer::Base
body :attachments => attachments, body :attachments => attachments,
:added_to => added_to, :added_to => added_to,
:added_to_url => added_to_url :added_to_url => added_to_url
render_multipart('attachments_added', body)
end end
# Builds a tmail object used to email recipients of a news' project when a news item is added. # Builds a tmail object used to email recipients of a news' project when a news item is added.
...@@ -135,6 +142,7 @@ class Mailer < ActionMailer::Base ...@@ -135,6 +142,7 @@ class Mailer < ActionMailer::Base
subject "[#{news.project.name}] #{l(:label_news)}: #{news.title}" subject "[#{news.project.name}] #{l(:label_news)}: #{news.title}"
body :news => news, body :news => news,
:news_url => url_for(:controller => 'news', :action => 'show', :id => news) :news_url => url_for(:controller => 'news', :action => 'show', :id => news)
render_multipart('news_added', body)
end end
# Builds a tmail object used to email the specified recipients of the specified message that was posted. # Builds a tmail object used to email the specified recipients of the specified message that was posted.
...@@ -151,6 +159,7 @@ class Mailer < ActionMailer::Base ...@@ -151,6 +159,7 @@ class Mailer < ActionMailer::Base
subject "[#{message.board.project.name} - #{message.board.name} - msg#{message.root.id}] #{message.subject}" subject "[#{message.board.project.name} - #{message.board.name} - msg#{message.root.id}] #{message.subject}"
body :message => message, body :message => message,
:message_url => url_for(:controller => 'messages', :action => 'show', :board_id => message.board_id, :id => message.root) :message_url => url_for(:controller => 'messages', :action => 'show', :board_id => message.board_id, :id => message.root)
render_multipart('message_posted', body)
end end
# Builds a tmail object used to email the recipients of a project of the specified wiki content was added. # Builds a tmail object used to email the recipients of a project of the specified wiki content was added.
...@@ -167,6 +176,7 @@ class Mailer < ActionMailer::Base ...@@ -167,6 +176,7 @@ class Mailer < ActionMailer::Base
subject "[#{wiki_content.project.name}] #{l(:mail_subject_wiki_content_added, :page => wiki_content.page.pretty_title)}" subject "[#{wiki_content.project.name}] #{l(:mail_subject_wiki_content_added, :page => wiki_content.page.pretty_title)}"
body :wiki_content => wiki_content, body :wiki_content => wiki_content,
:wiki_content_url => url_for(:controller => 'wiki', :action => 'index', :id => wiki_content.project, :page => wiki_content.page.title) :wiki_content_url => url_for(:controller => 'wiki', :action => 'index', :id => wiki_content.project, :page => wiki_content.page.title)
render_multipart('wiki_content_added', body)
end end
# Builds a tmail object used to email the recipients of a project of the specified wiki content was updated. # Builds a tmail object used to email the recipients of a project of the specified wiki content was updated.
...@@ -184,6 +194,7 @@ class Mailer < ActionMailer::Base ...@@ -184,6 +194,7 @@ class Mailer < ActionMailer::Base
body :wiki_content => wiki_content, body :wiki_content => wiki_content,
:wiki_content_url => url_for(:controller => 'wiki', :action => 'index', :id => wiki_content.project, :page => wiki_content.page.title), :wiki_content_url => url_for(:controller => 'wiki', :action => 'index', :id => wiki_content.project, :page => wiki_content.page.title),
:wiki_diff_url => url_for(:controller => 'wiki', :action => 'diff', :id => wiki_content.project, :page => wiki_content.page.title, :version => wiki_content.version) :wiki_diff_url => url_for(:controller => 'wiki', :action => 'diff', :id => wiki_content.project, :page => wiki_content.page.title, :version => wiki_content.version)
render_multipart('wiki_content_updated', body)
end end
# Builds a tmail object used to email the specified user their account information. # Builds a tmail object used to email the specified user their account information.
...@@ -198,6 +209,7 @@ class Mailer < ActionMailer::Base ...@@ -198,6 +209,7 @@ class Mailer < ActionMailer::Base
body :user => user, body :user => user,
:password => password, :password => password,
:login_url => url_for(:controller => 'account', :action => 'login') :login_url => url_for(:controller => 'account', :action => 'login')
render_multipart('account_information', body)
end end
# Builds a tmail object used to email all active administrators of an account activation request. # Builds a tmail object used to email all active administrators of an account activation request.
...@@ -211,6 +223,7 @@ class Mailer < ActionMailer::Base ...@@ -211,6 +223,7 @@ class Mailer < ActionMailer::Base
subject l(:mail_subject_account_activation_request, Setting.app_title) subject l(:mail_subject_account_activation_request, Setting.app_title)
body :user => user, body :user => user,
:url => url_for(:controller => 'users', :action => 'index', :status => User::STATUS_REGISTERED, :sort_key => 'created_on', :sort_order => 'desc') :url => url_for(:controller => 'users', :action => 'index', :status => User::STATUS_REGISTERED, :sort_key => 'created_on', :sort_order => 'desc')
render_multipart('account_activation_request', body)
end end
# Builds a tmail object used to email the specified user that their account was activated by an administrator. # Builds a tmail object used to email the specified user that their account was activated by an administrator.
...@@ -224,6 +237,7 @@ class Mailer < ActionMailer::Base ...@@ -224,6 +237,7 @@ class Mailer < ActionMailer::Base
subject l(:mail_subject_register, Setting.app_title) subject l(:mail_subject_register, Setting.app_title)
body :user => user, body :user => user,
:login_url => url_for(:controller => 'account', :action => 'login') :login_url => url_for(:controller => 'account', :action => 'login')
render_multipart('account_activated', body)
end end
def lost_password(token) def lost_password(token)
...@@ -232,6 +246,7 @@ class Mailer < ActionMailer::Base ...@@ -232,6 +246,7 @@ class Mailer < ActionMailer::Base
subject l(:mail_subject_lost_password, Setting.app_title) subject l(:mail_subject_lost_password, Setting.app_title)
body :token => token, body :token => token,
:url => url_for(:controller => 'account', :action => 'lost_password', :token => token.value) :url => url_for(:controller => 'account', :action => 'lost_password', :token => token.value)
render_multipart('lost_password', body)
end end
def register(token) def register(token)
...@@ -240,6 +255,7 @@ class Mailer < ActionMailer::Base ...@@ -240,6 +255,7 @@ class Mailer < ActionMailer::Base
subject l(:mail_subject_register, Setting.app_title) subject l(:mail_subject_register, Setting.app_title)
body :token => token, body :token => token,
:url => url_for(:controller => 'account', :action => 'activate', :token => token.value) :url => url_for(:controller => 'account', :action => 'activate', :token => token.value)
render_multipart('register', body)
end end
def test(user) def test(user)
...@@ -247,6 +263,7 @@ class Mailer < ActionMailer::Base ...@@ -247,6 +263,7 @@ class Mailer < ActionMailer::Base
recipients user.mail recipients user.mail
subject 'Redmine test' subject 'Redmine test'
body :url => url_for(:controller => 'welcome') body :url => url_for(:controller => 'welcome')
render_multipart('test', body)
end end
# Overrides default deliver! method to prevent from sending an email # Overrides default deliver! method to prevent from sending an email
...@@ -327,26 +344,17 @@ class Mailer < ActionMailer::Base ...@@ -327,26 +344,17 @@ class Mailer < ActionMailer::Base
super super
end end
# Renders a message with the corresponding layout # Rails 2.3 has problems rendering implicit multipart messages with
def render_message(method_name, body) # layouts so this method will wrap an multipart messages with
layout = method_name.to_s.match(%r{text\.html\.(rhtml|rxml)}) ? 'layout.text.html.rhtml' : 'layout.text.plain.rhtml' # explicit parts.
body[:content_for_layout] = render(:file => method_name, :body => body) #
ActionView::Base.new(template_root, body, self).render(:file => "mailer/#{layout}", :use_full_path => true) # https://rails.lighthouseapp.com/projects/8994/tickets/2338-actionmailer-mailer-views-and-content-type
end # https://rails.lighthouseapp.com/projects/8994/tickets/1799-actionmailer-doesnt-set-template_format-when-rendering-layouts
# for the case of plain text only def render_multipart(method_name, body)
def body(*params) content_type "multipart/alternative"
value = super(*params) part :content_type => "text/plain", :body => render(:file => "#{method_name}.text.plain.rhtml", :body => body, :layout => 'mailer.text.plain.erb')
if Setting.plain_text_mail? part :content_type => "text/html", :body => render_message("#{method_name}.text.html.rhtml", body) unless Setting.plain_text_mail?
templates = Dir.glob("#{template_path}/#{@template}.text.plain.{rhtml,erb}")
unless String === @body or templates.empty?
template = File.basename(templates.first)
@body[:content_for_layout] = render(:file => template, :body => @body)
@body = ActionView::Base.new(template_root, @body, self).render(:file => "mailer/layout.text.plain.rhtml", :use_full_path => true)
return @body
end
end
return value
end end
# Makes partial rendering work with Rails 1.2 (retro-compatibility) # Makes partial rendering work with Rails 1.2 (retro-compatibility)
......
...@@ -2,7 +2,9 @@ ...@@ -2,7 +2,9 @@
<div class="box tabular settings"> <div class="box tabular settings">
<p><label><%= l(:setting_login_required) %></label> <p><label><%= l(:setting_login_required) %></label>
<%= check_box_tag 'settings[login_required]', 1, Setting.login_required? %><%= hidden_field_tag 'settings[login_required]', 0 %></p> <%= hidden_field_tag 'settings[login_required]', 0 %>
<%= check_box_tag 'settings[login_required]', 1, Setting.login_required? %>
</p>
<p><label><%= l(:setting_autologin) %></label> <p><label><%= l(:setting_autologin) %></label>
<%= select_tag 'settings[autologin]', options_for_select( [[l(:label_disabled), "0"]] + [1, 7, 30, 365].collect{|days| [l('datetime.distance_in_words.x_days', :count => days), days.to_s]}, Setting.autologin) %></p> <%= select_tag 'settings[autologin]', options_for_select( [[l(:label_disabled), "0"]] + [1, 7, 30, 365].collect{|days| [l('datetime.distance_in_words.x_days', :count => days), days.to_s]}, Setting.autologin) %></p>
...@@ -19,10 +21,14 @@ ...@@ -19,10 +21,14 @@
<%= text_field_tag 'settings[password_min_length]', Setting.password_min_length, :size => 6 %></p> <%= text_field_tag 'settings[password_min_length]', Setting.password_min_length, :size => 6 %></p>
<p><label><%= l(:label_password_lost) %></label> <p><label><%= l(:label_password_lost) %></label>
<%= check_box_tag 'settings[lost_password]', 1, Setting.lost_password? %><%= hidden_field_tag 'settings[lost_password]', 0 %></p> <%= hidden_field_tag 'settings[lost_password]', 0 %>
<%= check_box_tag 'settings[lost_password]', 1, Setting.lost_password? %>
</p>
<p><label><%= l(:setting_openid) %></label> <p><label><%= l(:setting_openid) %></label>
<%= check_box_tag 'settings[openid]', 1, Setting.openid?, :disabled => !Object.const_defined?(:OpenID) %><%= hidden_field_tag 'settings[openid]', 0 %></p> <%= hidden_field_tag 'settings[openid]', 0 %>
<%= check_box_tag 'settings[openid]', 1, Setting.openid?, :disabled => !Object.const_defined?(:OpenID) %>
</p>
</div> </div>
<div style="float:right;"> <div style="float:right;">
......
...@@ -17,7 +17,9 @@ ...@@ -17,7 +17,9 @@
<%= select_tag 'settings[user_format]', options_for_select( @options[:user_format], Setting.user_format.to_s ) %></p> <%= select_tag 'settings[user_format]', options_for_select( @options[:user_format], Setting.user_format.to_s ) %></p>
<p><label><%= l(:setting_gravatar_enabled) %></label> <p><label><%= l(:setting_gravatar_enabled) %></label>
<%= check_box_tag 'settings[gravatar_enabled]', 1, Setting.gravatar_enabled? %><%= hidden_field_tag 'settings[gravatar_enabled]', 0 %></p> <%= hidden_field_tag 'settings[gravatar_enabled]', 0 %>
<%= check_box_tag 'settings[gravatar_enabled]', 1, Setting.gravatar_enabled? %>
</p>
</div> </div>
<%= submit_tag l(:button_save) %> <%= submit_tag l(:button_save) %>
......
...@@ -2,10 +2,14 @@ ...@@ -2,10 +2,14 @@
<div class="box tabular settings"> <div class="box tabular settings">
<p><label><%= l(:setting_cross_project_issue_relations) %></label> <p><label><%= l(:setting_cross_project_issue_relations) %></label>
<%= check_box_tag 'settings[cross_project_issue_relations]', 1, Setting.cross_project_issue_relations? %><%= hidden_field_tag 'settings[cross_project_issue_relations]', 0 %></p> <%= hidden_field_tag 'settings[cross_project_issue_relations]', 0 %>
<%= check_box_tag 'settings[cross_project_issue_relations]', 1, Setting.cross_project_issue_relations? %>
</p>
<p><label><%= l(:setting_display_subprojects_issues) %></label> <p><label><%= l(:setting_display_subprojects_issues) %></label>
<%= check_box_tag 'settings[display_subprojects_issues]', 1, Setting.display_subprojects_issues? %><%= hidden_field_tag 'settings[display_subprojects_issues]', 0 %></p> <%= hidden_field_tag 'settings[display_subprojects_issues]', 0 %>
<%= check_box_tag 'settings[display_subprojects_issues]', 1, Setting.display_subprojects_issues? %>
</p>
<p><label><%= l(:setting_issues_export_limit) %></label> <p><label><%= l(:setting_issues_export_limit) %></label>
<%= text_field_tag 'settings[issues_export_limit]', Setting.issues_export_limit, :size => 6 %></p> <%= text_field_tag 'settings[issues_export_limit]', Setting.issues_export_limit, :size => 6 %></p>
......
...@@ -2,9 +2,10 @@ ...@@ -2,9 +2,10 @@
<div class="box tabular settings"> <div class="box tabular settings">
<p><label><%= l(:setting_mail_handler_api_enabled) %></label> <p><label><%= l(:setting_mail_handler_api_enabled) %></label>
<%= hidden_field_tag 'settings[mail_handler_api_enabled]', 0 %>
<%= check_box_tag 'settings[mail_handler_api_enabled]', 1, Setting.mail_handler_api_enabled?, <%= check_box_tag 'settings[mail_handler_api_enabled]', 1, Setting.mail_handler_api_enabled?,
:onclick => "if (this.checked) { Form.Element.enable('settings_mail_handler_api_key'); } else { Form.Element.disable('settings_mail_handler_api_key'); }" %> :onclick => "if (this.checked) { Form.Element.enable('settings_mail_handler_api_key'); } else { Form.Element.disable('settings_mail_handler_api_key'); }" %>
<%= hidden_field_tag 'settings[mail_handler_api_enabled]', 0 %></p> </p>
<p><label><%= l(:setting_mail_handler_api_key) %></label> <p><label><%= l(:setting_mail_handler_api_key) %></label>
<%= text_field_tag 'settings[mail_handler_api_key]', Setting.mail_handler_api_key, <%= text_field_tag 'settings[mail_handler_api_key]', Setting.mail_handler_api_key,
......
...@@ -6,12 +6,14 @@ ...@@ -6,12 +6,14 @@
<%= text_field_tag 'settings[mail_from]', Setting.mail_from, :size => 60 %></p> <%= text_field_tag 'settings[mail_from]', Setting.mail_from, :size => 60 %></p>
<p><label><%= l(:setting_bcc_recipients) %></label> <p><label><%= l(:setting_bcc_recipients) %></label>
<%= hidden_field_tag 'settings[bcc_recipients]', 0 %>
<%= check_box_tag 'settings[bcc_recipients]', 1, Setting.bcc_recipients? %> <%= check_box_tag 'settings[bcc_recipients]', 1, Setting.bcc_recipients? %>
<%= hidden_field_tag 'settings[bcc_recipients]', 0 %></p> </p>
<p><label><%= l(:setting_plain_text_mail) %></label> <p><label><%= l(:setting_plain_text_mail) %></label>
<%= hidden_field_tag 'settings[plain_text_mail]', 0 %>
<%= check_box_tag 'settings[plain_text_mail]', 1, Setting.plain_text_mail? %> <%= check_box_tag 'settings[plain_text_mail]', 1, Setting.plain_text_mail? %>
<%= hidden_field_tag 'settings[plain_text_mail]', 0 %></p> </p>
</div> </div>
<fieldset class="box" id="notified_events"><legend><%=l(:text_select_mail_notifications)%></legend> <fieldset class="box" id="notified_events"><legend><%=l(:text_select_mail_notifications)%></legend>
......
...@@ -2,10 +2,14 @@ ...@@ -2,10 +2,14 @@
<div class="box tabular settings"> <div class="box tabular settings">
<p><label><%= l(:setting_default_projects_public) %></label> <p><label><%= l(:setting_default_projects_public) %></label>
<%= check_box_tag 'settings[default_projects_public]', 1, Setting.default_projects_public? %><%= hidden_field_tag 'settings[default_projects_public]', 0 %></p> <%= hidden_field_tag 'settings[default_projects_public]', 0 %>
<%= check_box_tag 'settings[default_projects_public]', 1, Setting.default_projects_public? %>
</p>
<p><label><%= l(:setting_sequential_project_identifiers) %></label> <p><label><%= l(:setting_sequential_project_identifiers) %></label>
<%= check_box_tag 'settings[sequential_project_identifiers]', 1, Setting.sequential_project_identifiers? %><%= hidden_field_tag 'settings[sequential_project_identifiers]', 0 %></p> <%= hidden_field_tag 'settings[sequential_project_identifiers]', 0 %>
<%= check_box_tag 'settings[sequential_project_identifiers]', 1, Setting.sequential_project_identifiers? %>
</p>
<p><label><%= l(:setting_new_project_user_role_id) %></label> <p><label><%= l(:setting_new_project_user_role_id) %></label>
<%= select_tag('settings[new_project_user_role_id]', options_for_select([["--- #{l(:actionview_instancetag_blank_option)} ---", '']] + Role.find_all_givable.collect {|r| [r.name, r.id]}, Setting.new_project_user_role_id.to_i)) %></p> <%= select_tag('settings[new_project_user_role_id]', options_for_select([["--- #{l(:actionview_instancetag_blank_option)} ---", '']] + Role.find_all_givable.collect {|r| [r.name, r.id]}, Setting.new_project_user_role_id.to_i)) %></p>
......
...@@ -2,10 +2,14 @@ ...@@ -2,10 +2,14 @@
<div class="box tabular settings"> <div class="box tabular settings">
<p><label><%= l(:setting_autofetch_changesets) %></label> <p><label><%= l(:setting_autofetch_changesets) %></label>
<%= check_box_tag 'settings[autofetch_changesets]', 1, Setting.autofetch_changesets? %><%= hidden_field_tag 'settings[autofetch_changesets]', 0 %></p> <%= hidden_field_tag 'settings[autofetch_changesets]', 0 %>
<%= check_box_tag 'settings[autofetch_changesets]', 1, Setting.autofetch_changesets? %>
</p>
<p><label><%= l(:setting_sys_api_enabled) %></label> <p><label><%= l(:setting_sys_api_enabled) %></label>
<%= check_box_tag 'settings[sys_api_enabled]', 1, Setting.sys_api_enabled? %><%= hidden_field_tag 'settings[sys_api_enabled]', 0 %></p> <%= hidden_field_tag 'settings[sys_api_enabled]', 0 %>
<%= check_box_tag 'settings[sys_api_enabled]', 1, Setting.sys_api_enabled? %>
</p>
<p><label><%= l(:setting_enabled_scm) %></label> <p><label><%= l(:setting_enabled_scm) %></label>
<% REDMINE_SUPPORTED_SCM.each do |scm| -%> <% REDMINE_SUPPORTED_SCM.each do |scm| -%>
......
# Don't change this file! # Don't change this file!
# Configure your app in config/environment.rb and config/environments/*.rb # Configure your app in config/environment.rb and config/environments/*.rb
RAILS_ROOT = File.expand_path("#{File.dirname(__FILE__)}/..") unless defined?(RAILS_ROOT) RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
module Rails module Rails
class << self class << self
...@@ -44,6 +44,7 @@ module Rails ...@@ -44,6 +44,7 @@ module Rails
def load_initializer def load_initializer
require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer" require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
Rails::Initializer.run(:install_gem_spec_stubs) Rails::Initializer.run(:install_gem_spec_stubs)
Rails::GemDependency.add_frozen_gem_path
end end
end end
...@@ -81,8 +82,8 @@ module Rails ...@@ -81,8 +82,8 @@ module Rails
end end
def load_rubygems def load_rubygems
min_version = '1.3.2'
require 'rubygems' require 'rubygems'
min_version = '1.3.1'
unless rubygems_version >= min_version unless rubygems_version >= min_version
$stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.) $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
exit 1 exit 1
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
# ENV['RAILS_ENV'] ||= 'production' # ENV['RAILS_ENV'] ||= 'production'
# Specifies gem version of Rails to use when vendor/rails is not present # Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.2.2' unless defined? RAILS_GEM_VERSION RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION
# Bootstrap the Rails environment, frameworks, and default configuration # Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot') require File.join(File.dirname(__FILE__), 'boot')
......
...@@ -33,7 +33,7 @@ module ActiveRecord ...@@ -33,7 +33,7 @@ module ActiveRecord
end end
else else
attr_name = @base.class.human_attribute_name(attr) attr_name = @base.class.human_attribute_name(attr)
full_messages << attr_name + ' ' + message full_messages << attr_name + ' ' + message.to_s
end end
end end
end end
......
# Be sure to restart your server when you modify this file.
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
# You can also remove all the silencers if you're trying do debug a problem that might steem from framework code.
# Rails.backtrace_cleaner.remove_silencers!
\ No newline at end of file
# Be sure to restart your server when you modify this file.
# Add new inflection rules using the following format
# (all these examples are active by default):
# ActiveSupport::Inflector.inflections do |inflect|
# inflect.plural /^(ox)$/i, '\1en'
# inflect.singular /^(ox)en/i, '\1'
# inflect.irregular 'person', 'people'
# inflect.uncountable %w( fish sheep )
# end
...@@ -59,6 +59,22 @@ bg: ...@@ -59,6 +59,22 @@ bg:
over_x_years: over_x_years:
one: "over 1 year" one: "over 1 year"
other: "over {{count}} years" other: "over {{count}} years"
number:
human:
format:
precision: 1
delimiter: ""
storage_units:
format: "%n %u"
units:
kb: KB
tb: TB
gb: GB
byte:
one: Byte
other: Bytes
mb: 'MB'
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -83,9 +83,16 @@ bs: ...@@ -83,9 +83,16 @@ bs:
format: format:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -59,6 +59,22 @@ ca: ...@@ -59,6 +59,22 @@ ca:
over_x_years: over_x_years:
one: "més d'un any" one: "més d'un any"
other: "més de {{count}} anys" other: "més de {{count}} anys"
number:
human:
format:
delimiter: ""
precision: 1
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -59,6 +59,22 @@ cs: ...@@ -59,6 +59,22 @@ cs:
over_x_years: over_x_years:
one: "více než 1 rok" one: "více než 1 rok"
other: "více než {{count}} roky" other: "více než {{count}} roky"
number:
human:
format:
precision: 1
delimiter: ""
storage_units:
format: "%n %u"
units:
kb: KB
tb: TB
gb: GB
byte:
one: Byte
other: Bytes
mb: MB
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -85,7 +85,16 @@ da: ...@@ -85,7 +85,16 @@ da:
# separator: # separator:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units: [Bytes, KB, MB, GB, TB] storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
percentage: percentage:
format: format:
# separator: # separator:
......
...@@ -83,6 +83,16 @@ de: ...@@ -83,6 +83,16 @@ de:
format: format:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
support: support:
array: array:
......
...@@ -63,6 +63,22 @@ el: ...@@ -63,6 +63,22 @@ el:
one: "πάνω από 1 χρόνο" one: "πάνω από 1 χρόνο"
other: "πάνω από {{count}} χρόνια" other: "πάνω από {{count}} χρόνια"
number:
human:
format:
precision: 1
delimiter: ""
storage_units:
format: "%n %u"
units:
kb: KB
tb: TB
gb: GB
byte:
one: Byte
other: Bytes
mb: MB
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
array: array:
......
...@@ -59,6 +59,23 @@ en: ...@@ -59,6 +59,23 @@ en:
over_x_years: over_x_years:
one: "over 1 year" one: "over 1 year"
other: "over {{count}} years" other: "over {{count}} years"
number:
human:
format:
delimiter: ""
precision: 1
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -47,6 +47,16 @@ es: ...@@ -47,6 +47,16 @@ es:
# separator: # separator:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
# Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words() # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
datetime: datetime:
......
...@@ -61,7 +61,16 @@ fi: ...@@ -61,7 +61,16 @@ fi:
format: format:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units: [Tavua, KB, MB, GB, TB] storage_units:
format: "%n %u"
units:
byte:
one: "Tavua"
other: "Tavua"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
datetime: datetime:
distance_in_words: distance_in_words:
......
...@@ -84,7 +84,16 @@ fr: ...@@ -84,7 +84,16 @@ fr:
human: human:
format: format:
precision: 2 precision: 2
storage_units: [ Octet, ko, Mo, Go, To ] storage_units:
format: "%n %u"
units:
byte:
one: "Octet"
other: "Octet"
kb: "ko"
mb: "Mo"
gb: "Go"
tb: "To"
support: support:
array: array:
......
...@@ -33,6 +33,16 @@ gl: ...@@ -33,6 +33,16 @@ gl:
# separator: # separator:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
date: date:
......
...@@ -76,6 +76,17 @@ he: ...@@ -76,6 +76,17 @@ he:
unit: 'שח' unit: 'שח'
precision: 2 precision: 2
format: '%u %n' format: '%u %n'
human:
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
support: support:
array: array:
......
...@@ -90,7 +90,16 @@ ...@@ -90,7 +90,16 @@
format: format:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units: [bájt, KB, MB, GB, TB] storage_units:
format: "%n %u"
units:
byte:
one: "bájt"
other: "bájt"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
support: support:
array: array:
......
...@@ -74,6 +74,17 @@ it: ...@@ -74,6 +74,17 @@ it:
unit: '€' unit: '€'
precision: 2 precision: 2
format: '%n %u' format: '%n %u'
human:
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
support: support:
array: array:
......
...@@ -96,6 +96,16 @@ ja: ...@@ -96,6 +96,16 @@ ja:
format: format:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
activerecord: activerecord:
errors: errors:
......
...@@ -116,7 +116,16 @@ ko: ...@@ -116,7 +116,16 @@ ko:
# separator: # separator:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units: [Bytes, KB, MB, GB, TB] storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -28,7 +28,16 @@ lt: ...@@ -28,7 +28,16 @@ lt:
format: format:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units: [baitai, KB, MB, GB, TB] storage_units:
format: "%n %u"
units:
byte:
one: "baitai"
other: "baitai"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
datetime: datetime:
distance_in_words: distance_in_words:
......
...@@ -59,6 +59,22 @@ nl: ...@@ -59,6 +59,22 @@ nl:
over_x_years: over_x_years:
one: "over 1 jaar" one: "over 1 jaar"
other: "over {{count}} jaren" other: "over {{count}} jaren"
number:
human:
format:
precision: 1
delimiter: ""
storage_units:
format: "%n %u"
units:
kb: KB
tb: TB
gb: GB
byte:
one: Byte
other: Bytes
mb: MB
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -67,6 +67,18 @@ ...@@ -67,6 +67,18 @@
format: format:
delimiter: "" delimiter: ""
precision: 4 precision: 4
human:
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
activerecord: activerecord:
errors: errors:
template: template:
......
...@@ -21,7 +21,16 @@ pl: ...@@ -21,7 +21,16 @@ pl:
format: format:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units: [B, KB, MB, GB, TB] storage_units:
format: "%n %u"
units:
byte:
one: "B"
other: "B"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
date: date:
formats: formats:
......
...@@ -93,6 +93,16 @@ pt-BR: ...@@ -93,6 +93,16 @@ pt-BR:
format: format:
precision: 1 precision: 1
delimiter: '.' delimiter: '.'
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
support: support:
array: array:
sentence_connector: "e" sentence_connector: "e"
......
...@@ -83,6 +83,16 @@ pt: ...@@ -83,6 +83,16 @@ pt:
format: format:
precision: 1 precision: 1
delimiter: '' delimiter: ''
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
activerecord: activerecord:
errors: errors:
......
...@@ -57,6 +57,22 @@ ro: ...@@ -57,6 +57,22 @@ ro:
over_x_years: over_x_years:
one: "peste un an" one: "peste un an"
other: "peste {{count}} ani" other: "peste {{count}} ani"
number:
human:
format:
precision: 1
delimiter: ""
storage_units:
format: "%n %u"
units:
kb: KB
tb: TB
gb: GB
byte:
one: Byte
other: Bytes
mb: MB
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -59,6 +59,22 @@ sk: ...@@ -59,6 +59,22 @@ sk:
over_x_years: over_x_years:
one: "cez 1 rok" one: "cez 1 rok"
other: "cez {{count}} roky/ov" other: "cez {{count}} roky/ov"
number:
human:
format:
precision: 1
delimiter: ""
storage_units:
format: "%n %u"
units:
kb: KB
tb: TB
gb: GB
byte:
one: Byte
other: Bytes
mb: MB
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -59,6 +59,22 @@ sl: ...@@ -59,6 +59,22 @@ sl:
over_x_years: over_x_years:
one: "over 1 year" one: "over 1 year"
other: "over {{count}} years" other: "over {{count}} years"
number:
human:
format:
precision: 1
delimiter: ""
storage_units:
format: "%n %u"
units:
kb: KB
tb: TB
gb: GB
byte:
one: Byte
other: Bytes
mb: MB
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -81,6 +81,17 @@ ...@@ -81,6 +81,17 @@
unit: 'ДИН' unit: 'ДИН'
precision: 2 precision: 2
format: '%n %u' format: '%n %u'
human:
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
support: support:
array: array:
......
...@@ -47,7 +47,16 @@ sv: ...@@ -47,7 +47,16 @@ sv:
# separator: # separator:
delimiter: "" delimiter: ""
# precision: 1 # precision: 1
storage_units: [Byte, KB, MB, GB, TB] storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
# Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words() # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
datetime: datetime:
......
...@@ -59,6 +59,22 @@ th: ...@@ -59,6 +59,22 @@ th:
over_x_years: over_x_years:
one: "over 1 year" one: "over 1 year"
other: "over {{count}} years" other: "over {{count}} years"
number:
human:
format:
precision: 1
delimiter: ""
storage_units:
format: "%n %u"
units:
kb: KB
tb: TB
gb: GB
byte:
one: Byte
other: Bytes
mb: MB
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -92,6 +92,16 @@ tr: ...@@ -92,6 +92,16 @@ tr:
delimiter: '.' delimiter: '.'
separator: ',' separator: ','
precision: 2 precision: 2
storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
support: support:
array: array:
......
...@@ -59,6 +59,22 @@ uk: ...@@ -59,6 +59,22 @@ uk:
over_x_years: over_x_years:
one: "over 1 year" one: "over 1 year"
other: "over {{count}} years" other: "over {{count}} years"
number:
human:
format:
precision: 1
delimiter: ""
storage_units:
format: "%n %u"
units:
kb: KB
tb: TB
gb: GB
byte:
one: Byte
other: Bytes
mb: MB
# Used in array.to_sentence. # Used in array.to_sentence.
support: support:
......
...@@ -49,7 +49,16 @@ vi: ...@@ -49,7 +49,16 @@ vi:
# separator: # separator:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units: [Bytes, KB, MB, GB, TB] storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
# Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words() # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
datetime: datetime:
......
...@@ -86,8 +86,9 @@ ...@@ -86,8 +86,9 @@
precision: 1 precision: 1
# 儲存單位輸出格式. # 儲存單位輸出格式.
# %u 是儲存單位, %n 是數值 (預設值: 2 MB) # %u 是儲存單位, %n 是數值 (預設值: 2 MB)
storage_units:
format: "%n %u" format: "%n %u"
storage_units: units:
byte: byte:
one: "位元組 (B)" one: "位元組 (B)"
other: "位元組 (B)" other: "位元組 (B)"
......
...@@ -86,7 +86,16 @@ zh: ...@@ -86,7 +86,16 @@ zh:
format: format:
delimiter: "" delimiter: ""
precision: 1 precision: 1
storage_units: [Bytes, KB, MB, GB, TB] storage_units:
format: "%n %u"
units:
byte:
one: "Byte"
other: "Bytes"
kb: "KB"
mb: "MB"
gb: "GB"
tb: "TB"
support: support:
array: array:
......
...@@ -6,11 +6,6 @@ ActionController::Routing::Routes.draw do |map| ...@@ -6,11 +6,6 @@ ActionController::Routing::Routes.draw do |map|
# map.connect 'products/:id', :controller => 'catalog', :action => 'view' # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
# Keep in mind you can assign values other than :controller and :action # Keep in mind you can assign values other than :controller and :action
# Allow Redmine plugins to map routes and potentially override them
Rails.plugins.each do |plugin|
map.from_plugin plugin.name.to_sym
end
map.home '', :controller => 'welcome' map.home '', :controller => 'welcome'
map.signin 'login', :controller => 'account', :action => 'login' map.signin 'login', :controller => 'account', :action => 'login'
......
...@@ -43,7 +43,7 @@ class TabularFormBuilder < ActionView::Helpers::FormBuilder ...@@ -43,7 +43,7 @@ class TabularFormBuilder < ActionView::Helpers::FormBuilder
return '' if options.delete(:no_label) return '' if options.delete(:no_label)
text = options[:label].is_a?(Symbol) ? l(options[:label]) : options[:label] text = options[:label].is_a?(Symbol) ? l(options[:label]) : options[:label]
text ||= l(("field_" + field.to_s.gsub(/\_id$/, "")).to_sym) text ||= l(("field_" + field.to_s.gsub(/\_id$/, "")).to_sym)
text << @template.content_tag("span", " *", :class => "required") if options.delete(:required) text += @template.content_tag("span", " *", :class => "required") if options.delete(:required)
@template.content_tag("label", text, @template.content_tag("label", text,
:class => (@object && @object.errors[field] ? "error" : nil), :class => (@object && @object.errors[field] ? "error" : nil),
:for => (@object_name.to_s + "_" + field.to_s)) :for => (@object_name.to_s + "_" + field.to_s))
......
...@@ -21,7 +21,7 @@ require 'account_controller' ...@@ -21,7 +21,7 @@ require 'account_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class AccountController; def rescue_action(e) raise e end; end class AccountController; def rescue_action(e) raise e end; end
class AccountControllerTest < Test::Unit::TestCase class AccountControllerTest < ActionController::TestCase
fixtures :users, :roles fixtures :users, :roles
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'admin_controller' ...@@ -21,7 +21,7 @@ require 'admin_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class AdminController; def rescue_action(e) raise e end; end class AdminController; def rescue_action(e) raise e end; end
class AdminControllerTest < Test::Unit::TestCase class AdminControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles fixtures :projects, :users, :roles
def setup def setup
......
...@@ -16,12 +16,12 @@ ...@@ -16,12 +16,12 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'application' require 'application_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class ApplicationController; def rescue_action(e) raise e end; end class ApplicationController; def rescue_action(e) raise e end; end
class ApplicationControllerTest < Test::Unit::TestCase class ApplicationControllerTest < ActionController::TestCase
include Redmine::I18n include Redmine::I18n
def setup def setup
......
...@@ -22,7 +22,7 @@ require 'attachments_controller' ...@@ -22,7 +22,7 @@ require 'attachments_controller'
class AttachmentsController; def rescue_action(e) raise e end; end class AttachmentsController; def rescue_action(e) raise e end; end
class AttachmentsControllerTest < Test::Unit::TestCase class AttachmentsControllerTest < ActionController::TestCase
fixtures :users, :projects, :roles, :members, :member_roles, :enabled_modules, :issues, :trackers, :attachments, fixtures :users, :projects, :roles, :members, :member_roles, :enabled_modules, :issues, :trackers, :attachments,
:versions, :wiki_pages, :wikis, :documents :versions, :wiki_pages, :wikis, :documents
......
...@@ -21,7 +21,7 @@ require 'boards_controller' ...@@ -21,7 +21,7 @@ require 'boards_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class BoardsController; def rescue_action(e) raise e end; end class BoardsController; def rescue_action(e) raise e end; end
class BoardsControllerTest < Test::Unit::TestCase class BoardsControllerTest < ActionController::TestCase
fixtures :projects, :users, :members, :member_roles, :roles, :boards, :messages, :enabled_modules fixtures :projects, :users, :members, :member_roles, :roles, :boards, :messages, :enabled_modules
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'custom_fields_controller' ...@@ -21,7 +21,7 @@ require 'custom_fields_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class CustomFieldsController; def rescue_action(e) raise e end; end class CustomFieldsController; def rescue_action(e) raise e end; end
class CustomFieldsControllerTest < Test::Unit::TestCase class CustomFieldsControllerTest < ActionController::TestCase
fixtures :custom_fields, :trackers, :users fixtures :custom_fields, :trackers, :users
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'documents_controller' ...@@ -21,7 +21,7 @@ require 'documents_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class DocumentsController; def rescue_action(e) raise e end; end class DocumentsController; def rescue_action(e) raise e end; end
class DocumentsControllerTest < Test::Unit::TestCase class DocumentsControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :documents, :enumerations fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :documents, :enumerations
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'enumerations_controller' ...@@ -21,7 +21,7 @@ require 'enumerations_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class EnumerationsController; def rescue_action(e) raise e end; end class EnumerationsController; def rescue_action(e) raise e end; end
class EnumerationsControllerTest < Test::Unit::TestCase class EnumerationsControllerTest < ActionController::TestCase
fixtures :enumerations, :issues, :users fixtures :enumerations, :issues, :users
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'groups_controller' ...@@ -21,7 +21,7 @@ require 'groups_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class GroupsController; def rescue_action(e) raise e end; end class GroupsController; def rescue_action(e) raise e end; end
class GroupsControllerTest < Test::Unit::TestCase class GroupsControllerTest < ActionController::TestCase
fixtures :projects, :users, :members, :member_roles fixtures :projects, :users, :members, :member_roles
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'issue_categories_controller' ...@@ -21,7 +21,7 @@ require 'issue_categories_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class IssueCategoriesController; def rescue_action(e) raise e end; end class IssueCategoriesController; def rescue_action(e) raise e end; end
class IssueCategoriesControllerTest < Test::Unit::TestCase class IssueCategoriesControllerTest < ActionController::TestCase
fixtures :projects, :users, :members, :member_roles, :roles, :enabled_modules, :issue_categories fixtures :projects, :users, :members, :member_roles, :roles, :enabled_modules, :issue_categories
def setup def setup
......
...@@ -5,7 +5,7 @@ require 'issue_relations_controller' ...@@ -5,7 +5,7 @@ require 'issue_relations_controller'
class IssueRelationsController; def rescue_action(e) raise e end; end class IssueRelationsController; def rescue_action(e) raise e end; end
class IssueRelationsControllerTest < Test::Unit::TestCase class IssueRelationsControllerTest < ActionController::TestCase
fixtures :projects, fixtures :projects,
:users, :users,
:roles, :roles,
......
...@@ -21,7 +21,7 @@ require 'issues_controller' ...@@ -21,7 +21,7 @@ require 'issues_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class IssuesController; def rescue_action(e) raise e end; end class IssuesController; def rescue_action(e) raise e end; end
class IssuesControllerTest < Test::Unit::TestCase class IssuesControllerTest < ActionController::TestCase
fixtures :projects, fixtures :projects,
:users, :users,
:roles, :roles,
...@@ -42,7 +42,8 @@ class IssuesControllerTest < Test::Unit::TestCase ...@@ -42,7 +42,8 @@ class IssuesControllerTest < Test::Unit::TestCase
:custom_fields_trackers, :custom_fields_trackers,
:time_entries, :time_entries,
:journals, :journals,
:journal_details :journal_details,
:queries
def setup def setup
@controller = IssuesController.new @controller = IssuesController.new
...@@ -452,14 +453,16 @@ class IssuesControllerTest < Test::Unit::TestCase ...@@ -452,14 +453,16 @@ class IssuesControllerTest < Test::Unit::TestCase
def test_post_new def test_post_new
@request.session[:user_id] = 2 @request.session[:user_id] = 2
post :new, :project_id => 1, assert_difference 'Issue.count' do
:issue => {:tracker_id => 3, post :new, :project_id => 1,
:subject => 'This is the test_new issue', :issue => {:tracker_id => 3,
:description => 'This is the description', :subject => 'This is the test_new issue',
:priority_id => 5, :description => 'This is the description',
:estimated_hours => '', :priority_id => 5,
:custom_field_values => {'2' => 'Value for field 2'}} :estimated_hours => '',
assert_redirected_to :action => 'show' :custom_field_values => {'2' => 'Value for field 2'}}
end
assert_redirected_to :controller => 'issues', :action => 'show', :id => Issue.last.id
issue = Issue.find_by_subject('This is the test_new issue') issue = Issue.find_by_subject('This is the test_new issue')
assert_not_nil issue assert_not_nil issue
...@@ -483,12 +486,14 @@ class IssuesControllerTest < Test::Unit::TestCase ...@@ -483,12 +486,14 @@ class IssuesControllerTest < Test::Unit::TestCase
def test_post_new_without_custom_fields_param def test_post_new_without_custom_fields_param
@request.session[:user_id] = 2 @request.session[:user_id] = 2
post :new, :project_id => 1, assert_difference 'Issue.count' do
:issue => {:tracker_id => 1, post :new, :project_id => 1,
:subject => 'This is the test_new issue', :issue => {:tracker_id => 1,
:description => 'This is the description', :subject => 'This is the test_new issue',
:priority_id => 5} :description => 'This is the description',
assert_redirected_to :action => 'show' :priority_id => 5}
end
assert_redirected_to :controller => 'issues', :action => 'show', :id => Issue.last.id
end end
def test_post_new_with_required_custom_field_and_without_custom_fields_param def test_post_new_with_required_custom_field_and_without_custom_fields_param
...@@ -536,14 +541,16 @@ class IssuesControllerTest < Test::Unit::TestCase ...@@ -536,14 +541,16 @@ class IssuesControllerTest < Test::Unit::TestCase
def test_post_new_should_send_a_notification def test_post_new_should_send_a_notification
ActionMailer::Base.deliveries.clear ActionMailer::Base.deliveries.clear
@request.session[:user_id] = 2 @request.session[:user_id] = 2
post :new, :project_id => 1, assert_difference 'Issue.count' do
:issue => {:tracker_id => 3, post :new, :project_id => 1,
:subject => 'This is the test_new issue', :issue => {:tracker_id => 3,
:description => 'This is the description', :subject => 'This is the test_new issue',
:priority_id => 5, :description => 'This is the description',
:estimated_hours => '', :priority_id => 5,
:custom_field_values => {'2' => 'Value for field 2'}} :estimated_hours => '',
assert_redirected_to :action => 'show' :custom_field_values => {'2' => 'Value for field 2'}}
end
assert_redirected_to :controller => 'issues', :action => 'show', :id => Issue.last.id
assert_equal 1, ActionMailer::Base.deliveries.size assert_equal 1, ActionMailer::Base.deliveries.size
end end
......
...@@ -21,7 +21,7 @@ require 'journals_controller' ...@@ -21,7 +21,7 @@ require 'journals_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class JournalsController; def rescue_action(e) raise e end; end class JournalsController; def rescue_action(e) raise e end; end
class JournalsControllerTest < Test::Unit::TestCase class JournalsControllerTest < ActionController::TestCase
fixtures :projects, :users, :members, :member_roles, :roles, :issues, :journals, :journal_details, :enabled_modules fixtures :projects, :users, :members, :member_roles, :roles, :issues, :journals, :journal_details, :enabled_modules
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'mail_handler_controller' ...@@ -21,7 +21,7 @@ require 'mail_handler_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class MailHandlerController; def rescue_action(e) raise e end; end class MailHandlerController; def rescue_action(e) raise e end; end
class MailHandlerControllerTest < Test::Unit::TestCase class MailHandlerControllerTest < ActionController::TestCase
fixtures :users, :projects, :enabled_modules, :roles, :members, :member_roles, :issues, :issue_statuses, :trackers, :enumerations fixtures :users, :projects, :enabled_modules, :roles, :members, :member_roles, :issues, :issue_statuses, :trackers, :enumerations
FIXTURES_PATH = File.dirname(__FILE__) + '/../fixtures/mail_handler' FIXTURES_PATH = File.dirname(__FILE__) + '/../fixtures/mail_handler'
......
...@@ -22,7 +22,7 @@ require 'members_controller' ...@@ -22,7 +22,7 @@ require 'members_controller'
class MembersController; def rescue_action(e) raise e end; end class MembersController; def rescue_action(e) raise e end; end
class MembersControllerTest < Test::Unit::TestCase class MembersControllerTest < ActionController::TestCase
fixtures :projects, :members, :member_roles, :roles, :users fixtures :projects, :members, :member_roles, :roles, :users
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'messages_controller' ...@@ -21,7 +21,7 @@ require 'messages_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class MessagesController; def rescue_action(e) raise e end; end class MessagesController; def rescue_action(e) raise e end; end
class MessagesControllerTest < Test::Unit::TestCase class MessagesControllerTest < ActionController::TestCase
fixtures :projects, :users, :members, :member_roles, :roles, :boards, :messages, :enabled_modules fixtures :projects, :users, :members, :member_roles, :roles, :boards, :messages, :enabled_modules
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'my_controller' ...@@ -21,7 +21,7 @@ require 'my_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class MyController; def rescue_action(e) raise e end; end class MyController; def rescue_action(e) raise e end; end
class MyControllerTest < Test::Unit::TestCase class MyControllerTest < ActionController::TestCase
fixtures :users, :issues, :issue_statuses, :trackers, :enumerations, :custom_fields fixtures :users, :issues, :issue_statuses, :trackers, :enumerations, :custom_fields
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'news_controller' ...@@ -21,7 +21,7 @@ require 'news_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class NewsController; def rescue_action(e) raise e end; end class NewsController; def rescue_action(e) raise e end; end
class NewsControllerTest < Test::Unit::TestCase class NewsControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :news, :comments fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :news, :comments
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'projects_controller' ...@@ -21,7 +21,7 @@ require 'projects_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class ProjectsController; def rescue_action(e) raise e end; end class ProjectsController; def rescue_action(e) raise e end; end
class ProjectsControllerTest < Test::Unit::TestCase class ProjectsControllerTest < ActionController::TestCase
fixtures :projects, :versions, :users, :roles, :members, :member_roles, :issues, :journals, :journal_details, fixtures :projects, :versions, :users, :roles, :members, :member_roles, :issues, :journals, :journal_details,
:trackers, :projects_trackers, :issue_statuses, :enabled_modules, :enumerations, :boards, :messages, :trackers, :projects_trackers, :issue_statuses, :enabled_modules, :enumerations, :boards, :messages,
:attachments :attachments
......
...@@ -21,7 +21,7 @@ require 'queries_controller' ...@@ -21,7 +21,7 @@ require 'queries_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class QueriesController; def rescue_action(e) raise e end; end class QueriesController; def rescue_action(e) raise e end; end
class QueriesControllerTest < Test::Unit::TestCase class QueriesControllerTest < ActionController::TestCase
fixtures :projects, :users, :members, :member_roles, :roles, :trackers, :issue_statuses, :issue_categories, :enumerations, :issues, :custom_fields, :custom_values, :queries fixtures :projects, :users, :members, :member_roles, :roles, :trackers, :issue_statuses, :issue_categories, :enumerations, :issues, :custom_fields, :custom_values, :queries
def setup def setup
...@@ -70,7 +70,7 @@ class QueriesControllerTest < Test::Unit::TestCase ...@@ -70,7 +70,7 @@ class QueriesControllerTest < Test::Unit::TestCase
:query => {"name" => "test_new_project_public_query", "is_public" => "1"} :query => {"name" => "test_new_project_public_query", "is_public" => "1"}
q = Query.find_by_name('test_new_project_public_query') q = Query.find_by_name('test_new_project_public_query')
assert_redirected_to :controller => 'issues', :action => 'index', :query_id => q assert_redirected_to :controller => 'issues', :action => 'index', :project_id => 'ecookbook', :query_id => q
assert q.is_public? assert q.is_public?
assert q.has_default_columns? assert q.has_default_columns?
assert q.valid? assert q.valid?
...@@ -88,7 +88,7 @@ class QueriesControllerTest < Test::Unit::TestCase ...@@ -88,7 +88,7 @@ class QueriesControllerTest < Test::Unit::TestCase
:query => {"name" => "test_new_project_private_query", "is_public" => "1"} :query => {"name" => "test_new_project_private_query", "is_public" => "1"}
q = Query.find_by_name('test_new_project_private_query') q = Query.find_by_name('test_new_project_private_query')
assert_redirected_to :controller => 'issues', :action => 'index', :query_id => q assert_redirected_to :controller => 'issues', :action => 'index', :project_id => 'ecookbook', :query_id => q
assert !q.is_public? assert !q.is_public?
assert q.has_default_columns? assert q.has_default_columns?
assert q.valid? assert q.valid?
...@@ -104,7 +104,7 @@ class QueriesControllerTest < Test::Unit::TestCase ...@@ -104,7 +104,7 @@ class QueriesControllerTest < Test::Unit::TestCase
:query => {"name" => "test_new_global_private_query", "is_public" => "1", "column_names" => ["", "tracker", "subject", "priority", "category"]} :query => {"name" => "test_new_global_private_query", "is_public" => "1", "column_names" => ["", "tracker", "subject", "priority", "category"]}
q = Query.find_by_name('test_new_global_private_query') q = Query.find_by_name('test_new_global_private_query')
assert_redirected_to :controller => 'issues', :action => 'index', :query_id => q assert_redirected_to :controller => 'issues', :action => 'index', :project_id => nil, :query_id => q
assert !q.is_public? assert !q.is_public?
assert !q.has_default_columns? assert !q.has_default_columns?
assert_equal [:tracker, :subject, :priority, :category], q.columns.collect {|c| c.name} assert_equal [:tracker, :subject, :priority, :category], q.columns.collect {|c| c.name}
......
...@@ -22,7 +22,7 @@ require 'reports_controller' ...@@ -22,7 +22,7 @@ require 'reports_controller'
class ReportsController; def rescue_action(e) raise e end; end class ReportsController; def rescue_action(e) raise e end; end
class ReportsControllerTest < Test::Unit::TestCase class ReportsControllerTest < ActionController::TestCase
fixtures :all fixtures :all
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'repositories_controller' ...@@ -21,7 +21,7 @@ require 'repositories_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class RepositoriesController; def rescue_action(e) raise e end; end class RepositoriesController; def rescue_action(e) raise e end; end
class RepositoriesBazaarControllerTest < Test::Unit::TestCase class RepositoriesBazaarControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :enabled_modules fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :enabled_modules
# No '..' in the repository path # No '..' in the repository path
......
...@@ -21,7 +21,7 @@ require 'repositories_controller' ...@@ -21,7 +21,7 @@ require 'repositories_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class RepositoriesController; def rescue_action(e) raise e end; end class RepositoriesController; def rescue_action(e) raise e end; end
class RepositoriesControllerTest < Test::Unit::TestCase class RepositoriesControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :issues, :issue_statuses, :changesets, :changes, :issue_categories, :enumerations, :custom_fields, :custom_values, :trackers fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :issues, :issue_statuses, :changesets, :changes, :issue_categories, :enumerations, :custom_fields, :custom_values, :trackers
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'repositories_controller' ...@@ -21,7 +21,7 @@ require 'repositories_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class RepositoriesController; def rescue_action(e) raise e end; end class RepositoriesController; def rescue_action(e) raise e end; end
class RepositoriesCvsControllerTest < Test::Unit::TestCase class RepositoriesCvsControllerTest < ActionController::TestCase
# No '..' in the repository path # No '..' in the repository path
REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/cvs_repository' REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/cvs_repository'
......
...@@ -21,7 +21,7 @@ require 'repositories_controller' ...@@ -21,7 +21,7 @@ require 'repositories_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class RepositoriesController; def rescue_action(e) raise e end; end class RepositoriesController; def rescue_action(e) raise e end; end
class RepositoriesDarcsControllerTest < Test::Unit::TestCase class RepositoriesDarcsControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :enabled_modules fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :enabled_modules
# No '..' in the repository path # No '..' in the repository path
......
...@@ -21,7 +21,7 @@ require 'repositories_controller' ...@@ -21,7 +21,7 @@ require 'repositories_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class RepositoriesController; def rescue_action(e) raise e end; end class RepositoriesController; def rescue_action(e) raise e end; end
class RepositoriesGitControllerTest < Test::Unit::TestCase class RepositoriesGitControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :enabled_modules fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :enabled_modules
# No '..' in the repository path # No '..' in the repository path
......
...@@ -21,7 +21,7 @@ require 'repositories_controller' ...@@ -21,7 +21,7 @@ require 'repositories_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class RepositoriesController; def rescue_action(e) raise e end; end class RepositoriesController; def rescue_action(e) raise e end; end
class RepositoriesMercurialControllerTest < Test::Unit::TestCase class RepositoriesMercurialControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :enabled_modules fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :enabled_modules
# No '..' in the repository path # No '..' in the repository path
......
...@@ -21,7 +21,7 @@ require 'repositories_controller' ...@@ -21,7 +21,7 @@ require 'repositories_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class RepositoriesController; def rescue_action(e) raise e end; end class RepositoriesController; def rescue_action(e) raise e end; end
class RepositoriesSubversionControllerTest < Test::Unit::TestCase class RepositoriesSubversionControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules,
:repositories, :issues, :issue_statuses, :changesets, :changes, :repositories, :issues, :issue_statuses, :changesets, :changes,
:issue_categories, :enumerations, :custom_fields, :custom_values, :trackers :issue_categories, :enumerations, :custom_fields, :custom_values, :trackers
......
...@@ -21,7 +21,7 @@ require 'roles_controller' ...@@ -21,7 +21,7 @@ require 'roles_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class RolesController; def rescue_action(e) raise e end; end class RolesController; def rescue_action(e) raise e end; end
class RolesControllerTest < Test::Unit::TestCase class RolesControllerTest < ActionController::TestCase
fixtures :roles, :users, :members, :member_roles, :workflows fixtures :roles, :users, :members, :member_roles, :workflows
def setup def setup
......
...@@ -4,7 +4,7 @@ require 'search_controller' ...@@ -4,7 +4,7 @@ require 'search_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class SearchController; def rescue_action(e) raise e end; end class SearchController; def rescue_action(e) raise e end; end
class SearchControllerTest < Test::Unit::TestCase class SearchControllerTest < ActionController::TestCase
fixtures :projects, :enabled_modules, :roles, :users, :members, :member_roles, fixtures :projects, :enabled_modules, :roles, :users, :members, :member_roles,
:issues, :trackers, :issue_statuses, :issues, :trackers, :issue_statuses,
:custom_fields, :custom_values, :custom_fields, :custom_values,
......
...@@ -21,7 +21,7 @@ require 'settings_controller' ...@@ -21,7 +21,7 @@ require 'settings_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class SettingsController; def rescue_action(e) raise e end; end class SettingsController; def rescue_action(e) raise e end; end
class SettingsControllerTest < Test::Unit::TestCase class SettingsControllerTest < ActionController::TestCase
fixtures :users fixtures :users
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'sys_controller' ...@@ -21,7 +21,7 @@ require 'sys_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class SysController; def rescue_action(e) raise e end; end class SysController; def rescue_action(e) raise e end; end
class SysControllerTest < Test::Unit::TestCase class SysControllerTest < ActionController::TestCase
fixtures :projects, :repositories fixtures :projects, :repositories
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'timelog_controller' ...@@ -21,7 +21,7 @@ require 'timelog_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class TimelogController; def rescue_action(e) raise e end; end class TimelogController; def rescue_action(e) raise e end; end
class TimelogControllerTest < Test::Unit::TestCase class TimelogControllerTest < ActionController::TestCase
fixtures :projects, :enabled_modules, :roles, :members, :member_roles, :issues, :time_entries, :users, :trackers, :enumerations, :issue_statuses, :custom_fields, :custom_values fixtures :projects, :enabled_modules, :roles, :members, :member_roles, :issues, :time_entries, :users, :trackers, :enumerations, :issue_statuses, :custom_fields, :custom_values
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'trackers_controller' ...@@ -21,7 +21,7 @@ require 'trackers_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class TrackersController; def rescue_action(e) raise e end; end class TrackersController; def rescue_action(e) raise e end; end
class TrackersControllerTest < Test::Unit::TestCase class TrackersControllerTest < ActionController::TestCase
fixtures :trackers, :projects, :projects_trackers, :users, :issues fixtures :trackers, :projects, :projects_trackers, :users, :issues
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'users_controller' ...@@ -21,7 +21,7 @@ require 'users_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class UsersController; def rescue_action(e) raise e end; end class UsersController; def rescue_action(e) raise e end; end
class UsersControllerTest < Test::Unit::TestCase class UsersControllerTest < ActionController::TestCase
include Redmine::I18n include Redmine::I18n
fixtures :users, :projects, :members, :member_roles, :roles fixtures :users, :projects, :members, :member_roles, :roles
......
...@@ -21,7 +21,7 @@ require 'versions_controller' ...@@ -21,7 +21,7 @@ require 'versions_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class VersionsController; def rescue_action(e) raise e end; end class VersionsController; def rescue_action(e) raise e end; end
class VersionsControllerTest < Test::Unit::TestCase class VersionsControllerTest < ActionController::TestCase
fixtures :projects, :versions, :issues, :users, :roles, :members, :member_roles, :enabled_modules fixtures :projects, :versions, :issues, :users, :roles, :members, :member_roles, :enabled_modules
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'watchers_controller' ...@@ -21,7 +21,7 @@ require 'watchers_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class WatchersController; def rescue_action(e) raise e end; end class WatchersController; def rescue_action(e) raise e end; end
class WatchersControllerTest < Test::Unit::TestCase class WatchersControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules,
:issues, :trackers, :projects_trackers, :issue_statuses, :enumerations, :watchers :issues, :trackers, :projects_trackers, :issue_statuses, :enumerations, :watchers
......
...@@ -21,7 +21,7 @@ require 'welcome_controller' ...@@ -21,7 +21,7 @@ require 'welcome_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class WelcomeController; def rescue_action(e) raise e end; end class WelcomeController; def rescue_action(e) raise e end; end
class WelcomeControllerTest < Test::Unit::TestCase class WelcomeControllerTest < ActionController::TestCase
fixtures :projects, :news fixtures :projects, :news
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'wiki_controller' ...@@ -21,7 +21,7 @@ require 'wiki_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class WikiController; def rescue_action(e) raise e end; end class WikiController; def rescue_action(e) raise e end; end
class WikiControllerTest < Test::Unit::TestCase class WikiControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :wikis, :wiki_pages, :wiki_contents, :wiki_content_versions, :attachments fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :wikis, :wiki_pages, :wiki_contents, :wiki_content_versions, :attachments
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'wikis_controller' ...@@ -21,7 +21,7 @@ require 'wikis_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class WikisController; def rescue_action(e) raise e end; end class WikisController; def rescue_action(e) raise e end; end
class WikisControllerTest < Test::Unit::TestCase class WikisControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :wikis fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :wikis
def setup def setup
......
...@@ -21,7 +21,7 @@ require 'workflows_controller' ...@@ -21,7 +21,7 @@ require 'workflows_controller'
# Re-raise errors caught by the controller. # Re-raise errors caught by the controller.
class WorkflowsController; def rescue_action(e) raise e end; end class WorkflowsController; def rescue_action(e) raise e end; end
class WorkflowsControllerTest < Test::Unit::TestCase class WorkflowsControllerTest < ActionController::TestCase
fixtures :roles, :trackers, :workflows fixtures :roles, :trackers, :workflows
def setup def setup
......
...@@ -4,7 +4,7 @@ class StubController < ApplicationController ...@@ -4,7 +4,7 @@ class StubController < ApplicationController
attr_accessor :request, :url attr_accessor :request, :url
end end
class HelperTestCase < Test::Unit::TestCase class HelperTestCase < ActiveSupport::TestCase
# Add other helpers here if you need them # Add other helpers here if you need them
include ActionView::Helpers::ActiveRecordHelper include ActionView::Helpers::ActiveRecordHelper
......
...@@ -21,7 +21,7 @@ require 'test_help' ...@@ -21,7 +21,7 @@ require 'test_help'
require File.expand_path(File.dirname(__FILE__) + '/helper_testcase') require File.expand_path(File.dirname(__FILE__) + '/helper_testcase')
require File.join(RAILS_ROOT,'test', 'mocks', 'open_id_authentication_mock.rb') require File.join(RAILS_ROOT,'test', 'mocks', 'open_id_authentication_mock.rb')
class Test::Unit::TestCase class ActiveSupport::TestCase
# Transactional fixtures accelerate your tests by wrapping each test method # Transactional fixtures accelerate your tests by wrapping each test method
# in a transaction that's rolled back on completion. This ensures that the # in a transaction that's rolled back on completion. This ensures that the
# test database remains unchanged so your fixtures don't have to be reloaded # test database remains unchanged so your fixtures don't have to be reloaded
...@@ -55,7 +55,7 @@ class Test::Unit::TestCase ...@@ -55,7 +55,7 @@ class Test::Unit::TestCase
end end
def test_uploaded_file(name, mime) def test_uploaded_file(name, mime)
ActionController::TestUploadedFile.new(Test::Unit::TestCase.fixture_path + "/files/#{name}", mime) ActionController::TestUploadedFile.new(ActiveSupport::TestCase.fixture_path + "/files/#{name}", mime)
end end
# Use a temporary directory for attachment related tests # Use a temporary directory for attachment related tests
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
class ActivityTest < Test::Unit::TestCase class ActivityTest < ActiveSupport::TestCase
fixtures :projects, :versions, :attachments, :users, :roles, :members, :member_roles, :issues, :journals, :journal_details, fixtures :projects, :versions, :attachments, :users, :roles, :members, :member_roles, :issues, :journals, :journal_details,
:trackers, :projects_trackers, :issue_statuses, :enabled_modules, :enumerations, :boards, :messages :trackers, :projects_trackers, :issue_statuses, :enabled_modules, :enumerations, :boards, :messages
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
class AttachmentTest < Test::Unit::TestCase class AttachmentTest < ActiveSupport::TestCase
fixtures :issues, :users fixtures :issues, :users
def setup def setup
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
class AuthSourceLdapTest < Test::Unit::TestCase class AuthSourceLdapTest < ActiveSupport::TestCase
def setup def setup
end end
......
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
class BoardTest < Test::Unit::TestCase class BoardTest < ActiveSupport::TestCase
fixtures :projects, :boards, :messages fixtures :projects, :boards, :messages
def setup def setup
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment