actionpack 1.11.2 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of actionpack might be problematic. Click here for more details.

Files changed (149) hide show
  1. data/CHANGELOG +392 -5
  2. data/lib/action_controller.rb +8 -4
  3. data/lib/action_controller/assertions.rb +9 -10
  4. data/lib/action_controller/base.rb +177 -88
  5. data/lib/action_controller/benchmarking.rb +5 -5
  6. data/lib/action_controller/caching.rb +44 -36
  7. data/lib/action_controller/cgi_ext/cgi_methods.rb +71 -6
  8. data/lib/action_controller/cgi_ext/cookie_performance_fix.rb +1 -1
  9. data/lib/action_controller/cgi_process.rb +36 -24
  10. data/lib/action_controller/components.rb +152 -52
  11. data/lib/action_controller/dependencies.rb +1 -1
  12. data/lib/action_controller/deprecated_redirects.rb +2 -2
  13. data/lib/action_controller/deprecated_request_methods.rb +34 -0
  14. data/lib/action_controller/filters.rb +59 -19
  15. data/lib/action_controller/flash.rb +53 -47
  16. data/lib/action_controller/helpers.rb +2 -2
  17. data/lib/action_controller/integration.rb +524 -0
  18. data/lib/action_controller/layout.rb +58 -23
  19. data/lib/action_controller/mime_responds.rb +163 -0
  20. data/lib/action_controller/mime_type.rb +142 -0
  21. data/lib/action_controller/pagination.rb +13 -7
  22. data/lib/action_controller/request.rb +59 -56
  23. data/lib/action_controller/rescue.rb +1 -1
  24. data/lib/action_controller/routing.rb +29 -10
  25. data/lib/action_controller/scaffolding.rb +8 -0
  26. data/lib/action_controller/session/active_record_store.rb +21 -10
  27. data/lib/action_controller/session/mem_cache_store.rb +18 -12
  28. data/lib/action_controller/session_management.rb +30 -11
  29. data/lib/action_controller/templates/rescues/_trace.rhtml +1 -1
  30. data/lib/action_controller/templates/scaffolds/layout.rhtml +4 -4
  31. data/lib/action_controller/templates/scaffolds/list.rhtml +1 -1
  32. data/lib/action_controller/test_process.rb +189 -118
  33. data/lib/action_controller/vendor/html-scanner/html/node.rb +20 -1
  34. data/lib/action_controller/vendor/html-scanner/html/tokenizer.rb +3 -0
  35. data/lib/action_controller/vendor/html-scanner/html/version.rb +1 -1
  36. data/lib/action_controller/vendor/xml_node.rb +97 -0
  37. data/lib/action_controller/verification.rb +2 -0
  38. data/lib/action_pack/version.rb +3 -3
  39. data/lib/action_view.rb +0 -2
  40. data/lib/action_view/base.rb +109 -36
  41. data/lib/action_view/compiled_templates.rb +1 -1
  42. data/lib/action_view/helpers/active_record_helper.rb +4 -2
  43. data/lib/action_view/helpers/asset_tag_helper.rb +6 -7
  44. data/lib/action_view/helpers/capture_helper.rb +49 -12
  45. data/lib/action_view/helpers/date_helper.rb +14 -4
  46. data/lib/action_view/helpers/form_helper.rb +136 -20
  47. data/lib/action_view/helpers/form_options_helper.rb +29 -7
  48. data/lib/action_view/helpers/form_tag_helper.rb +22 -20
  49. data/lib/action_view/helpers/java_script_macros_helper.rb +29 -9
  50. data/lib/action_view/helpers/javascript_helper.rb +50 -446
  51. data/lib/action_view/helpers/javascripts/controls.js +95 -30
  52. data/lib/action_view/helpers/javascripts/dragdrop.js +161 -21
  53. data/lib/action_view/helpers/javascripts/effects.js +310 -211
  54. data/lib/action_view/helpers/javascripts/prototype.js +228 -28
  55. data/lib/action_view/helpers/number_helper.rb +9 -9
  56. data/lib/action_view/helpers/pagination_helper.rb +1 -1
  57. data/lib/action_view/helpers/prototype_helper.rb +900 -0
  58. data/lib/action_view/helpers/scriptaculous_helper.rb +135 -0
  59. data/lib/action_view/helpers/text_helper.rb +7 -6
  60. data/lib/action_view/helpers/url_helper.rb +23 -14
  61. data/lib/action_view/partials.rb +12 -4
  62. data/rakefile +13 -5
  63. data/test/abstract_unit.rb +4 -3
  64. data/test/active_record_unit.rb +88 -0
  65. data/test/{controller → activerecord}/active_record_assertions_test.rb +7 -50
  66. data/test/{controller → activerecord}/active_record_store_test.rb +27 -4
  67. data/test/activerecord/pagination_test.rb +161 -0
  68. data/test/controller/action_pack_assertions_test.rb +18 -15
  69. data/test/controller/base_test.rb +31 -42
  70. data/test/controller/benchmark_test.rb +8 -11
  71. data/test/controller/capture_test.rb +33 -1
  72. data/test/controller/cgi_test.rb +33 -0
  73. data/test/controller/custom_handler_test.rb +8 -0
  74. data/test/controller/fake_controllers.rb +9 -17
  75. data/test/controller/filters_test.rb +32 -3
  76. data/test/controller/flash_test.rb +26 -41
  77. data/test/controller/fragment_store_setting_test.rb +1 -1
  78. data/test/controller/layout_test.rb +73 -0
  79. data/test/controller/mime_responds_test.rb +257 -0
  80. data/test/controller/mime_type_test.rb +24 -0
  81. data/test/controller/new_render_test.rb +157 -1
  82. data/test/controller/redirect_test.rb +23 -0
  83. data/test/controller/render_test.rb +54 -56
  84. data/test/controller/request_test.rb +25 -0
  85. data/test/controller/routing_test.rb +74 -66
  86. data/test/controller/test_test.rb +66 -1
  87. data/test/controller/verification_test.rb +3 -1
  88. data/test/controller/webservice_test.rb +255 -0
  89. data/test/fixtures/companies.yml +24 -0
  90. data/test/fixtures/company.rb +9 -0
  91. data/test/fixtures/db_definitions/sqlite.sql +42 -0
  92. data/test/fixtures/developer.rb +7 -0
  93. data/test/fixtures/developers.yml +21 -0
  94. data/test/fixtures/developers_projects.yml +13 -0
  95. data/test/fixtures/layout_tests/layouts/controller_name_space/nested.rhtml +1 -0
  96. data/test/fixtures/layout_tests/layouts/item.rhtml +1 -0
  97. data/test/fixtures/layout_tests/layouts/layout_test.rhtml +1 -0
  98. data/test/fixtures/layout_tests/layouts/third_party_template_library.mab +1 -0
  99. data/test/fixtures/layout_tests/views/hello.rhtml +1 -0
  100. data/test/fixtures/multipart/mona_lisa.jpg +0 -0
  101. data/test/fixtures/project.rb +3 -0
  102. data/test/fixtures/projects.yml +7 -0
  103. data/test/fixtures/replies.yml +13 -0
  104. data/test/fixtures/reply.rb +5 -0
  105. data/test/fixtures/respond_to/all_types_with_layout.rhtml +1 -0
  106. data/test/fixtures/respond_to/all_types_with_layout.rjs +1 -0
  107. data/test/fixtures/respond_to/layouts/standard.rhtml +1 -0
  108. data/test/fixtures/respond_to/using_defaults.rhtml +1 -0
  109. data/test/fixtures/respond_to/using_defaults.rjs +1 -0
  110. data/test/fixtures/respond_to/using_defaults.rxml +1 -0
  111. data/test/fixtures/respond_to/using_defaults_with_type_list.rhtml +1 -0
  112. data/test/fixtures/respond_to/using_defaults_with_type_list.rjs +1 -0
  113. data/test/fixtures/respond_to/using_defaults_with_type_list.rxml +1 -0
  114. data/test/fixtures/test/block_content_for.rhtml +2 -0
  115. data/test/fixtures/test/delete_with_js.rjs +2 -0
  116. data/test/fixtures/test/dot.directory/render_file_with_ivar.rhtml +1 -0
  117. data/test/fixtures/test/enum_rjs_test.rjs +6 -0
  118. data/test/fixtures/test/erb_content_for.rhtml +2 -0
  119. data/test/fixtures/test/hello_world.rxml +3 -0
  120. data/test/fixtures/test/hello_world_with_layout_false.rhtml +1 -0
  121. data/test/fixtures/test/non_erb_block_content_for.rxml +4 -0
  122. data/test/fixtures/topic.rb +3 -0
  123. data/test/fixtures/topics.yml +22 -0
  124. data/test/template/active_record_helper_test.rb +4 -0
  125. data/test/template/asset_tag_helper_test.rb +7 -2
  126. data/test/template/date_helper_test.rb +39 -2
  127. data/test/template/form_helper_test.rb +238 -5
  128. data/test/template/form_options_helper_test.rb +78 -0
  129. data/test/template/form_tag_helper_test.rb +11 -0
  130. data/test/template/java_script_macros_helper_test.rb +51 -6
  131. data/test/template/javascript_helper_test.rb +7 -153
  132. data/test/template/number_helper_test.rb +14 -13
  133. data/test/template/prototype_helper_test.rb +423 -0
  134. data/test/template/scriptaculous_helper_test.rb +90 -0
  135. data/test/template/text_helper_test.rb +12 -9
  136. data/test/template/url_helper_test.rb +31 -15
  137. metadata +291 -246
  138. data/lib/action_controller/cgi_ext/multipart_progress.rb +0 -169
  139. data/lib/action_controller/upload_progress.rb +0 -473
  140. data/lib/action_controller/vendor/html-scanner/html/node.rb.rej +0 -17
  141. data/lib/action_view/helpers/upload_progress_helper.rb +0 -433
  142. data/lib/action_view/vendor/builder.rb +0 -13
  143. data/lib/action_view/vendor/builder/blankslate.rb +0 -53
  144. data/lib/action_view/vendor/builder/xmlbase.rb +0 -143
  145. data/lib/action_view/vendor/builder/xmlevents.rb +0 -63
  146. data/lib/action_view/vendor/builder/xmlmarkup.rb +0 -308
  147. data/test/controller/multipart_progress_testx.rb +0 -365
  148. data/test/controller/upload_progress_testx.rb +0 -89
  149. data/test/template/upload_progress_helper_testx.rb +0 -136
@@ -0,0 +1,90 @@
1
+ require File.dirname(__FILE__) + '/../abstract_unit'
2
+
3
+ class ScriptaculousHelperTest < Test::Unit::TestCase
4
+ include ActionView::Helpers::JavaScriptHelper
5
+ include ActionView::Helpers::PrototypeHelper
6
+ include ActionView::Helpers::ScriptaculousHelper
7
+
8
+ include ActionView::Helpers::UrlHelper
9
+ include ActionView::Helpers::TagHelper
10
+ include ActionView::Helpers::TextHelper
11
+ include ActionView::Helpers::FormHelper
12
+ include ActionView::Helpers::CaptureHelper
13
+
14
+ def setup
15
+ @controller = Class.new do
16
+ def url_for(options, *parameters_for_method_reference)
17
+ url = "http://www.example.com/"
18
+ url << options[:action].to_s if options and options[:action]
19
+ url
20
+ end
21
+ end.new
22
+ end
23
+
24
+ def test_effect
25
+ assert_equal "new Effect.Highlight(\"posts\",{});", visual_effect(:highlight, "posts")
26
+ assert_equal "new Effect.Highlight(\"posts\",{});", visual_effect("highlight", :posts)
27
+ assert_equal "new Effect.Highlight(\"posts\",{});", visual_effect(:highlight, :posts)
28
+ assert_equal "new Effect.Fade(\"fademe\",{duration:4.0});", visual_effect(:fade, "fademe", :duration => 4.0)
29
+ assert_equal "new Effect.Shake(element,{});", visual_effect(:shake)
30
+ assert_equal "new Effect.DropOut(\"dropme\",{queue:'end'});", visual_effect(:drop_out, 'dropme', :queue => :end)
31
+
32
+ # chop the queue params into a comma separated list
33
+ beginning, ending = 'new Effect.DropOut("dropme",{queue:{', '}});'
34
+ ve = [
35
+ visual_effect(:drop_out, 'dropme', :queue => {:position => "end", :scope => "test", :limit => 2}),
36
+ visual_effect(:drop_out, 'dropme', :queue => {:scope => :list, :limit => 2}),
37
+ visual_effect(:drop_out, 'dropme', :queue => {:position => :end, :scope => :test, :limit => 2})
38
+ ].collect { |v| v[beginning.length..-ending.length-1].split(',') }
39
+
40
+ assert ve[0].include?("limit:2")
41
+ assert ve[0].include?("scope:'test'")
42
+ assert ve[0].include?("position:'end'")
43
+
44
+ assert ve[1].include?("limit:2")
45
+ assert ve[1].include?("scope:'list'")
46
+
47
+ assert ve[2].include?("limit:2")
48
+ assert ve[2].include?("scope:'test'")
49
+ assert ve[2].include?("position:'end'")
50
+ end
51
+
52
+ def test_toggle_effects
53
+ assert_equal "Effect.toggle(\"posts\",'appear',{});", visual_effect(:toggle_appear, "posts")
54
+ assert_equal "Effect.toggle(\"posts\",'slide',{});", visual_effect(:toggle_slide, "posts")
55
+ assert_equal "Effect.toggle(\"posts\",'blind',{});", visual_effect(:toggle_blind, "posts")
56
+ assert_equal "Effect.toggle(\"posts\",'appear',{});", visual_effect("toggle_appear", "posts")
57
+ assert_equal "Effect.toggle(\"posts\",'slide',{});", visual_effect("toggle_slide", "posts")
58
+ assert_equal "Effect.toggle(\"posts\",'blind',{});", visual_effect("toggle_blind", "posts")
59
+ end
60
+
61
+
62
+ def test_sortable_element
63
+ assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nSortable.create(\"mylist\", {onUpdate:function(){new Ajax.Request('http://www.example.com/order', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize(\"mylist\")})}})\n//]]>\n</script>),
64
+ sortable_element("mylist", :url => { :action => "order" })
65
+ assert_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nSortable.create(\"mylist\", {constraint:'horizontal', onUpdate:function(){new Ajax.Request('http://www.example.com/order', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize(\"mylist\")})}, tag:'div'})\n//]]>\n</script>),
66
+ sortable_element("mylist", :tag => "div", :constraint => "horizontal", :url => { :action => "order" })
67
+ assert_dom_equal %|<script type=\"text/javascript\">\n//<![CDATA[\nSortable.create(\"mylist\", {constraint:'horizontal', containment:['list1','list2'], onUpdate:function(){new Ajax.Request('http://www.example.com/order', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize(\"mylist\")})}})\n//]]>\n</script>|,
68
+ sortable_element("mylist", :containment => ['list1','list2'], :constraint => "horizontal", :url => { :action => "order" })
69
+ assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nSortable.create(\"mylist\", {constraint:'horizontal', containment:'list1', onUpdate:function(){new Ajax.Request('http://www.example.com/order', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize(\"mylist\")})}})\n//]]>\n</script>),
70
+ sortable_element("mylist", :containment => 'list1', :constraint => "horizontal", :url => { :action => "order" })
71
+ end
72
+
73
+ def test_draggable_element
74
+ assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nnew Draggable(\"product_13\", {})\n//]]>\n</script>),
75
+ draggable_element("product_13")
76
+ assert_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nnew Draggable(\"product_13\", {revert:true})\n//]]>\n</script>),
77
+ draggable_element("product_13", :revert => true)
78
+ end
79
+
80
+ def test_drop_receiving_element
81
+ assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nDroppables.add(\"droptarget1\", {onDrop:function(element){new Ajax.Request('http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)})}})\n//]]>\n</script>),
82
+ drop_receiving_element("droptarget1")
83
+ assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nDroppables.add(\"droptarget1\", {accept:'products', onDrop:function(element){new Ajax.Request('http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)})}})\n//]]>\n</script>),
84
+ drop_receiving_element("droptarget1", :accept => 'products')
85
+ assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nDroppables.add(\"droptarget1\", {accept:'products', onDrop:function(element){new Ajax.Updater('infobox', 'http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)})}})\n//]]>\n</script>),
86
+ drop_receiving_element("droptarget1", :accept => 'products', :update => 'infobox')
87
+ assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nDroppables.add(\"droptarget1\", {accept:['tshirts','mugs'], onDrop:function(element){new Ajax.Updater('infobox', 'http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)})}})\n//]]>\n</script>),
88
+ drop_receiving_element("droptarget1", :accept => ['tshirts','mugs'], :update => 'infobox')
89
+ end
90
+ end
@@ -1,9 +1,5 @@
1
- require 'test/unit'
1
+ require File.dirname(__FILE__) + '/../abstract_unit'
2
2
  require "#{File.dirname(__FILE__)}/../testing_sandbox"
3
- require File.dirname(__FILE__) + '/../../lib/action_view/helpers/text_helper'
4
- require File.dirname(__FILE__) + '/../../../activesupport/lib/active_support/core_ext/numeric' # for human_size
5
- require File.dirname(__FILE__) + '/../../../activesupport/lib/active_support/core_ext/hash' # for stringify_keys
6
- require File.dirname(__FILE__) + '/../../../activesupport/lib/active_support/core_ext/object_and_class.rb' # for blank?
7
3
 
8
4
  class TextHelperTest < Test::Unit::TestCase
9
5
  include ActionView::Helpers::TextHelper
@@ -24,17 +20,18 @@ class TextHelperTest < Test::Unit::TestCase
24
20
 
25
21
  def test_truncate
26
22
  assert_equal "Hello World!", truncate("Hello World!", 12)
27
- assert_equal "Hello Worl...", truncate("Hello World!!", 12)
23
+ assert_equal "Hello Wor...", truncate("Hello World!!", 12)
28
24
  end
29
25
 
30
26
  def test_truncate_multibyte_without_kcode
31
27
  result = execute_in_sandbox(<<-'CODE')
28
+ require File.dirname(__FILE__) + '/../../activesupport/lib/active_support/core_ext/kernel'
32
29
  require "#{File.dirname(__FILE__)}/../lib/action_view/helpers/text_helper"
33
30
  include ActionView::Helpers::TextHelper
34
31
  truncate("\354\225\210\353\205\225\355\225\230\354\204\270\354\232\224", 10)
35
32
  CODE
36
33
 
37
- assert_equal "\354\225\210\353\205\225\355\225...", result
34
+ assert_equal "\354\225\210\353\205\225\355...", result
38
35
  end
39
36
 
40
37
  def test_truncate_multibyte_with_kcode
@@ -42,12 +39,13 @@ class TextHelperTest < Test::Unit::TestCase
42
39
  $KCODE = "u"
43
40
  require 'jcode'
44
41
 
42
+ require File.dirname(__FILE__) + '/../../activesupport/lib/active_support/core_ext/kernel'
45
43
  require "#{File.dirname(__FILE__)}/../lib/action_view/helpers/text_helper"
46
44
  include ActionView::Helpers::TextHelper
47
45
  truncate("\354\225\204\353\246\254\353\236\221 \354\225\204\353\246\254\353\236 \354\225\204\353\235\274\353\246\254\354\230\244", 10)
48
46
  CODE
49
47
 
50
- assert_equal "\354\225\204\353\246\254\353\236\221 \354\225\204\353\246\254\353\236 \354\225\204...", result
48
+ assert_equal "\354\225\204\353\246\254\353\236\221 \354\225\204\353\246\254\353\236 ...", result
51
49
  end
52
50
 
53
51
  def test_strip_links
@@ -128,6 +126,8 @@ class TextHelperTest < Test::Unit::TestCase
128
126
  link3_result = %{<a href="#{link3_raw}">#{link3_raw}</a>}
129
127
  link4_raw = 'http://foo.example.com/controller/action?parm=value&p2=v2#anchor123'
130
128
  link4_result = %{<a href="#{link4_raw}">#{link4_raw}</a>}
129
+ link5_raw = 'http://foo.example.com:3000/controller/action'
130
+ link5_result = %{<a href="#{link5_raw}">#{link5_raw}</a>}
131
131
 
132
132
  assert_equal %(hello #{email_result}), auto_link("hello #{email_raw}", :email_addresses)
133
133
  assert_equal %(Go to #{link_result}), auto_link("Go to #{link_raw}", :urls)
@@ -152,6 +152,9 @@ class TextHelperTest < Test::Unit::TestCase
152
152
  assert_equal %(<p>Go to #{link3_result}. seriously, #{link3_result}? i think I'll say hello to #{email_result}. instead.</p>), auto_link(%(<p>Go to #{link3_raw}. seriously, #{link3_raw}? i think I'll say hello to #{email_raw}. instead.</p>))
153
153
  assert_equal %(<p>Link #{link4_result}</p>), auto_link("<p>Link #{link4_raw}</p>")
154
154
  assert_equal %(<p>#{link4_result} Link</p>), auto_link("<p>#{link4_raw} Link</p>")
155
+ assert_equal %(<p>#{link5_result} Link</p>), auto_link("<p>#{link5_raw} Link</p>")
156
+ assert_equal '', auto_link(nil)
157
+ assert_equal '', auto_link('')
155
158
  end
156
159
 
157
160
  def test_auto_link_at_eol
@@ -165,7 +168,7 @@ class TextHelperTest < Test::Unit::TestCase
165
168
  url = "http://api.rubyonrails.com/Foo.html"
166
169
  email = "fantabulous@shiznadel.ic"
167
170
 
168
- assert_equal %(<p><a href="#{url}">#{url[0..7]}...</a><br /><a href="mailto:#{email}">#{email[0..7]}...</a><br /></p>), auto_link("<p>#{url}<br />#{email}<br /></p>") { |url| truncate(url, 10) }
171
+ assert_equal %(<p><a href="#{url}">#{url[0...7]}...</a><br /><a href="mailto:#{email}">#{email[0...7]}...</a><br /></p>), auto_link("<p>#{url}<br />#{email}<br /></p>") { |url| truncate(url, 10) }
169
172
  end
170
173
 
171
174
  def test_sanitize_form
@@ -13,13 +13,22 @@ class UrlHelperTest < Test::Unit::TestCase
13
13
 
14
14
  def setup
15
15
  @controller = Class.new do
16
+ attr_accessor :url
16
17
  def url_for(options, *parameters_for_method_reference)
17
- "http://www.example.com"
18
+ url
18
19
  end
19
20
  end
20
21
  @controller = @controller.new
22
+ @controller.url = "http://www.example.com"
21
23
  end
22
-
24
+
25
+ def test_url_for_escapes_urls
26
+ @controller.url = "http://www.example.com?a=b&c=d"
27
+ assert_equal "http://www.example.com?a=b&amp;c=d", url_for(:a => 'b', :c => 'd')
28
+ assert_equal "http://www.example.com?a=b&amp;c=d", url_for(:a => 'b', :c => 'd', :escape => true)
29
+ assert_equal "http://www.example.com?a=b&c=d", url_for(:a => 'b', :c => 'd', :escape => false)
30
+ end
31
+
23
32
  # todo: missing test cases
24
33
  def test_button_to_with_straight_url
25
34
  assert_dom_equal "<form method=\"post\" action=\"http://www.example.com\" class=\"button-to\"><div><input type=\"submit\" value=\"Hello\" /></div></form>", button_to("Hello", "http://www.example.com")
@@ -56,17 +65,25 @@ class UrlHelperTest < Test::Unit::TestCase
56
65
  end
57
66
 
58
67
  def test_link_tag_with_query
59
- assert_dom_equal "<a href=\"http://www.example.com?q1=v1&amp;q2=v2\">Hello</a>", link_to("Hello", "http://www.example.com?q1=v1&q2=v2")
68
+ assert_dom_equal "<a href=\"http://www.example.com?q1=v1&amp;q2=v2\">Hello</a>", link_to("Hello", "http://www.example.com?q1=v1&amp;q2=v2")
60
69
  end
61
70
 
62
71
  def test_link_tag_with_query_and_no_name
63
- assert_dom_equal "<a href=\"http://www.example.com?q1=v1&amp;q2=v2\">http://www.example.com?q1=v1&amp;q2=v2</a>", link_to(nil, "http://www.example.com?q1=v1&q2=v2")
72
+ assert_dom_equal "<a href=\"http://www.example.com?q1=v1&amp;q2=v2\">http://www.example.com?q1=v1&amp;q2=v2</a>", link_to(nil, "http://www.example.com?q1=v1&amp;q2=v2")
73
+ end
74
+
75
+ def test_link_tag_with_img
76
+ assert_dom_equal "<a href=\"http://www.example.com\"><img src='/favicon.jpg' /></a>", link_to("<img src='/favicon.jpg' />", "http://www.example.com")
77
+ end
78
+
79
+ def test_link_with_nil_html_options
80
+ assert_dom_equal "<a href=\"http://www.example.com\">Hello</a>", link_to("Hello", {:action => 'myaction'}, nil)
64
81
  end
65
82
 
66
83
  def test_link_tag_with_custom_onclick
67
84
  assert_dom_equal "<a href=\"http://www.example.com\" onclick=\"alert('yay!')\">Hello</a>", link_to("Hello", "http://www.example.com", :onclick => "alert('yay!')")
68
85
  end
69
-
86
+
70
87
  def test_link_tag_with_javascript_confirm
71
88
  assert_dom_equal(
72
89
  "<a href=\"http://www.example.com\" onclick=\"return confirm('Are you sure?');\">Hello</a>",
@@ -110,14 +127,14 @@ class UrlHelperTest < Test::Unit::TestCase
110
127
 
111
128
  def test_link_tag_using_post_javascript
112
129
  assert_dom_equal(
113
- "<a href=\"http://www.example.com\" onclick=\"f = document.createElement('form'); document.body.appendChild(f); f.method = 'POST'; f.action = this.href; f.submit();return false;\">Hello</a>",
130
+ "<a href=\"http://www.example.com\" onclick=\"var f = document.createElement('form'); this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href; f.submit();return false;\">Hello</a>",
114
131
  link_to("Hello", "http://www.example.com", :post => true)
115
132
  )
116
133
  end
117
134
 
118
135
  def test_link_tag_using_post_javascript_and_confirm
119
136
  assert_dom_equal(
120
- "<a href=\"http://www.example.com\" onclick=\"if (confirm('Are you serious?')) { f = document.createElement('form'); document.body.appendChild(f); f.method = 'POST'; f.action = this.href; f.submit(); };return false;\">Hello</a>",
137
+ "<a href=\"http://www.example.com\" onclick=\"if (confirm('Are you serious?')) { var f = document.createElement('form'); this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href; f.submit(); };return false;\">Hello</a>",
121
138
  link_to("Hello", "http://www.example.com", :post => true, :confirm => "Are you serious?")
122
139
  )
123
140
  end
@@ -147,7 +164,6 @@ class UrlHelperTest < Test::Unit::TestCase
147
164
  assert_equal "Showing", link_to_if(false, "Showing", :action => "show", :controller => "weblog", :id => 1)
148
165
  end
149
166
 
150
-
151
167
  def xtest_link_unless_current
152
168
  @request = RequestMock.new("http://www.example.com")
153
169
  assert_equal "Showing", link_to_unless_current("Showing", :action => "show", :controller => "weblog")
@@ -157,7 +173,7 @@ class UrlHelperTest < Test::Unit::TestCase
157
173
  @request = RequestMock.new("http://www.example.com")
158
174
  assert_equal "Showing", link_to_unless_current("Showing", :action => "show", :controller => "weblog", :id => 1)
159
175
  end
160
-
176
+
161
177
  def test_mail_to
162
178
  assert_dom_equal "<a href=\"mailto:david@loudthinking.com\">david@loudthinking.com</a>", mail_to("david@loudthinking.com")
163
179
  assert_dom_equal "<a href=\"mailto:david@loudthinking.com\">David Heinemeier Hansson</a>", mail_to("david@loudthinking.com", "David Heinemeier Hansson")
@@ -170,7 +186,7 @@ class UrlHelperTest < Test::Unit::TestCase
170
186
  end
171
187
 
172
188
  def test_mail_to_with_javascript
173
- assert_dom_equal "<script type=\"text/javascript\" language=\"javascript\">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%22%3e%4d%79%20%65%6d%61%69%6c%3c%2f%61%3e%27%29%3b'))</script>", mail_to("me@domain.com", "My email", :encode => "javascript")
189
+ assert_dom_equal "<script type=\"text/javascript\">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%22%3e%4d%79%20%65%6d%61%69%6c%3c%2f%61%3e%27%29%3b'))</script>", mail_to("me@domain.com", "My email", :encode => "javascript")
174
190
  end
175
191
 
176
192
  def test_mail_with_options
@@ -179,6 +195,10 @@ class UrlHelperTest < Test::Unit::TestCase
179
195
  mail_to("me@example.com", "My email", :cc => "ccaddress@example.com", :bcc => "bccaddress@example.com", :subject => "This is an example email", :body => "This is the body of the message.")
180
196
  )
181
197
  end
198
+
199
+ def test_mail_to_with_img
200
+ assert_dom_equal %(<a href="mailto:feedback@example.com"><img src="/feedback.png" /></a>), mail_to('feedback@example.com', '<img src="/feedback.png" />')
201
+ end
182
202
 
183
203
  def test_mail_to_with_hex
184
204
  assert_dom_equal "<a href=\"mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">My email</a>", mail_to("me@domain.com", "My email", :encode => "hex")
@@ -189,10 +209,6 @@ class UrlHelperTest < Test::Unit::TestCase
189
209
  assert_dom_equal "<a href=\"mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">me(at)domain.com</a>", mail_to("me@domain.com", nil, :encode => "hex", :replace_at => "(at)")
190
210
  assert_dom_equal "<a href=\"mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">My email</a>", mail_to("me@domain.com", "My email", :encode => "hex", :replace_at => "(at)")
191
211
  assert_dom_equal "<a href=\"mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">me(at)domain(dot)com</a>", mail_to("me@domain.com", nil, :encode => "hex", :replace_at => "(at)", :replace_dot => "(dot)")
192
- assert_dom_equal "<script type=\"text/javascript\" language=\"javascript\">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%22%3e%4d%79%20%65%6d%61%69%6c%3c%2f%61%3e%27%29%3b'))</script>", mail_to("me@domain.com", "My email", :encode => "javascript", :replace_at => "(at)", :replace_dot => "(dot)")
193
- end
194
-
195
- def test_link_with_nil_html_options
196
- assert_dom_equal "<a href=\"http://www.example.com\">Hello</a>", link_to("Hello", {:action => 'myaction'}, nil)
212
+ assert_dom_equal "<script type=\"text/javascript\">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%22%3e%4d%79%20%65%6d%61%69%6c%3c%2f%61%3e%27%29%3b'))</script>", mail_to("me@domain.com", "My email", :encode => "javascript", :replace_at => "(at)", :replace_dot => "(dot)")
197
213
  end
198
214
  end
metadata CHANGED
@@ -3,273 +3,318 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: actionpack
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.11.2
7
- date: 2005-12-13 00:00:00 -06:00
6
+ version: 1.12.0
7
+ date: 2006-03-27 00:00:00 -06:00
8
8
  summary: Web-flow and rendering framework putting the VC in MVC.
9
9
  require_paths:
10
- - lib
10
+ - lib
11
11
  email: david@loudthinking.com
12
12
  homepage: http://www.rubyonrails.org
13
13
  rubyforge_project: actionpack
14
- description: "Eases web-request routing, handling, and response as a half-way front, half-way
15
- page controller. Implemented with specific emphasis on enabling easy
16
- unit/integration testing that doesn't require a browser."
14
+ description: Eases web-request routing, handling, and response as a half-way front, half-way page controller. Implemented with specific emphasis on enabling easy unit/integration testing that doesn't require a browser.
17
15
  autorequire: action_controller
18
16
  default_executable:
19
17
  bindir: bin
20
18
  has_rdoc: true
21
19
  required_ruby_version: !ruby/object:Gem::Version::Requirement
22
20
  requirements:
23
- -
24
- - ">"
25
- - !ruby/object:Gem::Version
26
- version: 0.0.0
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
27
24
  version:
28
25
  platform: ruby
29
26
  signing_key:
30
27
  cert_chain:
31
28
  authors:
32
- - David Heinemeier Hansson
29
+ - David Heinemeier Hansson
33
30
  files:
34
- - rakefile
35
- - install.rb
36
- - README
37
- - RUNNING_UNIT_TESTS
38
- - CHANGELOG
39
- - MIT-LICENSE
40
- - examples/.htaccess
41
- - lib/action_controller
42
- - lib/action_controller.rb
43
- - lib/action_pack
44
- - lib/action_pack.rb
45
- - lib/action_view
46
- - lib/action_view.rb
47
- - lib/action_controller/assertions.rb
48
- - lib/action_controller/base.rb
49
- - lib/action_controller/benchmarking.rb
50
- - lib/action_controller/caching.rb
51
- - lib/action_controller/cgi_ext
52
- - lib/action_controller/cgi_process.rb
53
- - lib/action_controller/code_generation.rb
54
- - lib/action_controller/components.rb
55
- - lib/action_controller/cookies.rb
56
- - lib/action_controller/dependencies.rb
57
- - lib/action_controller/deprecated_assertions.rb
58
- - lib/action_controller/deprecated_redirects.rb
59
- - lib/action_controller/filters.rb
60
- - lib/action_controller/flash.rb
61
- - lib/action_controller/helpers.rb
62
- - lib/action_controller/layout.rb
63
- - lib/action_controller/macros
64
- - lib/action_controller/pagination.rb
65
- - lib/action_controller/request.rb
66
- - lib/action_controller/rescue.rb
67
- - lib/action_controller/response.rb
68
- - lib/action_controller/routing.rb
69
- - lib/action_controller/scaffolding.rb
70
- - lib/action_controller/session
71
- - lib/action_controller/session_management.rb
72
- - lib/action_controller/streaming.rb
73
- - lib/action_controller/templates
74
- - lib/action_controller/test_process.rb
75
- - lib/action_controller/upload_progress.rb
76
- - lib/action_controller/url_rewriter.rb
77
- - lib/action_controller/vendor
78
- - lib/action_controller/verification.rb
79
- - lib/action_controller/cgi_ext/cgi_ext.rb
80
- - lib/action_controller/cgi_ext/cgi_methods.rb
81
- - lib/action_controller/cgi_ext/cookie_performance_fix.rb
82
- - lib/action_controller/cgi_ext/multipart_progress.rb
83
- - lib/action_controller/cgi_ext/raw_post_data_fix.rb
84
- - lib/action_controller/macros/auto_complete.rb
85
- - lib/action_controller/macros/in_place_editing.rb
86
- - lib/action_controller/session/active_record_store.rb
87
- - lib/action_controller/session/drb_server.rb
88
- - lib/action_controller/session/drb_store.rb
89
- - lib/action_controller/session/mem_cache_store.rb
90
- - lib/action_controller/templates/rescues
91
- - lib/action_controller/templates/scaffolds
92
- - lib/action_controller/templates/rescues/_request_and_response.rhtml
93
- - lib/action_controller/templates/rescues/_trace.rhtml
94
- - lib/action_controller/templates/rescues/diagnostics.rhtml
95
- - lib/action_controller/templates/rescues/layout.rhtml
96
- - lib/action_controller/templates/rescues/missing_template.rhtml
97
- - lib/action_controller/templates/rescues/routing_error.rhtml
98
- - lib/action_controller/templates/rescues/template_error.rhtml
99
- - lib/action_controller/templates/rescues/unknown_action.rhtml
100
- - lib/action_controller/templates/scaffolds/edit.rhtml
101
- - lib/action_controller/templates/scaffolds/layout.rhtml
102
- - lib/action_controller/templates/scaffolds/list.rhtml
103
- - lib/action_controller/templates/scaffolds/new.rhtml
104
- - lib/action_controller/templates/scaffolds/show.rhtml
105
- - lib/action_controller/vendor/html-scanner
106
- - lib/action_controller/vendor/xml_simple.rb
107
- - lib/action_controller/vendor/html-scanner/html
108
- - lib/action_controller/vendor/html-scanner/html/document.rb
109
- - lib/action_controller/vendor/html-scanner/html/node.rb
110
- - lib/action_controller/vendor/html-scanner/html/node.rb.rej
111
- - lib/action_controller/vendor/html-scanner/html/tokenizer.rb
112
- - lib/action_controller/vendor/html-scanner/html/version.rb
113
- - lib/action_pack/version.rb
114
- - lib/action_view/base.rb
115
- - lib/action_view/compiled_templates.rb
116
- - lib/action_view/helpers
117
- - lib/action_view/partials.rb
118
- - lib/action_view/template_error.rb
119
- - lib/action_view/vendor
120
- - lib/action_view/helpers/active_record_helper.rb
121
- - lib/action_view/helpers/asset_tag_helper.rb
122
- - lib/action_view/helpers/benchmark_helper.rb
123
- - lib/action_view/helpers/cache_helper.rb
124
- - lib/action_view/helpers/capture_helper.rb
125
- - lib/action_view/helpers/date_helper.rb
126
- - lib/action_view/helpers/debug_helper.rb
127
- - lib/action_view/helpers/form_helper.rb
128
- - lib/action_view/helpers/form_options_helper.rb
129
- - lib/action_view/helpers/form_tag_helper.rb
130
- - lib/action_view/helpers/java_script_macros_helper.rb
131
- - lib/action_view/helpers/javascript_helper.rb
132
- - lib/action_view/helpers/javascripts
133
- - lib/action_view/helpers/number_helper.rb
134
- - lib/action_view/helpers/pagination_helper.rb
135
- - lib/action_view/helpers/tag_helper.rb
136
- - lib/action_view/helpers/text_helper.rb
137
- - lib/action_view/helpers/upload_progress_helper.rb
138
- - lib/action_view/helpers/url_helper.rb
139
- - lib/action_view/helpers/javascripts/controls.js
140
- - lib/action_view/helpers/javascripts/dragdrop.js
141
- - lib/action_view/helpers/javascripts/effects.js
142
- - lib/action_view/helpers/javascripts/prototype.js
143
- - lib/action_view/vendor/builder
144
- - lib/action_view/vendor/builder.rb
145
- - lib/action_view/vendor/builder/blankslate.rb
146
- - lib/action_view/vendor/builder/xmlbase.rb
147
- - lib/action_view/vendor/builder/xmlevents.rb
148
- - lib/action_view/vendor/builder/xmlmarkup.rb
149
- - test/abstract_unit.rb
150
- - test/controller
151
- - test/fixtures
152
- - test/temp
153
- - test/template
154
- - test/testing_sandbox.rb
155
- - test/controller/action_pack_assertions_test.rb
156
- - test/controller/active_record_assertions_test.rb
157
- - test/controller/active_record_store_test.rb
158
- - test/controller/addresses_render_test.rb
159
- - test/controller/base_test.rb
160
- - test/controller/benchmark_test.rb
161
- - test/controller/caching_filestore.rb
162
- - test/controller/capture_test.rb
163
- - test/controller/cgi_test.rb
164
- - test/controller/components_test.rb
165
- - test/controller/cookie_test.rb
166
- - test/controller/custom_handler_test.rb
167
- - test/controller/fake_controllers.rb
168
- - test/controller/filters_test.rb
169
- - test/controller/flash_test.rb
170
- - test/controller/fragment_store_setting_test.rb
171
- - test/controller/helper_test.rb
172
- - test/controller/multipart_progress_testx.rb
173
- - test/controller/new_render_test.rb
174
- - test/controller/raw_post_test.rb
175
- - test/controller/redirect_test.rb
176
- - test/controller/render_test.rb
177
- - test/controller/request_test.rb
178
- - test/controller/routing_test.rb
179
- - test/controller/send_file_test.rb
180
- - test/controller/session_management_test.rb
181
- - test/controller/test_test.rb
182
- - test/controller/upload_progress_testx.rb
183
- - test/controller/url_rewriter_test.rb
184
- - test/controller/verification_test.rb
185
- - test/fixtures/addresses
186
- - test/fixtures/fun
187
- - test/fixtures/helpers
188
- - test/fixtures/layouts
189
- - test/fixtures/multipart
190
- - test/fixtures/scope
191
- - test/fixtures/test
192
- - test/fixtures/addresses/list.rhtml
193
- - test/fixtures/fun/games
194
- - test/fixtures/fun/games/hello_world.rhtml
195
- - test/fixtures/helpers/abc_helper.rb
196
- - test/fixtures/helpers/fun
197
- - test/fixtures/helpers/fun/games_helper.rb
198
- - test/fixtures/helpers/fun/pdf_helper.rb
199
- - test/fixtures/layouts/builder.rxml
200
- - test/fixtures/layouts/standard.rhtml
201
- - test/fixtures/layouts/talk_from_action.rhtml
202
- - test/fixtures/layouts/yield.rhtml
203
- - test/fixtures/multipart/binary_file
204
- - test/fixtures/multipart/large_text_file
205
- - test/fixtures/multipart/mixed_files
206
- - test/fixtures/multipart/single_parameter
207
- - test/fixtures/multipart/text_file
208
- - test/fixtures/scope/test
209
- - test/fixtures/scope/test/modgreet.rhtml
210
- - test/fixtures/test/_customer.rhtml
211
- - test/fixtures/test/_customer_greeting.rhtml
212
- - test/fixtures/test/_hash_object.rhtml
213
- - test/fixtures/test/_partial_only.rhtml
214
- - test/fixtures/test/_person.rhtml
215
- - test/fixtures/test/action_talk_to_layout.rhtml
216
- - test/fixtures/test/capturing.rhtml
217
- - test/fixtures/test/content_for.rhtml
218
- - test/fixtures/test/greeting.rhtml
219
- - test/fixtures/test/hello.rxml
220
- - test/fixtures/test/hello_world.rhtml
221
- - test/fixtures/test/hello_xml_world.rxml
222
- - test/fixtures/test/list.rhtml
223
- - test/fixtures/test/potential_conflicts.rhtml
224
- - test/fixtures/test/render_file_with_ivar.rhtml
225
- - test/fixtures/test/render_file_with_locals.rhtml
226
- - test/fixtures/test/render_to_string_test.rhtml
227
- - test/fixtures/test/update_element_with_capture.rhtml
228
- - test/template/active_record_helper_test.rb
229
- - test/template/asset_tag_helper_test.rb
230
- - test/template/benchmark_helper_test.rb
231
- - test/template/compiled_templates_tests.rb
232
- - test/template/date_helper_test.rb
233
- - test/template/form_helper_test.rb
234
- - test/template/form_options_helper_test.rb
235
- - test/template/form_tag_helper_test.rb
236
- - test/template/java_script_macros_helper_test.rb
237
- - test/template/javascript_helper_test.rb
238
- - test/template/number_helper_test.rb
239
- - test/template/tag_helper_test.rb
240
- - test/template/text_helper_test.rb
241
- - test/template/upload_progress_helper_testx.rb
242
- - test/template/url_helper_test.rb
243
- - examples/address_book
244
- - examples/address_book_controller.cgi
245
- - examples/address_book_controller.fcgi
246
- - examples/address_book_controller.rb
247
- - examples/address_book_controller.rbx
248
- - examples/benchmark.rb
249
- - examples/benchmark_with_ar.fcgi
250
- - examples/blog_controller.cgi
251
- - examples/debate
252
- - examples/debate_controller.cgi
253
- - examples/address_book/index.rhtml
254
- - examples/address_book/layout.rhtml
255
- - examples/debate/index.rhtml
256
- - examples/debate/new_topic.rhtml
257
- - examples/debate/topic.rhtml
31
+ - rakefile
32
+ - install.rb
33
+ - README
34
+ - RUNNING_UNIT_TESTS
35
+ - CHANGELOG
36
+ - MIT-LICENSE
37
+ - examples/.htaccess
38
+ - lib/action_controller
39
+ - lib/action_controller.rb
40
+ - lib/action_pack
41
+ - lib/action_pack.rb
42
+ - lib/action_view
43
+ - lib/action_view.rb
44
+ - lib/action_controller/assertions.rb
45
+ - lib/action_controller/base.rb
46
+ - lib/action_controller/benchmarking.rb
47
+ - lib/action_controller/caching.rb
48
+ - lib/action_controller/cgi_ext
49
+ - lib/action_controller/cgi_process.rb
50
+ - lib/action_controller/code_generation.rb
51
+ - lib/action_controller/components.rb
52
+ - lib/action_controller/cookies.rb
53
+ - lib/action_controller/dependencies.rb
54
+ - lib/action_controller/deprecated_assertions.rb
55
+ - lib/action_controller/deprecated_redirects.rb
56
+ - lib/action_controller/deprecated_request_methods.rb
57
+ - lib/action_controller/filters.rb
58
+ - lib/action_controller/flash.rb
59
+ - lib/action_controller/helpers.rb
60
+ - lib/action_controller/integration.rb
61
+ - lib/action_controller/layout.rb
62
+ - lib/action_controller/macros
63
+ - lib/action_controller/mime_responds.rb
64
+ - lib/action_controller/mime_type.rb
65
+ - lib/action_controller/pagination.rb
66
+ - lib/action_controller/request.rb
67
+ - lib/action_controller/rescue.rb
68
+ - lib/action_controller/response.rb
69
+ - lib/action_controller/routing.rb
70
+ - lib/action_controller/scaffolding.rb
71
+ - lib/action_controller/session
72
+ - lib/action_controller/session_management.rb
73
+ - lib/action_controller/streaming.rb
74
+ - lib/action_controller/templates
75
+ - lib/action_controller/test_process.rb
76
+ - lib/action_controller/url_rewriter.rb
77
+ - lib/action_controller/vendor
78
+ - lib/action_controller/verification.rb
79
+ - lib/action_controller/cgi_ext/cgi_ext.rb
80
+ - lib/action_controller/cgi_ext/cgi_methods.rb
81
+ - lib/action_controller/cgi_ext/cookie_performance_fix.rb
82
+ - lib/action_controller/cgi_ext/raw_post_data_fix.rb
83
+ - lib/action_controller/macros/auto_complete.rb
84
+ - lib/action_controller/macros/in_place_editing.rb
85
+ - lib/action_controller/session/active_record_store.rb
86
+ - lib/action_controller/session/drb_server.rb
87
+ - lib/action_controller/session/drb_store.rb
88
+ - lib/action_controller/session/mem_cache_store.rb
89
+ - lib/action_controller/templates/rescues
90
+ - lib/action_controller/templates/scaffolds
91
+ - lib/action_controller/templates/rescues/_request_and_response.rhtml
92
+ - lib/action_controller/templates/rescues/_trace.rhtml
93
+ - lib/action_controller/templates/rescues/diagnostics.rhtml
94
+ - lib/action_controller/templates/rescues/layout.rhtml
95
+ - lib/action_controller/templates/rescues/missing_template.rhtml
96
+ - lib/action_controller/templates/rescues/routing_error.rhtml
97
+ - lib/action_controller/templates/rescues/template_error.rhtml
98
+ - lib/action_controller/templates/rescues/unknown_action.rhtml
99
+ - lib/action_controller/templates/scaffolds/edit.rhtml
100
+ - lib/action_controller/templates/scaffolds/layout.rhtml
101
+ - lib/action_controller/templates/scaffolds/list.rhtml
102
+ - lib/action_controller/templates/scaffolds/new.rhtml
103
+ - lib/action_controller/templates/scaffolds/show.rhtml
104
+ - lib/action_controller/vendor/html-scanner
105
+ - lib/action_controller/vendor/xml_node.rb
106
+ - lib/action_controller/vendor/xml_simple.rb
107
+ - lib/action_controller/vendor/html-scanner/html
108
+ - lib/action_controller/vendor/html-scanner/html/document.rb
109
+ - lib/action_controller/vendor/html-scanner/html/node.rb
110
+ - lib/action_controller/vendor/html-scanner/html/tokenizer.rb
111
+ - lib/action_controller/vendor/html-scanner/html/version.rb
112
+ - lib/action_pack/version.rb
113
+ - lib/action_view/base.rb
114
+ - lib/action_view/compiled_templates.rb
115
+ - lib/action_view/helpers
116
+ - lib/action_view/partials.rb
117
+ - lib/action_view/template_error.rb
118
+ - lib/action_view/helpers/active_record_helper.rb
119
+ - lib/action_view/helpers/asset_tag_helper.rb
120
+ - lib/action_view/helpers/benchmark_helper.rb
121
+ - lib/action_view/helpers/cache_helper.rb
122
+ - lib/action_view/helpers/capture_helper.rb
123
+ - lib/action_view/helpers/date_helper.rb
124
+ - lib/action_view/helpers/debug_helper.rb
125
+ - lib/action_view/helpers/form_helper.rb
126
+ - lib/action_view/helpers/form_options_helper.rb
127
+ - lib/action_view/helpers/form_tag_helper.rb
128
+ - lib/action_view/helpers/java_script_macros_helper.rb
129
+ - lib/action_view/helpers/javascript_helper.rb
130
+ - lib/action_view/helpers/javascripts
131
+ - lib/action_view/helpers/number_helper.rb
132
+ - lib/action_view/helpers/pagination_helper.rb
133
+ - lib/action_view/helpers/prototype_helper.rb
134
+ - lib/action_view/helpers/scriptaculous_helper.rb
135
+ - lib/action_view/helpers/tag_helper.rb
136
+ - lib/action_view/helpers/text_helper.rb
137
+ - lib/action_view/helpers/url_helper.rb
138
+ - lib/action_view/helpers/javascripts/controls.js
139
+ - lib/action_view/helpers/javascripts/dragdrop.js
140
+ - lib/action_view/helpers/javascripts/effects.js
141
+ - lib/action_view/helpers/javascripts/prototype.js
142
+ - test/abstract_unit.rb
143
+ - test/active_record_unit.rb
144
+ - test/activerecord
145
+ - test/controller
146
+ - test/fixtures
147
+ - test/template
148
+ - test/testing_sandbox.rb
149
+ - test/activerecord/active_record_assertions_test.rb
150
+ - test/activerecord/active_record_store_test.rb
151
+ - test/activerecord/pagination_test.rb
152
+ - test/controller/action_pack_assertions_test.rb
153
+ - test/controller/addresses_render_test.rb
154
+ - test/controller/base_test.rb
155
+ - test/controller/benchmark_test.rb
156
+ - test/controller/caching_filestore.rb
157
+ - test/controller/capture_test.rb
158
+ - test/controller/cgi_test.rb
159
+ - test/controller/components_test.rb
160
+ - test/controller/cookie_test.rb
161
+ - test/controller/custom_handler_test.rb
162
+ - test/controller/fake_controllers.rb
163
+ - test/controller/filters_test.rb
164
+ - test/controller/flash_test.rb
165
+ - test/controller/fragment_store_setting_test.rb
166
+ - test/controller/helper_test.rb
167
+ - test/controller/layout_test.rb
168
+ - test/controller/mime_responds_test.rb
169
+ - test/controller/mime_type_test.rb
170
+ - test/controller/new_render_test.rb
171
+ - test/controller/raw_post_test.rb
172
+ - test/controller/redirect_test.rb
173
+ - test/controller/render_test.rb
174
+ - test/controller/request_test.rb
175
+ - test/controller/routing_test.rb
176
+ - test/controller/send_file_test.rb
177
+ - test/controller/session_management_test.rb
178
+ - test/controller/test_test.rb
179
+ - test/controller/url_rewriter_test.rb
180
+ - test/controller/verification_test.rb
181
+ - test/controller/webservice_test.rb
182
+ - test/fixtures/addresses
183
+ - test/fixtures/companies.yml
184
+ - test/fixtures/company.rb
185
+ - test/fixtures/db_definitions
186
+ - test/fixtures/developer.rb
187
+ - test/fixtures/developers.yml
188
+ - test/fixtures/developers_projects.yml
189
+ - test/fixtures/fun
190
+ - test/fixtures/helpers
191
+ - test/fixtures/layout_tests
192
+ - test/fixtures/layouts
193
+ - test/fixtures/multipart
194
+ - test/fixtures/project.rb
195
+ - test/fixtures/projects.yml
196
+ - test/fixtures/replies.yml
197
+ - test/fixtures/reply.rb
198
+ - test/fixtures/respond_to
199
+ - test/fixtures/scope
200
+ - test/fixtures/test
201
+ - test/fixtures/topic.rb
202
+ - test/fixtures/topics.yml
203
+ - test/fixtures/addresses/list.rhtml
204
+ - test/fixtures/db_definitions/sqlite.sql
205
+ - test/fixtures/fun/games
206
+ - test/fixtures/fun/games/hello_world.rhtml
207
+ - test/fixtures/helpers/abc_helper.rb
208
+ - test/fixtures/helpers/fun
209
+ - test/fixtures/helpers/fun/games_helper.rb
210
+ - test/fixtures/helpers/fun/pdf_helper.rb
211
+ - test/fixtures/layout_tests/layouts
212
+ - test/fixtures/layout_tests/views
213
+ - test/fixtures/layout_tests/layouts/controller_name_space
214
+ - test/fixtures/layout_tests/layouts/item.rhtml
215
+ - test/fixtures/layout_tests/layouts/layout_test.rhtml
216
+ - test/fixtures/layout_tests/layouts/third_party_template_library.mab
217
+ - test/fixtures/layout_tests/layouts/controller_name_space/nested.rhtml
218
+ - test/fixtures/layout_tests/views/hello.rhtml
219
+ - test/fixtures/layouts/builder.rxml
220
+ - test/fixtures/layouts/standard.rhtml
221
+ - test/fixtures/layouts/talk_from_action.rhtml
222
+ - test/fixtures/layouts/yield.rhtml
223
+ - test/fixtures/multipart/binary_file
224
+ - test/fixtures/multipart/large_text_file
225
+ - test/fixtures/multipart/mixed_files
226
+ - test/fixtures/multipart/mona_lisa.jpg
227
+ - test/fixtures/multipart/single_parameter
228
+ - test/fixtures/multipart/text_file
229
+ - test/fixtures/respond_to/all_types_with_layout.rhtml
230
+ - test/fixtures/respond_to/all_types_with_layout.rjs
231
+ - test/fixtures/respond_to/layouts
232
+ - test/fixtures/respond_to/using_defaults.rhtml
233
+ - test/fixtures/respond_to/using_defaults.rjs
234
+ - test/fixtures/respond_to/using_defaults.rxml
235
+ - test/fixtures/respond_to/using_defaults_with_type_list.rhtml
236
+ - test/fixtures/respond_to/using_defaults_with_type_list.rjs
237
+ - test/fixtures/respond_to/using_defaults_with_type_list.rxml
238
+ - test/fixtures/respond_to/layouts/standard.rhtml
239
+ - test/fixtures/scope/test
240
+ - test/fixtures/scope/test/modgreet.rhtml
241
+ - test/fixtures/test/_customer.rhtml
242
+ - test/fixtures/test/_customer_greeting.rhtml
243
+ - test/fixtures/test/_hash_object.rhtml
244
+ - test/fixtures/test/_partial_only.rhtml
245
+ - test/fixtures/test/_person.rhtml
246
+ - test/fixtures/test/action_talk_to_layout.rhtml
247
+ - test/fixtures/test/block_content_for.rhtml
248
+ - test/fixtures/test/capturing.rhtml
249
+ - test/fixtures/test/content_for.rhtml
250
+ - test/fixtures/test/delete_with_js.rjs
251
+ - test/fixtures/test/dot.directory
252
+ - test/fixtures/test/enum_rjs_test.rjs
253
+ - test/fixtures/test/erb_content_for.rhtml
254
+ - test/fixtures/test/greeting.rhtml
255
+ - test/fixtures/test/hello.rxml
256
+ - test/fixtures/test/hello_world.rhtml
257
+ - test/fixtures/test/hello_world.rxml
258
+ - test/fixtures/test/hello_world_with_layout_false.rhtml
259
+ - test/fixtures/test/hello_xml_world.rxml
260
+ - test/fixtures/test/list.rhtml
261
+ - test/fixtures/test/non_erb_block_content_for.rxml
262
+ - test/fixtures/test/potential_conflicts.rhtml
263
+ - test/fixtures/test/render_file_with_ivar.rhtml
264
+ - test/fixtures/test/render_file_with_locals.rhtml
265
+ - test/fixtures/test/render_to_string_test.rhtml
266
+ - test/fixtures/test/update_element_with_capture.rhtml
267
+ - test/fixtures/test/dot.directory/render_file_with_ivar.rhtml
268
+ - test/template/active_record_helper_test.rb
269
+ - test/template/asset_tag_helper_test.rb
270
+ - test/template/benchmark_helper_test.rb
271
+ - test/template/compiled_templates_tests.rb
272
+ - test/template/date_helper_test.rb
273
+ - test/template/form_helper_test.rb
274
+ - test/template/form_options_helper_test.rb
275
+ - test/template/form_tag_helper_test.rb
276
+ - test/template/java_script_macros_helper_test.rb
277
+ - test/template/javascript_helper_test.rb
278
+ - test/template/number_helper_test.rb
279
+ - test/template/prototype_helper_test.rb
280
+ - test/template/scriptaculous_helper_test.rb
281
+ - test/template/tag_helper_test.rb
282
+ - test/template/text_helper_test.rb
283
+ - test/template/url_helper_test.rb
284
+ - examples/address_book
285
+ - examples/address_book_controller.cgi
286
+ - examples/address_book_controller.fcgi
287
+ - examples/address_book_controller.rb
288
+ - examples/address_book_controller.rbx
289
+ - examples/benchmark.rb
290
+ - examples/benchmark_with_ar.fcgi
291
+ - examples/blog_controller.cgi
292
+ - examples/debate
293
+ - examples/debate_controller.cgi
294
+ - examples/address_book/index.rhtml
295
+ - examples/address_book/layout.rhtml
296
+ - examples/debate/index.rhtml
297
+ - examples/debate/new_topic.rhtml
298
+ - examples/debate/topic.rhtml
258
299
  test_files: []
300
+
259
301
  rdoc_options: []
302
+
260
303
  extra_rdoc_files: []
304
+
261
305
  executables: []
306
+
262
307
  extensions: []
308
+
263
309
  requirements:
264
- - none
310
+ - none
265
311
  dependencies:
266
- - !ruby/object:Gem::Dependency
267
- name: activesupport
268
- version_requirement:
269
- version_requirements: !ruby/object:Gem::Version::Requirement
270
- requirements:
271
- -
272
- - "="
273
- - !ruby/object:Gem::Version
274
- version: 1.2.5
275
- version:
312
+ - !ruby/object:Gem::Dependency
313
+ name: activesupport
314
+ version_requirement:
315
+ version_requirements: !ruby/object:Gem::Version::Requirement
316
+ requirements:
317
+ - - "="
318
+ - !ruby/object:Gem::Version
319
+ version: 1.3.0
320
+ version: