@@ -1,6 +1,6 | |||||
1 | source 'http://rubygems.org' |
|
1 | source 'http://rubygems.org' | |
2 |
|
2 | |||
3 |
gem 'rails', '3.2. |
|
3 | gem 'rails', '3.2.8' | |
4 | gem "jquery-rails", "~> 2.0.2" |
|
4 | gem "jquery-rails", "~> 2.0.2" | |
5 | gem "i18n", "~> 0.6.0" |
|
5 | gem "i18n", "~> 0.6.0" | |
6 | gem "coderay", "~> 1.0.6" |
|
6 | gem "coderay", "~> 1.0.6" |
@@ -1206,7 +1206,7 module ApplicationHelper | |||||
1206 |
|
1206 | |||
1207 | # Returns the javascript tags that are included in the html layout head |
|
1207 | # Returns the javascript tags that are included in the html layout head | |
1208 | def javascript_heads |
|
1208 | def javascript_heads | |
1209 |
tags = javascript_include_tag('jquery-1.7.2-ui-1.8.21-ujs-2.0. |
|
1209 | tags = javascript_include_tag('jquery-1.7.2-ui-1.8.21-ujs-2.0.3', 'application') | |
1210 | unless User.current.pref.warn_on_leaving_unsaved == '0' |
|
1210 | unless User.current.pref.warn_on_leaving_unsaved == '0' | |
1211 | tags << "\n".html_safe + javascript_tag("$(window).load(function(){ warnLeavingUnsaved('#{escape_javascript l(:text_warn_on_leaving_unsaved)}'); });") |
|
1211 | tags << "\n".html_safe + javascript_tag("$(window).load(function(){ warnLeavingUnsaved('#{escape_javascript l(:text_warn_on_leaving_unsaved)}'); });") | |
1212 | end |
|
1212 | end |
@@ -2,5 +2,5 | |||||
2 | $('#tab-content-memberships').html('<%= escape_javascript(render :partial => 'groups/memberships') %>'); |
|
2 | $('#tab-content-memberships').html('<%= escape_javascript(render :partial => 'groups/memberships') %>'); | |
3 | $('#member-<%= @membership.id %>').effect("highlight"); |
|
3 | $('#member-<%= @membership.id %>').effect("highlight"); | |
4 | <% else %> |
|
4 | <% else %> | |
5 | alert('<%= escape_javascript(l(:notice_failed_to_save_members, :errors => @membership.errors.full_messages.join(', '))) %>'); |
|
5 | alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => @membership.errors.full_messages.join(', ')))) %>'); | |
6 | <% end %> |
|
6 | <% end %> |
@@ -7,5 +7,5 hideOnLoad(); | |||||
7 | <% end %> |
|
7 | <% end %> | |
8 | <% else %> |
|
8 | <% else %> | |
9 | <% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ') %> |
|
9 | <% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ') %> | |
10 |
alert('<%= escape_javascript |
|
10 | alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => errors))) %>'); | |
11 | <% end %> |
|
11 | <% end %> |
@@ -3,5 +3,5 | |||||
3 | $('#related-issue-<%= @issue.id %>').effect("highlight"); |
|
3 | $('#related-issue-<%= @issue.id %>').effect("highlight"); | |
4 | $('#issue_id').focus(); |
|
4 | $('#issue_id').focus(); | |
5 | <% else %> |
|
5 | <% else %> | |
6 | alert("<%= escape_javascript(l(:label_issue) + ' ' + l('activerecord.errors.messages.invalid')) %>"); |
|
6 | alert("<%= raw(escape_javascript(l(:label_issue) + ' ' + l('activerecord.errors.messages.invalid'))) %>"); | |
7 | <% end %> |
|
7 | <% end %> |
@@ -2,5 +2,5 | |||||
2 | $('#tab-content-memberships').html('<%= escape_javascript(render :partial => 'users/memberships') %>'); |
|
2 | $('#tab-content-memberships').html('<%= escape_javascript(render :partial => 'users/memberships') %>'); | |
3 | $("#member-<%= @membership.id %>").effect("highlight"); |
|
3 | $("#member-<%= @membership.id %>").effect("highlight"); | |
4 | <% else %> |
|
4 | <% else %> | |
5 |
alert('<%= escape_javascript |
|
5 | alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => @membership.errors.full_messages.join(', ')))) %>'); | |
6 | <% end %> |
|
6 | <% end %> |
@@ -129,5 +129,5 jQuery.effects||function(a,b){function c(b){var c;return b&&b.constructor==Array | |||||
129 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ |
|
129 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ | |
130 | (function(a,b){a.effects.transfer=function(b){return this.queue(function(){var c=a(this),d=a(b.options.to),e=d.offset(),f={top:e.top,left:e.left,height:d.innerHeight(),width:d.innerWidth()},g=c.offset(),h=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);; |
|
130 | (function(a,b){a.effects.transfer=function(b){return this.queue(function(){var c=a(this),d=a(b.options.to),e=d.offset(),f={top:e.top,left:e.left,height:d.innerHeight(),width:d.innerWidth()},g=c.offset(),h=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);; | |
131 |
|
131 | |||
132 |
/* JQuery UJS 2.0. |
|
132 | /* JQuery UJS 2.0.3 */ | |
133 |
(function(a,b){var c;a.rails= |
|
133 | (function(a,b){var c=function(){var b=a(document).data("events");return b&&b.click&&a.grep(b.click,function(a){return a.namespace==="rails"}).length};if(c()){a.error("jquery-ujs has already been loaded!")}var d;a.rails=d={linkClickSelector:"a[data-confirm], a[data-method], a[data-remote], a[data-disable-with]",inputChangeSelector:"select[data-remote], input[data-remote], textarea[data-remote]",formSubmitSelector:"form",formInputClickSelector:"form input[type=submit], form input[type=image], form button[type=submit], form button:not([type])",disableSelector:"input[data-disable-with], button[data-disable-with], textarea[data-disable-with]",enableSelector:"input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled",requiredInputSelector:"input[name][required]:not([disabled]),textarea[name][required]:not([disabled])",fileInputSelector:"input:file",linkDisableSelector:"a[data-disable-with]",CSRFProtection:function(b){var c=a('meta[name="csrf-token"]').attr("content");if(c)b.setRequestHeader("X-CSRF-Token",c)},fire:function(b,c,d){var e=a.Event(c);b.trigger(e,d);return e.result!==false},confirm:function(a){return confirm(a)},ajax:function(b){return a.ajax(b)},href:function(a){return a.attr("href")},handleRemote:function(c){var e,f,g,h,i,j,k,l;if(d.fire(c,"ajax:before")){h=c.data("cross-domain");i=h===b?null:h;j=c.data("with-credentials")||null;k=c.data("type")||a.ajaxSettings&&a.ajaxSettings.dataType;if(c.is("form")){e=c.attr("method");f=c.attr("action");g=c.serializeArray();var m=c.data("ujs:submit-button");if(m){g.push(m);c.data("ujs:submit-button",null)}}else if(c.is(d.inputChangeSelector)){e=c.data("method");f=c.data("url");g=c.serialize();if(c.data("params"))g=g+"&"+c.data("params")}else{e=c.data("method");f=d.href(c);g=c.data("params")||null}l={type:e||"GET",data:g,dataType:k,beforeSend:function(a,e){if(e.dataType===b){a.setRequestHeader("accept","*/*;q=0.5, "+e.accepts.script)}return d.fire(c,"ajax:beforeSend",[a,e])},success:function(a,b,d){c.trigger("ajax:success",[a,b,d])},complete:function(a,b){c.trigger("ajax:complete",[a,b])},error:function(a,b,d){c.trigger("ajax:error",[a,b,d])},xhrFields:{withCredentials:j},crossDomain:i};if(f){l.url=f}var n=d.ajax(l);c.trigger("ajax:send",n);return n}else{return false}},handleMethod:function(c){var e=d.href(c),f=c.data("method"),g=c.attr("target"),h=a("meta[name=csrf-token]").attr("content"),i=a("meta[name=csrf-param]").attr("content"),j=a('<form method="post" action="'+e+'"></form>'),k='<input name="_method" value="'+f+'" type="hidden" />';if(i!==b&&h!==b){k+='<input name="'+i+'" value="'+h+'" type="hidden" />'}if(g){j.attr("target",g)}j.hide().append(k).appendTo("body");j.submit()},disableFormElements:function(b){b.find(d.disableSelector).each(function(){var b=a(this),c=b.is("button")?"html":"val";b.data("ujs:enable-with",b[c]());b[c](b.data("disable-with"));b.prop("disabled",true)})},enableFormElements:function(b){b.find(d.enableSelector).each(function(){var b=a(this),c=b.is("button")?"html":"val";if(b.data("ujs:enable-with"))b[c](b.data("ujs:enable-with"));b.prop("disabled",false)})},allowAction:function(a){var b=a.data("confirm"),c=false,e;if(!b){return true}if(d.fire(a,"confirm")){c=d.confirm(b);e=d.fire(a,"confirm:complete",[c])}return c&&e},blankInputs:function(b,c,d){var e=a(),f,g,h=c||"input,textarea";b.find(h).each(function(){f=a(this);g=f.is(":checkbox,:radio")?f.is(":checked"):f.val();if(g==!!d){e=e.add(f)}});return e.length?e:false},nonBlankInputs:function(a,b){return d.blankInputs(a,b,true)},stopEverything:function(b){a(b.target).trigger("ujs:everythingStopped");b.stopImmediatePropagation();return false},callFormSubmitBindings:function(c,d){var e=c.data("events"),f=true;if(e!==b&&e["submit"]!==b){a.each(e["submit"],function(a,b){if(typeof b.handler==="function")return f=b.handler(d)})}return f},disableElement:function(a){a.data("ujs:enable-with",a.html());a.html(a.data("disable-with"));a.bind("click.railsDisable",function(a){return d.stopEverything(a)})},enableElement:function(a){if(a.data("ujs:enable-with")!==b){a.html(a.data("ujs:enable-with"));a.data("ujs:enable-with",false)}a.unbind("click.railsDisable")}};if(d.fire(a(document),"rails:attachBindings")){a.ajaxPrefilter(function(a,b,c){if(!a.crossDomain){d.CSRFProtection(c)}});a(document).delegate(d.linkDisableSelector,"ajax:complete",function(){d.enableElement(a(this))});a(document).delegate(d.linkClickSelector,"click.rails",function(c){var e=a(this),f=e.data("method"),g=e.data("params");if(!d.allowAction(e))return d.stopEverything(c);if(e.is(d.linkDisableSelector))d.disableElement(e);if(e.data("remote")!==b){if((c.metaKey||c.ctrlKey)&&(!f||f==="GET")&&!g){return true}if(d.handleRemote(e)===false){d.enableElement(e)}return false}else if(e.data("method")){d.handleMethod(e);return false}});a(document).delegate(d.inputChangeSelector,"change.rails",function(b){var c=a(this);if(!d.allowAction(c))return d.stopEverything(b);d.handleRemote(c);return false});a(document).delegate(d.formSubmitSelector,"submit.rails",function(c){var e=a(this),f=e.data("remote")!==b,g=d.blankInputs(e,d.requiredInputSelector),h=d.nonBlankInputs(e,d.fileInputSelector);if(!d.allowAction(e))return d.stopEverything(c);if(g&&e.attr("novalidate")==b&&d.fire(e,"ajax:aborted:required",[g])){return d.stopEverything(c)}if(f){if(h){setTimeout(function(){d.disableFormElements(e)},13);return d.fire(e,"ajax:aborted:file",[h])}if(!a.support.submitBubbles&&a().jquery<"1.7"&&d.callFormSubmitBindings(e,c)===false)return d.stopEverything(c);d.handleRemote(e);return false}else{setTimeout(function(){d.disableFormElements(e)},13)}});a(document).delegate(d.formInputClickSelector,"click.rails",function(b){var c=a(this);if(!d.allowAction(c))return d.stopEverything(b);var e=c.attr("name"),f=e?{name:e,value:c.val()}:null;c.closest("form").data("ujs:submit-button",f)});a(document).delegate(d.formSubmitSelector,"ajax:beforeSend.rails",function(b){if(this==b.target)d.disableFormElements(a(this))});a(document).delegate(d.formSubmitSelector,"ajax:complete.rails",function(b){if(this==b.target)d.enableFormElements(a(this))});a(function(){csrf_token=a("meta[name=csrf-token]").attr("content");csrf_param=a("meta[name=csrf-param]").attr("content");a('form input[name="'+csrf_param+'"]').val(csrf_token)})}})(jQuery) |
@@ -48,7 +48,7 class ActivitiesControllerTest < ActionController::TestCase | |||||
48 | :child => { :tag => "dt", |
|
48 | :child => { :tag => "dt", | |
49 | :attributes => { :class => /issue/ }, |
|
49 | :attributes => { :class => /issue/ }, | |
50 | :child => { :tag => "a", |
|
50 | :child => { :tag => "a", | |
51 |
:content => / |
|
51 | :content => /Can't print recipes/, | |
52 | } |
|
52 | } | |
53 | } |
|
53 | } | |
54 | } |
|
54 | } | |
@@ -69,7 +69,7 class ActivitiesControllerTest < ActionController::TestCase | |||||
69 | :child => { :tag => "dt", |
|
69 | :child => { :tag => "dt", | |
70 | :attributes => { :class => /issue/ }, |
|
70 | :attributes => { :class => /issue/ }, | |
71 | :child => { :tag => "a", |
|
71 | :child => { :tag => "a", | |
72 |
:content => / |
|
72 | :content => /Subproject issue/, | |
73 | } |
|
73 | } | |
74 | } |
|
74 | } | |
75 | } |
|
75 | } | |
@@ -93,7 +93,7 class ActivitiesControllerTest < ActionController::TestCase | |||||
93 | :child => { :tag => "dt", |
|
93 | :child => { :tag => "dt", | |
94 | :attributes => { :class => /issue/ }, |
|
94 | :attributes => { :class => /issue/ }, | |
95 | :child => { :tag => "a", |
|
95 | :child => { :tag => "a", | |
96 |
:content => / |
|
96 | :content => /Can't print recipes/, | |
97 | } |
|
97 | } | |
98 | } |
|
98 | } | |
99 | } |
|
99 | } |
@@ -65,7 +65,7 class AuthSourcesControllerTest < ActionController::TestCase | |||||
65 | assert_response :success |
|
65 | assert_response :success | |
66 | assert_template 'new' |
|
66 | assert_template 'new' | |
67 | end |
|
67 | end | |
68 |
assert_error_tag :content => /host can |
|
68 | assert_error_tag :content => /host can't be blank/i | |
69 | end |
|
69 | end | |
70 |
|
70 | |||
71 | def test_edit |
|
71 | def test_edit | |
@@ -90,7 +90,7 class AuthSourcesControllerTest < ActionController::TestCase | |||||
90 | put :update, :id => 1, :auth_source => {:name => 'Renamed', :host => '', :port => '389', :attr_login => 'uid'} |
|
90 | put :update, :id => 1, :auth_source => {:name => 'Renamed', :host => '', :port => '389', :attr_login => 'uid'} | |
91 | assert_response :success |
|
91 | assert_response :success | |
92 | assert_template 'edit' |
|
92 | assert_template 'edit' | |
93 |
assert_error_tag :content => /host can |
|
93 | assert_error_tag :content => /host can't be blank/i | |
94 | end |
|
94 | end | |
95 |
|
95 | |||
96 | def test_destroy |
|
96 | def test_destroy |
@@ -53,7 +53,7 class IssueStatusesControllerTest < ActionController::TestCase | |||||
53 | post :create, :issue_status => {:name => ''} |
|
53 | post :create, :issue_status => {:name => ''} | |
54 | assert_response :success |
|
54 | assert_response :success | |
55 | assert_template 'new' |
|
55 | assert_template 'new' | |
56 |
assert_error_tag :content => /name can |
|
56 | assert_error_tag :content => /name can't be blank/i | |
57 | end |
|
57 | end | |
58 |
|
58 | |||
59 | def test_edit |
|
59 | def test_edit | |
@@ -73,7 +73,7 class IssueStatusesControllerTest < ActionController::TestCase | |||||
73 | put :update, :id => '3', :issue_status => {:name => ''} |
|
73 | put :update, :id => '3', :issue_status => {:name => ''} | |
74 | assert_response :success |
|
74 | assert_response :success | |
75 | assert_template 'edit' |
|
75 | assert_template 'edit' | |
76 |
assert_error_tag :content => /name can |
|
76 | assert_error_tag :content => /name can't be blank/i | |
77 | end |
|
77 | end | |
78 |
|
78 | |||
79 | def test_destroy |
|
79 | def test_destroy |
@@ -61,7 +61,7 class IssuesControllerTest < ActionController::TestCase | |||||
61 | assert_template 'index' |
|
61 | assert_template 'index' | |
62 | assert_not_nil assigns(:issues) |
|
62 | assert_not_nil assigns(:issues) | |
63 | assert_nil assigns(:project) |
|
63 | assert_nil assigns(:project) | |
64 |
assert_tag :tag => 'a', :content => /Can |
|
64 | assert_tag :tag => 'a', :content => /Can't print recipes/ | |
65 | assert_tag :tag => 'a', :content => /Subproject issue/ |
|
65 | assert_tag :tag => 'a', :content => /Subproject issue/ | |
66 | # private projects hidden |
|
66 | # private projects hidden | |
67 | assert_no_tag :tag => 'a', :content => /Issue of a private subproject/ |
|
67 | assert_no_tag :tag => 'a', :content => /Issue of a private subproject/ | |
@@ -78,7 +78,7 class IssuesControllerTest < ActionController::TestCase | |||||
78 | assert_template 'index' |
|
78 | assert_template 'index' | |
79 | assert_not_nil assigns(:issues) |
|
79 | assert_not_nil assigns(:issues) | |
80 | assert_nil assigns(:project) |
|
80 | assert_nil assigns(:project) | |
81 |
assert_no_tag :tag => 'a', :content => /Can |
|
81 | assert_no_tag :tag => 'a', :content => /Can't print recipes/ | |
82 | assert_tag :tag => 'a', :content => /Subproject issue/ |
|
82 | assert_tag :tag => 'a', :content => /Subproject issue/ | |
83 | end |
|
83 | end | |
84 |
|
84 | |||
@@ -95,7 +95,7 class IssuesControllerTest < ActionController::TestCase | |||||
95 | assert_response :success |
|
95 | assert_response :success | |
96 | assert_template 'index' |
|
96 | assert_template 'index' | |
97 | assert_not_nil assigns(:issues) |
|
97 | assert_not_nil assigns(:issues) | |
98 |
assert_tag :tag => 'a', :content => /Can |
|
98 | assert_tag :tag => 'a', :content => /Can't print recipes/ | |
99 | assert_no_tag :tag => 'a', :content => /Subproject issue/ |
|
99 | assert_no_tag :tag => 'a', :content => /Subproject issue/ | |
100 | end |
|
100 | end | |
101 |
|
101 | |||
@@ -105,7 +105,7 class IssuesControllerTest < ActionController::TestCase | |||||
105 | assert_response :success |
|
105 | assert_response :success | |
106 | assert_template 'index' |
|
106 | assert_template 'index' | |
107 | assert_not_nil assigns(:issues) |
|
107 | assert_not_nil assigns(:issues) | |
108 |
assert_tag :tag => 'a', :content => /Can |
|
108 | assert_tag :tag => 'a', :content => /Can't print recipes/ | |
109 | assert_tag :tag => 'a', :content => /Subproject issue/ |
|
109 | assert_tag :tag => 'a', :content => /Subproject issue/ | |
110 | assert_no_tag :tag => 'a', :content => /Issue of a private subproject/ |
|
110 | assert_no_tag :tag => 'a', :content => /Issue of a private subproject/ | |
111 | end |
|
111 | end | |
@@ -117,7 +117,7 class IssuesControllerTest < ActionController::TestCase | |||||
117 | assert_response :success |
|
117 | assert_response :success | |
118 | assert_template 'index' |
|
118 | assert_template 'index' | |
119 | assert_not_nil assigns(:issues) |
|
119 | assert_not_nil assigns(:issues) | |
120 |
assert_tag :tag => 'a', :content => /Can |
|
120 | assert_tag :tag => 'a', :content => /Can't print recipes/ | |
121 | assert_tag :tag => 'a', :content => /Subproject issue/ |
|
121 | assert_tag :tag => 'a', :content => /Subproject issue/ | |
122 | assert_tag :tag => 'a', :content => /Issue of a private subproject/ |
|
122 | assert_tag :tag => 'a', :content => /Issue of a private subproject/ | |
123 | end |
|
123 | end | |
@@ -823,7 +823,7 class IssuesControllerTest < ActionController::TestCase | |||||
823 | :child => { :tag => 'legend', |
|
823 | :child => { :tag => 'legend', | |
824 | :content => /Notes/ } } |
|
824 | :content => /Notes/ } } | |
825 | assert_tag :tag => 'title', |
|
825 | assert_tag :tag => 'title', | |
826 |
:content => "Bug #1: Can |
|
826 | :content => "Bug #1: Can't print recipes - eCookbook - Redmine" | |
827 | end |
|
827 | end | |
828 |
|
828 | |||
829 | def test_show_by_manager |
|
829 | def test_show_by_manager | |
@@ -1807,7 +1807,7 class IssuesControllerTest < ActionController::TestCase | |||||
1807 | assert_template 'new' |
|
1807 | assert_template 'new' | |
1808 | issue = assigns(:issue) |
|
1808 | issue = assigns(:issue) | |
1809 | assert_not_nil issue |
|
1809 | assert_not_nil issue | |
1810 |
assert_error_tag :content => /Database can |
|
1810 | assert_error_tag :content => /Database can't be blank/ | |
1811 | end |
|
1811 | end | |
1812 |
|
1812 | |||
1813 | def test_create_should_validate_required_fields |
|
1813 | def test_create_should_validate_required_fields | |
@@ -1831,8 +1831,8 class IssuesControllerTest < ActionController::TestCase | |||||
1831 | assert_template 'new' |
|
1831 | assert_template 'new' | |
1832 | end |
|
1832 | end | |
1833 |
|
1833 | |||
1834 |
assert_error_tag :content => /Due date can |
|
1834 | assert_error_tag :content => /Due date can't be blank/i | |
1835 |
assert_error_tag :content => /Bar can |
|
1835 | assert_error_tag :content => /Bar can't be blank/i | |
1836 | end |
|
1836 | end | |
1837 |
|
1837 | |||
1838 | def test_create_should_ignore_readonly_fields |
|
1838 | def test_create_should_ignore_readonly_fields | |
@@ -2869,7 +2869,7 class IssuesControllerTest < ActionController::TestCase | |||||
2869 | assert_response :success |
|
2869 | assert_response :success | |
2870 | assert_template 'edit' |
|
2870 | assert_template 'edit' | |
2871 |
|
2871 | |||
2872 |
assert_error_tag :descendant => {:content => /Activity can |
|
2872 | assert_error_tag :descendant => {:content => /Activity can't be blank/} | |
2873 | assert_tag :textarea, :attributes => { :name => 'notes' }, :content => "\n"+notes |
|
2873 | assert_tag :textarea, :attributes => { :name => 'notes' }, :content => "\n"+notes | |
2874 | assert_tag :input, :attributes => { :name => 'time_entry[hours]', :value => "2z" } |
|
2874 | assert_tag :input, :attributes => { :name => 'time_entry[hours]', :value => "2z" } | |
2875 | end |
|
2875 | end | |
@@ -2887,8 +2887,8 class IssuesControllerTest < ActionController::TestCase | |||||
2887 | assert_response :success |
|
2887 | assert_response :success | |
2888 | assert_template 'edit' |
|
2888 | assert_template 'edit' | |
2889 |
|
2889 | |||
2890 |
assert_error_tag :descendant => {:content => /Activity can |
|
2890 | assert_error_tag :descendant => {:content => /Activity can't be blank/} | |
2891 |
assert_error_tag :descendant => {:content => /Hours can |
|
2891 | assert_error_tag :descendant => {:content => /Hours can't be blank/} | |
2892 | assert_tag :textarea, :attributes => { :name => 'notes' }, :content => "\n"+notes |
|
2892 | assert_tag :textarea, :attributes => { :name => 'notes' }, :content => "\n"+notes | |
2893 | assert_tag :input, :attributes => { :name => 'time_entry[comments]', :value => "this is my comment" } |
|
2893 | assert_tag :input, :attributes => { :name => 'time_entry[comments]', :value => "this is my comment" } | |
2894 | end |
|
2894 | end |
@@ -149,7 +149,7 class MyControllerTest < ActionController::TestCase | |||||
149 | :new_password_confirmation => 'hello2' |
|
149 | :new_password_confirmation => 'hello2' | |
150 | assert_response :success |
|
150 | assert_response :success | |
151 | assert_template 'password' |
|
151 | assert_template 'password' | |
152 |
assert_error_tag :content => /Password doesn |
|
152 | assert_error_tag :content => /Password doesn't match confirmation/ | |
153 |
|
153 | |||
154 | # wrong password |
|
154 | # wrong password | |
155 | post :password, :password => 'wrongpassword', |
|
155 | post :password, :password => 'wrongpassword', |
@@ -123,7 +123,7 class NewsControllerTest < ActionController::TestCase | |||||
123 | assert_template 'new' |
|
123 | assert_template 'new' | |
124 | assert_not_nil assigns(:news) |
|
124 | assert_not_nil assigns(:news) | |
125 | assert assigns(:news).new_record? |
|
125 | assert assigns(:news).new_record? | |
126 |
assert_error_tag :content => /title can |
|
126 | assert_error_tag :content => /title can't be blank/i | |
127 | end |
|
127 | end | |
128 |
|
128 | |||
129 | def test_get_edit |
|
129 | def test_get_edit | |
@@ -160,7 +160,7 class NewsControllerTest < ActionController::TestCase | |||||
160 | put :update, :id => 1, :news => { :description => '' } |
|
160 | put :update, :id => 1, :news => { :description => '' } | |
161 | assert_response :success |
|
161 | assert_response :success | |
162 | assert_template 'edit' |
|
162 | assert_template 'edit' | |
163 |
assert_error_tag :content => /description can |
|
163 | assert_error_tag :content => /description can't be blank/i | |
164 | end |
|
164 | end | |
165 |
|
165 | |||
166 | def test_destroy |
|
166 | def test_destroy |
@@ -409,7 +409,7 class ProjectsControllerTest < ActionController::TestCase | |||||
409 | post :update, :id => 1, :project => {:name => ''} |
|
409 | post :update, :id => 1, :project => {:name => ''} | |
410 | assert_response :success |
|
410 | assert_response :success | |
411 | assert_template 'settings' |
|
411 | assert_template 'settings' | |
412 |
assert_error_tag :content => /name can |
|
412 | assert_error_tag :content => /name can't be blank/i | |
413 | end |
|
413 | end | |
414 |
|
414 | |||
415 | def test_update_should_be_denied_for_member_on_closed_project |
|
415 | def test_update_should_be_denied_for_member_on_closed_project |
@@ -95,7 +95,7 class TrackersControllerTest < ActionController::TestCase | |||||
95 | end |
|
95 | end | |
96 | assert_response :success |
|
96 | assert_response :success | |
97 | assert_template 'new' |
|
97 | assert_template 'new' | |
98 |
assert_error_tag :content => /name can |
|
98 | assert_error_tag :content => /name can't be blank/i | |
99 | end |
|
99 | end | |
100 |
|
100 | |||
101 | def test_edit |
|
101 | def test_edit | |
@@ -160,7 +160,7 class TrackersControllerTest < ActionController::TestCase | |||||
160 | put :update, :id => 1, :tracker => { :name => '' } |
|
160 | put :update, :id => 1, :tracker => { :name => '' } | |
161 | assert_response :success |
|
161 | assert_response :success | |
162 | assert_template 'edit' |
|
162 | assert_template 'edit' | |
163 |
assert_error_tag :content => /name can |
|
163 | assert_error_tag :content => /name can't be blank/i | |
164 | end |
|
164 | end | |
165 |
|
165 | |||
166 | def test_move_lower |
|
166 | def test_move_lower |
@@ -58,7 +58,7 class WikisControllerTest < ActionController::TestCase | |||||
58 | end |
|
58 | end | |
59 |
|
59 | |||
60 | assert_include 'errorExplanation', response.body |
|
60 | assert_include 'errorExplanation', response.body | |
61 |
assert_include 'Start page can |
|
61 | assert_include 'Start page can't be blank', response.body | |
62 | end |
|
62 | end | |
63 |
|
63 | |||
64 | def test_update |
|
64 | def test_update |
@@ -690,7 +690,7 RAW | |||||
690 |
|
690 | |||
691 | expected = <<-EXPECTED |
|
691 | expected = <<-EXPECTED | |
692 | <p><a href="/projects/ecookbook/wiki/CookBook_documentation" class="wiki-page">CookBook documentation</a></p> |
|
692 | <p><a href="/projects/ecookbook/wiki/CookBook_documentation" class="wiki-page">CookBook documentation</a></p> | |
693 |
<p><a href="/issues/1" class="issue status-1 priority-4" title="Can |
|
693 | <p><a href="/issues/1" class="issue status-1 priority-4" title="Can't print recipes (New)">#1</a></p> | |
694 | <pre> |
|
694 | <pre> | |
695 | [[CookBook documentation]] |
|
695 | [[CookBook documentation]] | |
696 |
|
696 |
@@ -55,7 +55,7 class MailerTest < ActiveSupport::TestCase | |||||
55 | # link to a referenced ticket |
|
55 | # link to a referenced ticket | |
56 | assert_select 'a[href=?][title=?]', |
|
56 | assert_select 'a[href=?][title=?]', | |
57 | 'https://mydomain.foo/issues/1', |
|
57 | 'https://mydomain.foo/issues/1', | |
58 |
'Can |
|
58 | 'Can't print recipes (New)', | |
59 | :text => '#1' |
|
59 | :text => '#1' | |
60 | # link to a changeset |
|
60 | # link to a changeset | |
61 | assert_select 'a[href=?][title=?]', |
|
61 | assert_select 'a[href=?][title=?]', | |
@@ -94,7 +94,7 class MailerTest < ActiveSupport::TestCase | |||||
94 | # link to a referenced ticket |
|
94 | # link to a referenced ticket | |
95 | assert_select 'a[href=?][title=?]', |
|
95 | assert_select 'a[href=?][title=?]', | |
96 | 'http://mydomain.foo/rdm/issues/1', |
|
96 | 'http://mydomain.foo/rdm/issues/1', | |
97 |
'Can |
|
97 | 'Can't print recipes (New)', | |
98 | :text => '#1' |
|
98 | :text => '#1' | |
99 | # link to a changeset |
|
99 | # link to a changeset | |
100 | assert_select 'a[href=?][title=?]', |
|
100 | assert_select 'a[href=?][title=?]', | |
@@ -134,7 +134,7 class MailerTest < ActiveSupport::TestCase | |||||
134 | # link to a referenced ticket |
|
134 | # link to a referenced ticket | |
135 | assert_select 'a[href=?][title=?]', |
|
135 | assert_select 'a[href=?][title=?]', | |
136 | 'http://mydomain.foo/rdm/issues/1', |
|
136 | 'http://mydomain.foo/rdm/issues/1', | |
137 |
'Can |
|
137 | 'Can't print recipes (New)', | |
138 | :text => '#1' |
|
138 | :text => '#1' | |
139 | # link to a changeset |
|
139 | # link to a changeset | |
140 | assert_select 'a[href=?][title=?]', |
|
140 | assert_select 'a[href=?][title=?]', |
General Comments 0
You need to be logged in to leave comments.
Login now