actionpack 2.0.5 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +149 -7
- data/MIT-LICENSE +1 -1
- data/README +1 -1
- data/Rakefile +5 -6
- data/lib/action_controller.rb +2 -2
- data/lib/action_controller/assertions/model_assertions.rb +2 -1
- data/lib/action_controller/assertions/response_assertions.rb +4 -2
- data/lib/action_controller/assertions/routing_assertions.rb +3 -3
- data/lib/action_controller/assertions/selector_assertions.rb +30 -27
- data/lib/action_controller/assertions/tag_assertions.rb +3 -3
- data/lib/action_controller/base.rb +103 -129
- data/lib/action_controller/benchmarking.rb +3 -3
- data/lib/action_controller/caching.rb +41 -652
- data/lib/action_controller/caching/actions.rb +144 -0
- data/lib/action_controller/caching/fragments.rb +138 -0
- data/lib/action_controller/caching/pages.rb +154 -0
- data/lib/action_controller/caching/sql_cache.rb +18 -0
- data/lib/action_controller/caching/sweeping.rb +97 -0
- data/lib/action_controller/cgi_ext/cookie.rb +27 -23
- data/lib/action_controller/cgi_ext/stdinput.rb +1 -0
- data/lib/action_controller/cgi_process.rb +6 -4
- data/lib/action_controller/components.rb +7 -6
- data/lib/action_controller/cookies.rb +31 -19
- data/lib/action_controller/dispatcher.rb +51 -84
- data/lib/action_controller/filters.rb +295 -421
- data/lib/action_controller/flash.rb +1 -6
- data/lib/action_controller/headers.rb +31 -0
- data/lib/action_controller/helpers.rb +26 -9
- data/lib/action_controller/http_authentication.rb +1 -1
- data/lib/action_controller/integration.rb +65 -13
- data/lib/action_controller/layout.rb +24 -39
- data/lib/action_controller/mime_responds.rb +7 -3
- data/lib/action_controller/mime_type.rb +25 -9
- data/lib/action_controller/mime_types.rb +1 -1
- data/lib/action_controller/polymorphic_routes.rb +32 -17
- data/lib/action_controller/record_identifier.rb +10 -4
- data/lib/action_controller/request.rb +46 -30
- data/lib/action_controller/request_forgery_protection.rb +10 -9
- data/lib/action_controller/request_profiler.rb +29 -8
- data/lib/action_controller/rescue.rb +24 -24
- data/lib/action_controller/resources.rb +66 -23
- data/lib/action_controller/response.rb +2 -2
- data/lib/action_controller/routing.rb +113 -1229
- data/lib/action_controller/routing/builder.rb +204 -0
- data/lib/action_controller/{routing_optimisation.rb → routing/optimisations.rb} +13 -12
- data/lib/action_controller/routing/recognition_optimisation.rb +158 -0
- data/lib/action_controller/routing/route.rb +240 -0
- data/lib/action_controller/routing/route_set.rb +435 -0
- data/lib/action_controller/routing/routing_ext.rb +46 -0
- data/lib/action_controller/routing/segments.rb +283 -0
- data/lib/action_controller/session/active_record_store.rb +13 -8
- data/lib/action_controller/session/cookie_store.rb +20 -17
- data/lib/action_controller/session_management.rb +10 -3
- data/lib/action_controller/streaming.rb +45 -31
- data/lib/action_controller/test_case.rb +33 -23
- data/lib/action_controller/test_process.rb +39 -35
- data/lib/action_controller/url_rewriter.rb +18 -12
- data/lib/action_controller/vendor/html-scanner/html/tokenizer.rb +1 -1
- data/lib/action_pack.rb +1 -1
- data/lib/action_pack/version.rb +2 -2
- data/lib/action_view.rb +11 -3
- data/lib/action_view/base.rb +73 -390
- data/lib/action_view/helpers/active_record_helper.rb +83 -62
- data/lib/action_view/helpers/asset_tag_helper.rb +101 -44
- data/lib/action_view/helpers/atom_feed_helper.rb +35 -7
- data/lib/action_view/helpers/benchmark_helper.rb +5 -3
- data/lib/action_view/helpers/cache_helper.rb +3 -2
- data/lib/action_view/helpers/capture_helper.rb +1 -2
- data/lib/action_view/helpers/date_helper.rb +104 -82
- data/lib/action_view/helpers/form_helper.rb +148 -75
- data/lib/action_view/helpers/form_options_helper.rb +44 -23
- data/lib/action_view/helpers/form_tag_helper.rb +22 -13
- data/lib/action_view/helpers/javascripts/controls.js +1 -1
- data/lib/action_view/helpers/javascripts/dragdrop.js +1 -1
- data/lib/action_view/helpers/javascripts/effects.js +1 -1
- data/lib/action_view/helpers/number_helper.rb +10 -3
- data/lib/action_view/helpers/prototype_helper.rb +61 -29
- data/lib/action_view/helpers/record_tag_helper.rb +3 -3
- data/lib/action_view/helpers/sanitize_helper.rb +23 -17
- data/lib/action_view/helpers/scriptaculous_helper.rb +86 -60
- data/lib/action_view/helpers/text_helper.rb +153 -125
- data/lib/action_view/helpers/url_helper.rb +83 -28
- data/lib/action_view/inline_template.rb +20 -0
- data/lib/action_view/partial_template.rb +70 -0
- data/lib/action_view/partials.rb +31 -73
- data/lib/action_view/template.rb +127 -0
- data/lib/action_view/template_error.rb +8 -7
- data/lib/action_view/template_finder.rb +177 -0
- data/lib/action_view/template_handler.rb +18 -1
- data/lib/action_view/template_handlers/builder.rb +10 -2
- data/lib/action_view/template_handlers/compilable.rb +128 -0
- data/lib/action_view/template_handlers/erb.rb +37 -2
- data/lib/action_view/template_handlers/rjs.rb +14 -1
- data/lib/action_view/test_case.rb +58 -0
- data/test/abstract_unit.rb +1 -1
- data/test/active_record_unit.rb +3 -6
- data/test/activerecord/active_record_store_test.rb +1 -2
- data/test/activerecord/render_partial_with_record_identification_test.rb +158 -41
- data/test/adv_attr_test.rb +20 -0
- data/test/controller/action_pack_assertions_test.rb +16 -19
- data/test/controller/addresses_render_test.rb +1 -1
- data/test/controller/assert_select_test.rb +13 -6
- data/test/controller/base_test.rb +48 -2
- data/test/controller/benchmark_test.rb +1 -2
- data/test/controller/caching_test.rb +282 -21
- data/test/controller/capture_test.rb +1 -1
- data/test/controller/cgi_test.rb +1 -1
- data/test/controller/components_test.rb +1 -1
- data/test/controller/content_type_test.rb +2 -2
- data/test/controller/cookie_test.rb +13 -2
- data/test/controller/custom_handler_test.rb +14 -10
- data/test/controller/deprecation/deprecated_base_methods_test.rb +1 -1
- data/test/controller/dispatcher_test.rb +31 -49
- data/test/controller/fake_controllers.rb +17 -0
- data/test/controller/fake_models.rb +6 -0
- data/test/controller/filter_params_test.rb +14 -8
- data/test/controller/filters_test.rb +44 -16
- data/test/controller/flash_test.rb +2 -2
- data/test/controller/header_test.rb +14 -0
- data/test/controller/helper_test.rb +19 -15
- data/test/controller/html-scanner/document_test.rb +1 -2
- data/test/controller/html-scanner/node_test.rb +1 -2
- data/test/controller/html-scanner/sanitizer_test.rb +8 -5
- data/test/controller/html-scanner/tag_node_test.rb +1 -2
- data/test/controller/html-scanner/text_node_test.rb +2 -3
- data/test/controller/html-scanner/tokenizer_test.rb +8 -2
- data/test/controller/http_authentication_test.rb +1 -1
- data/test/controller/integration_test.rb +14 -16
- data/test/controller/integration_upload_test.rb +43 -0
- data/test/controller/layout_test.rb +26 -6
- data/test/controller/mime_responds_test.rb +39 -7
- data/test/controller/mime_type_test.rb +29 -5
- data/test/controller/new_render_test.rb +105 -34
- data/test/controller/polymorphic_routes_test.rb +32 -20
- data/test/controller/record_identifier_test.rb +38 -2
- data/test/controller/redirect_test.rb +21 -1
- data/test/controller/render_test.rb +59 -15
- data/test/controller/request_forgery_protection_test.rb +92 -5
- data/test/controller/request_test.rb +64 -6
- data/test/controller/rescue_test.rb +22 -6
- data/test/controller/resources_test.rb +102 -14
- data/test/controller/routing_test.rb +231 -19
- data/test/controller/selector_test.rb +2 -2
- data/test/controller/send_file_test.rb +14 -3
- data/test/controller/session/cookie_store_test.rb +16 -4
- data/test/controller/session/mem_cache_store_test.rb +3 -4
- data/test/controller/session_fixation_test.rb +1 -1
- data/test/controller/session_management_test.rb +23 -1
- data/test/controller/test_test.rb +39 -18
- data/test/controller/url_rewriter_test.rb +35 -1
- data/test/controller/verification_test.rb +1 -1
- data/test/controller/view_paths_test.rb +15 -12
- data/test/controller/webservice_test.rb +48 -3
- data/test/fixtures/bad_customers/_bad_customer.html.erb +1 -0
- data/test/fixtures/company.rb +1 -0
- data/test/fixtures/customers/_customer.html.erb +1 -0
- data/test/fixtures/db_definitions/sqlite.sql +6 -0
- data/test/fixtures/functional_caching/_partial.erb +3 -0
- data/test/fixtures/functional_caching/fragment_cached.html.erb +2 -0
- data/test/fixtures/functional_caching/html_fragment_cached_with_partial.html.erb +1 -0
- data/test/fixtures/functional_caching/js_fragment_cached_with_partial.js.rjs +1 -0
- data/test/fixtures/good_customers/_good_customer.html.erb +1 -0
- data/test/fixtures/mascot.rb +3 -0
- data/test/fixtures/mascots.yml +4 -0
- data/test/fixtures/mascots/_mascot.html.erb +1 -0
- data/test/fixtures/multipart/boundary_problem_file +10 -0
- data/test/fixtures/public/javascripts/application.js +1 -0
- data/test/fixtures/public/javascripts/controls.js +1 -0
- data/test/fixtures/public/javascripts/dragdrop.js +1 -0
- data/test/fixtures/public/javascripts/effects.js +1 -0
- data/test/fixtures/public/javascripts/prototype.js +1 -0
- data/test/fixtures/public/javascripts/version.1.0.js +1 -0
- data/test/fixtures/public/stylesheets/version.1.0.css +1 -0
- data/test/fixtures/reply.rb +1 -0
- data/test/fixtures/shared.html.erb +1 -0
- data/test/fixtures/symlink_parent/symlinked_layout.erb +5 -0
- data/test/fixtures/test/_customer_counter.erb +1 -0
- data/test/fixtures/test/_form.erb +1 -0
- data/test/fixtures/test/_labelling_form.erb +1 -0
- data/test/fixtures/test/_raise.html.erb +1 -0
- data/test/fixtures/test/greeting.js.rjs +1 -0
- data/test/fixtures/topics/_topic.html.erb +1 -0
- data/test/template/active_record_helper_test.rb +25 -8
- data/test/template/asset_tag_helper_test.rb +100 -17
- data/test/template/atom_feed_helper_test.rb +29 -1
- data/test/template/benchmark_helper_test.rb +10 -22
- data/test/template/date_helper_test.rb +455 -153
- data/test/template/erb_util_test.rb +10 -42
- data/test/template/form_helper_test.rb +192 -66
- data/test/template/form_options_helper_test.rb +19 -8
- data/test/template/form_tag_helper_test.rb +11 -8
- data/test/template/javascript_helper_test.rb +3 -9
- data/test/template/number_helper_test.rb +6 -3
- data/test/template/prototype_helper_test.rb +27 -40
- data/test/template/record_tag_helper_test.rb +54 -0
- data/test/template/sanitize_helper_test.rb +5 -6
- data/test/template/scriptaculous_helper_test.rb +7 -13
- data/test/template/tag_helper_test.rb +3 -6
- data/test/template/template_finder_test.rb +73 -0
- data/test/template/template_object_test.rb +95 -0
- data/test/template/test_test.rb +56 -0
- data/test/template/text_helper_test.rb +46 -33
- data/test/template/url_helper_test.rb +8 -10
- metadata +65 -12
- data/lib/action_view/compiled_templates.rb +0 -69
- data/test/action_view_test.rb +0 -44
- data/test/activerecord/fixtures_test.rb +0 -24
- data/test/controller/fragment_store_setting_test.rb +0 -47
- data/test/template/compiled_templates_test.rb +0 -197
- data/test/template/deprecate_ivars_test.rb +0 -51
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// effects js
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// prototype js
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// version.1.0 js
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* version.1.0.css */
|
data/test/fixtures/reply.rb
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Elastica
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= customer_counter.name %><%= customer_counter_counter %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= form.label :title %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= labelling_form.label :title %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= doesnt_exist %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
page[:body].visual_effect :highlight
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= topic.title %>
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'abstract_unit'
|
|
2
2
|
|
|
3
|
-
class ActiveRecordHelperTest <
|
|
4
|
-
|
|
5
|
-
include ActionView::Helpers::ActiveRecordHelper
|
|
6
|
-
include ActionView::Helpers::TextHelper
|
|
7
|
-
include ActionView::Helpers::TagHelper
|
|
8
|
-
include ActionView::Helpers::UrlHelper
|
|
9
|
-
include ActionView::Helpers::FormTagHelper
|
|
3
|
+
class ActiveRecordHelperTest < ActionView::TestCase
|
|
4
|
+
tests ActionView::Helpers::ActiveRecordHelper
|
|
10
5
|
|
|
11
6
|
silence_warnings do
|
|
12
7
|
Post = Struct.new("Post", :title, :author_name, :body, :secret, :written_on)
|
|
@@ -86,6 +81,11 @@ class ActiveRecordHelperTest < Test::Unit::TestCase
|
|
|
86
81
|
|
|
87
82
|
@user.email = ""
|
|
88
83
|
end
|
|
84
|
+
|
|
85
|
+
def protect_against_forgery?
|
|
86
|
+
@protect_against_forgery ? true : false
|
|
87
|
+
end
|
|
88
|
+
attr_accessor :request_forgery_protection_token, :form_authenticity_token
|
|
89
89
|
|
|
90
90
|
def setup
|
|
91
91
|
setup_post
|
|
@@ -140,6 +140,23 @@ class ActiveRecordHelperTest < Test::Unit::TestCase
|
|
|
140
140
|
form("post")
|
|
141
141
|
)
|
|
142
142
|
end
|
|
143
|
+
|
|
144
|
+
def test_form_with_protect_against_forgery
|
|
145
|
+
@protect_against_forgery = true
|
|
146
|
+
@request_forgery_protection_token = 'authenticity_token'
|
|
147
|
+
@form_authenticity_token = '123'
|
|
148
|
+
assert_dom_equal(
|
|
149
|
+
%(<form action="create" method="post"><div style='margin:0;padding:0'><input type='hidden' name='authenticity_token' value='123' /></div><p><label for="post_title">Title</label><br /><input id="post_title" name="post[title]" size="30" type="text" value="Hello World" /></p>\n<p><label for="post_body">Body</label><br /><div class="fieldWithErrors"><textarea cols="40" id="post_body" name="post[body]" rows="20">Back to the hill and over it again!</textarea></div></p><input name="commit" type="submit" value="Create" /></form>),
|
|
150
|
+
form("post")
|
|
151
|
+
)
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
def test_form_with_method_option
|
|
155
|
+
assert_dom_equal(
|
|
156
|
+
%(<form action="create" method="get"><p><label for="post_title">Title</label><br /><input id="post_title" name="post[title]" size="30" type="text" value="Hello World" /></p>\n<p><label for="post_body">Body</label><br /><div class="fieldWithErrors"><textarea cols="40" id="post_body" name="post[body]" rows="20">Back to the hill and over it again!</textarea></div></p><input name="commit" type="submit" value="Create" /></form>),
|
|
157
|
+
form("post", :method=>'get')
|
|
158
|
+
)
|
|
159
|
+
end
|
|
143
160
|
|
|
144
161
|
def test_form_with_action_option
|
|
145
162
|
@response.body = form("post", :action => "sign")
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'abstract_unit'
|
|
2
2
|
|
|
3
|
-
class AssetTagHelperTest <
|
|
4
|
-
|
|
5
|
-
include ActionView::Helpers::UrlHelper
|
|
6
|
-
include ActionView::Helpers::AssetTagHelper
|
|
3
|
+
class AssetTagHelperTest < ActionView::TestCase
|
|
4
|
+
tests ActionView::Helpers::AssetTagHelper
|
|
7
5
|
|
|
8
6
|
def setup
|
|
9
7
|
silence_warnings do
|
|
@@ -34,6 +32,8 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
|
34
32
|
@request = Class.new do
|
|
35
33
|
def relative_url_root() "" end
|
|
36
34
|
def protocol() 'http://' end
|
|
35
|
+
def ssl?() false end
|
|
36
|
+
def host_with_port() 'localhost' end
|
|
37
37
|
end.new
|
|
38
38
|
|
|
39
39
|
@controller.request = @request
|
|
@@ -82,7 +82,7 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
|
82
82
|
%(javascript_include_tag("xmlhr", :lang => "vbscript")) => %(<script lang="vbscript" src="/javascripts/xmlhr.js" type="text/javascript"></script>),
|
|
83
83
|
%(javascript_include_tag("common.javascript", "/elsewhere/cools")) => %(<script src="/javascripts/common.javascript" type="text/javascript"></script>\n<script src="/elsewhere/cools.js" type="text/javascript"></script>),
|
|
84
84
|
%(javascript_include_tag(:defaults)) => %(<script src="/javascripts/prototype.js" type="text/javascript"></script>\n<script src="/javascripts/effects.js" type="text/javascript"></script>\n<script src="/javascripts/dragdrop.js" type="text/javascript"></script>\n<script src="/javascripts/controls.js" type="text/javascript"></script>\n<script src="/javascripts/application.js" type="text/javascript"></script>),
|
|
85
|
-
%(javascript_include_tag(:all)) => %(<script src="/javascripts/application.js" type="text/javascript"></script>\n<script src="/javascripts/bank.js" type="text/javascript"></script>\n<script src="/javascripts/robber.js" type="text/javascript"></script>),
|
|
85
|
+
%(javascript_include_tag(:all)) => %(<script src="/javascripts/prototype.js" type="text/javascript"></script>\n<script src="/javascripts/effects.js" type="text/javascript"></script>\n<script src="/javascripts/dragdrop.js" type="text/javascript"></script>\n<script src="/javascripts/controls.js" type="text/javascript"></script>\n<script src="/javascripts/application.js" type="text/javascript"></script>\n<script src="/javascripts/bank.js" type="text/javascript"></script>\n<script src="/javascripts/robber.js" type="text/javascript"></script>\n<script src="/javascripts/version.1.0.js" type="text/javascript"></script>),
|
|
86
86
|
%(javascript_include_tag(:defaults, "test")) => %(<script src="/javascripts/prototype.js" type="text/javascript"></script>\n<script src="/javascripts/effects.js" type="text/javascript"></script>\n<script src="/javascripts/dragdrop.js" type="text/javascript"></script>\n<script src="/javascripts/controls.js" type="text/javascript"></script>\n<script src="/javascripts/test.js" type="text/javascript"></script>\n<script src="/javascripts/application.js" type="text/javascript"></script>),
|
|
87
87
|
%(javascript_include_tag("test", :defaults)) => %(<script src="/javascripts/test.js" type="text/javascript"></script>\n<script src="/javascripts/prototype.js" type="text/javascript"></script>\n<script src="/javascripts/effects.js" type="text/javascript"></script>\n<script src="/javascripts/dragdrop.js" type="text/javascript"></script>\n<script src="/javascripts/controls.js" type="text/javascript"></script>\n<script src="/javascripts/application.js" type="text/javascript"></script>)
|
|
88
88
|
}
|
|
@@ -107,8 +107,8 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
|
107
107
|
%(stylesheet_link_tag("/dir/file")) => %(<link href="/dir/file.css" media="screen" rel="stylesheet" type="text/css" />),
|
|
108
108
|
%(stylesheet_link_tag("dir/file")) => %(<link href="/stylesheets/dir/file.css" media="screen" rel="stylesheet" type="text/css" />),
|
|
109
109
|
%(stylesheet_link_tag("style", :media => "all")) => %(<link href="/stylesheets/style.css" media="all" rel="stylesheet" type="text/css" />),
|
|
110
|
-
%(stylesheet_link_tag(:all)) => %(<link href="/stylesheets/bank.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/robber.css" media="screen" rel="stylesheet" type="text/css" />),
|
|
111
|
-
%(stylesheet_link_tag(:all, :media => "all")) => %(<link href="/stylesheets/bank.css" media="all" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/robber.css" media="all" rel="stylesheet" type="text/css" />),
|
|
110
|
+
%(stylesheet_link_tag(:all)) => %(<link href="/stylesheets/bank.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/robber.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/version.1.0.css" media="screen" rel="stylesheet" type="text/css" />),
|
|
111
|
+
%(stylesheet_link_tag(:all, :media => "all")) => %(<link href="/stylesheets/bank.css" media="all" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/robber.css" media="all" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/version.1.0.css" media="all" rel="stylesheet" type="text/css" />),
|
|
112
112
|
%(stylesheet_link_tag("random.styles", "/css/stylish")) => %(<link href="/stylesheets/random.styles" media="screen" rel="stylesheet" type="text/css" />\n<link href="/css/stylish.css" media="screen" rel="stylesheet" type="text/css" />),
|
|
113
113
|
%(stylesheet_link_tag("http://www.example.com/styles/style")) => %(<link href="http://www.example.com/styles/style.css" media="screen" rel="stylesheet" type="text/css" />)
|
|
114
114
|
}
|
|
@@ -129,6 +129,7 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
|
129
129
|
|
|
130
130
|
ImageLinkToTag = {
|
|
131
131
|
%(image_tag("xml.png")) => %(<img alt="Xml" src="/images/xml.png" />),
|
|
132
|
+
%(image_tag("..jpg")) => %(<img alt="" src="/images/..jpg" />),
|
|
132
133
|
%(image_tag("rss.gif", :alt => "rss syndication")) => %(<img alt="rss syndication" src="/images/rss.gif" />),
|
|
133
134
|
%(image_tag("gold.png", :size => "45x70")) => %(<img alt="Gold" height="70" src="/images/gold.png" width="45" />),
|
|
134
135
|
%(image_tag("gold.png", "size" => "45x70")) => %(<img alt="Gold" height="70" src="/images/gold.png" width="45" />),
|
|
@@ -172,6 +173,22 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
|
172
173
|
assert_dom_equal %(<script src="/javascripts/prototype.js" type="text/javascript"></script>\n<script src="/javascripts/effects.js" type="text/javascript"></script>\n<script src="/javascripts/dragdrop.js" type="text/javascript"></script>\n<script src="/javascripts/controls.js" type="text/javascript"></script>\n<script src="/javascripts/slider.js" type="text/javascript"></script>\n<script src="/javascripts/lib1.js" type="text/javascript"></script>\n<script src="/elsewhere/blub/lib2.js" type="text/javascript"></script>\n<script src="/javascripts/application.js" type="text/javascript"></script>), javascript_include_tag(:defaults)
|
|
173
174
|
end
|
|
174
175
|
|
|
176
|
+
def test_custom_javascript_expansions
|
|
177
|
+
ActionView::Helpers::AssetTagHelper::register_javascript_expansion :monkey => ["head", "body", "tail"]
|
|
178
|
+
assert_dom_equal %(<script src="/javascripts/first.js" type="text/javascript"></script>\n<script src="/javascripts/head.js" type="text/javascript"></script>\n<script src="/javascripts/body.js" type="text/javascript"></script>\n<script src="/javascripts/tail.js" type="text/javascript"></script>\n<script src="/javascripts/last.js" type="text/javascript"></script>), javascript_include_tag('first', :monkey, 'last')
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
def test_custom_javascript_expansions_and_defaults_puts_application_js_at_the_end
|
|
182
|
+
ENV["RAILS_ASSET_ID"] = ""
|
|
183
|
+
ActionView::Helpers::AssetTagHelper::register_javascript_expansion :monkey => ["head", "body", "tail"]
|
|
184
|
+
assert_dom_equal %(<script src="/javascripts/first.js" type="text/javascript"></script>\n<script src="/javascripts/prototype.js" type="text/javascript"></script>\n<script src="/javascripts/effects.js" type="text/javascript"></script>\n<script src="/javascripts/dragdrop.js" type="text/javascript"></script>\n<script src="/javascripts/controls.js" type="text/javascript"></script>\n<script src="/javascripts/head.js" type="text/javascript"></script>\n<script src="/javascripts/body.js" type="text/javascript"></script>\n<script src="/javascripts/tail.js" type="text/javascript"></script>\n<script src="/javascripts/last.js" type="text/javascript"></script>\n<script src="/javascripts/application.js" type="text/javascript"></script>), javascript_include_tag('first', :defaults, :monkey, 'last')
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
def test_custom_javascript_expansions_with_undefined_symbol
|
|
188
|
+
ActionView::Helpers::AssetTagHelper::register_javascript_expansion :monkey => nil
|
|
189
|
+
assert_raise(ArgumentError) { javascript_include_tag('first', :monkey, 'last') }
|
|
190
|
+
end
|
|
191
|
+
|
|
175
192
|
def test_stylesheet_path
|
|
176
193
|
StylePathToTag.each { |method, tag| assert_dom_equal(tag, eval(method)) }
|
|
177
194
|
end
|
|
@@ -185,6 +202,16 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
|
185
202
|
StyleLinkToTag.each { |method, tag| assert_dom_equal(tag, eval(method)) }
|
|
186
203
|
end
|
|
187
204
|
|
|
205
|
+
def test_custom_stylesheet_expansions
|
|
206
|
+
ActionView::Helpers::AssetTagHelper::register_stylesheet_expansion :monkey => ["head", "body", "tail"]
|
|
207
|
+
assert_dom_equal %(<link href="/stylesheets/first.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/head.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/body.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/tail.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/last.css" media="screen" rel="stylesheet" type="text/css" />), stylesheet_link_tag('first', :monkey, 'last')
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
def test_custom_stylesheet_expansions_with_undefined_symbol
|
|
211
|
+
ActionView::Helpers::AssetTagHelper::register_stylesheet_expansion :monkey => nil
|
|
212
|
+
assert_raise(ArgumentError) { stylesheet_link_tag('first', :monkey, 'last') }
|
|
213
|
+
end
|
|
214
|
+
|
|
188
215
|
def test_image_path
|
|
189
216
|
ImagePathToTag.each { |method, tag| assert_dom_equal(tag, eval(method)) }
|
|
190
217
|
end
|
|
@@ -248,7 +275,7 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
|
248
275
|
end
|
|
249
276
|
|
|
250
277
|
def test_caching_javascript_include_tag_when_caching_on_with_proc_asset_host
|
|
251
|
-
ENV[
|
|
278
|
+
ENV['RAILS_ASSET_ID'] = ''
|
|
252
279
|
ActionController::Base.asset_host = Proc.new { |source| "http://a#{source.length}.example.com" }
|
|
253
280
|
ActionController::Base.perform_caching = true
|
|
254
281
|
|
|
@@ -264,6 +291,43 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
|
264
291
|
FileUtils.rm_f(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'scripts.js'))
|
|
265
292
|
end
|
|
266
293
|
|
|
294
|
+
def test_caching_javascript_include_tag_when_caching_on_with_2_argument_proc_asset_host
|
|
295
|
+
ENV['RAILS_ASSET_ID'] = ''
|
|
296
|
+
ActionController::Base.asset_host = Proc.new { |source, request|
|
|
297
|
+
if request.ssl?
|
|
298
|
+
"#{request.protocol}#{request.host_with_port}"
|
|
299
|
+
else
|
|
300
|
+
"#{request.protocol}assets#{source.length}.example.com"
|
|
301
|
+
end
|
|
302
|
+
}
|
|
303
|
+
ActionController::Base.perform_caching = true
|
|
304
|
+
|
|
305
|
+
assert_equal '/javascripts/vanilla.js'.length, 23
|
|
306
|
+
assert_dom_equal(
|
|
307
|
+
%(<script src="http://assets23.example.com/javascripts/vanilla.js" type="text/javascript"></script>),
|
|
308
|
+
javascript_include_tag(:all, :cache => 'vanilla')
|
|
309
|
+
)
|
|
310
|
+
|
|
311
|
+
assert File.exist?(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'vanilla.js'))
|
|
312
|
+
|
|
313
|
+
class << @controller.request
|
|
314
|
+
def protocol() 'https://' end
|
|
315
|
+
def ssl?() true end
|
|
316
|
+
end
|
|
317
|
+
|
|
318
|
+
assert_equal '/javascripts/secure.js'.length, 22
|
|
319
|
+
assert_dom_equal(
|
|
320
|
+
%(<script src="https://localhost/javascripts/secure.js" type="text/javascript"></script>),
|
|
321
|
+
javascript_include_tag(:all, :cache => 'secure')
|
|
322
|
+
)
|
|
323
|
+
|
|
324
|
+
assert File.exist?(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'secure.js'))
|
|
325
|
+
|
|
326
|
+
ensure
|
|
327
|
+
FileUtils.rm_f(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'vanilla.js'))
|
|
328
|
+
FileUtils.rm_f(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'secure.js'))
|
|
329
|
+
end
|
|
330
|
+
|
|
267
331
|
def test_caching_javascript_include_tag_when_caching_on_and_using_subdirectory
|
|
268
332
|
ENV["RAILS_ASSET_ID"] = ""
|
|
269
333
|
ActionController::Base.asset_host = 'http://a%d.example.com'
|
|
@@ -279,19 +343,40 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
|
279
343
|
FileUtils.rm_f(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'cache', 'money.js'))
|
|
280
344
|
end
|
|
281
345
|
|
|
346
|
+
def test_caching_javascript_include_tag_with_all_puts_defaults_at_the_start_of_the_file
|
|
347
|
+
ENV["RAILS_ASSET_ID"] = ""
|
|
348
|
+
ActionController::Base.asset_host = 'http://a0.example.com'
|
|
349
|
+
ActionController::Base.perform_caching = true
|
|
350
|
+
|
|
351
|
+
assert_dom_equal(
|
|
352
|
+
%(<script src="http://a0.example.com/javascripts/combined.js" type="text/javascript"></script>),
|
|
353
|
+
javascript_include_tag(:all, :cache => "combined")
|
|
354
|
+
)
|
|
355
|
+
|
|
356
|
+
assert File.exist?(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'combined.js'))
|
|
357
|
+
|
|
358
|
+
assert_equal(
|
|
359
|
+
%(// prototype js\n\n// effects js\n\n// dragdrop js\n\n// controls js\n\n// application js\n\n// bank js\n\n// robber js\n\n// version.1.0 js),
|
|
360
|
+
IO.read(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'combined.js'))
|
|
361
|
+
)
|
|
362
|
+
|
|
363
|
+
ensure
|
|
364
|
+
FileUtils.rm_f(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'combined.js'))
|
|
365
|
+
end
|
|
366
|
+
|
|
282
367
|
def test_caching_javascript_include_tag_when_caching_off
|
|
283
368
|
ENV["RAILS_ASSET_ID"] = ""
|
|
284
369
|
ActionController::Base.perform_caching = false
|
|
285
370
|
|
|
286
371
|
assert_dom_equal(
|
|
287
|
-
%(<script src="/javascripts/application.js" type="text/javascript"></script>\n<script src="/javascripts/bank.js" type="text/javascript"></script>\n<script src="/javascripts/robber.js" type="text/javascript"></script>),
|
|
372
|
+
%(<script src="/javascripts/prototype.js" type="text/javascript"></script>\n<script src="/javascripts/effects.js" type="text/javascript"></script>\n<script src="/javascripts/dragdrop.js" type="text/javascript"></script>\n<script src="/javascripts/controls.js" type="text/javascript"></script>\n<script src="/javascripts/application.js" type="text/javascript"></script>\n<script src="/javascripts/bank.js" type="text/javascript"></script>\n<script src="/javascripts/robber.js" type="text/javascript"></script>\n<script src="/javascripts/version.1.0.js" type="text/javascript"></script>),
|
|
288
373
|
javascript_include_tag(:all, :cache => true)
|
|
289
374
|
)
|
|
290
375
|
|
|
291
376
|
assert !File.exist?(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'all.js'))
|
|
292
377
|
|
|
293
378
|
assert_dom_equal(
|
|
294
|
-
%(<script src="/javascripts/application.js" type="text/javascript"></script>\n<script src="/javascripts/bank.js" type="text/javascript"></script>\n<script src="/javascripts/robber.js" type="text/javascript"></script>),
|
|
379
|
+
%(<script src="/javascripts/prototype.js" type="text/javascript"></script>\n<script src="/javascripts/effects.js" type="text/javascript"></script>\n<script src="/javascripts/dragdrop.js" type="text/javascript"></script>\n<script src="/javascripts/controls.js" type="text/javascript"></script>\n<script src="/javascripts/application.js" type="text/javascript"></script>\n<script src="/javascripts/bank.js" type="text/javascript"></script>\n<script src="/javascripts/robber.js" type="text/javascript"></script>\n<script src="/javascripts/version.1.0.js" type="text/javascript"></script>),
|
|
295
380
|
javascript_include_tag(:all, :cache => "money")
|
|
296
381
|
)
|
|
297
382
|
|
|
@@ -343,14 +428,14 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
|
343
428
|
ActionController::Base.perform_caching = false
|
|
344
429
|
|
|
345
430
|
assert_dom_equal(
|
|
346
|
-
%(<link href="/stylesheets/bank.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/robber.css" media="screen" rel="stylesheet" type="text/css" />),
|
|
431
|
+
%(<link href="/stylesheets/bank.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/robber.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/version.1.0.css" media="screen" rel="stylesheet" type="text/css" />),
|
|
347
432
|
stylesheet_link_tag(:all, :cache => true)
|
|
348
433
|
)
|
|
349
434
|
|
|
350
435
|
assert !File.exist?(File.join(ActionView::Helpers::AssetTagHelper::STYLESHEETS_DIR, 'all.css'))
|
|
351
436
|
|
|
352
437
|
assert_dom_equal(
|
|
353
|
-
%(<link href="/stylesheets/bank.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/robber.css" media="screen" rel="stylesheet" type="text/css" />),
|
|
438
|
+
%(<link href="/stylesheets/bank.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/robber.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/version.1.0.css" media="screen" rel="stylesheet" type="text/css" />),
|
|
354
439
|
stylesheet_link_tag(:all, :cache => "money")
|
|
355
440
|
)
|
|
356
441
|
|
|
@@ -358,10 +443,8 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
|
358
443
|
end
|
|
359
444
|
end
|
|
360
445
|
|
|
361
|
-
class AssetTagHelperNonVhostTest <
|
|
362
|
-
|
|
363
|
-
include ActionView::Helpers::UrlHelper
|
|
364
|
-
include ActionView::Helpers::AssetTagHelper
|
|
446
|
+
class AssetTagHelperNonVhostTest < ActionView::TestCase
|
|
447
|
+
tests ActionView::Helpers::AssetTagHelper
|
|
365
448
|
|
|
366
449
|
def setup
|
|
367
450
|
@controller = Class.new do
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'abstract_unit'
|
|
2
2
|
|
|
3
3
|
Scroll = Struct.new(:id, :to_param, :title, :body, :updated_at, :created_at)
|
|
4
4
|
|
|
@@ -55,6 +55,25 @@ class ScrollsController < ActionController::Base
|
|
|
55
55
|
end
|
|
56
56
|
end
|
|
57
57
|
EOT
|
|
58
|
+
FEEDS["feed_with_atomPub_namespace"] = <<-EOT
|
|
59
|
+
atom_feed({'xmlns:app' => 'http://www.w3.org/2007/app',
|
|
60
|
+
'xmlns:openSearch' => 'http://a9.com/-/spec/opensearch/1.1/'}) do |feed|
|
|
61
|
+
feed.title("My great blog!")
|
|
62
|
+
feed.updated((@scrolls.first.created_at))
|
|
63
|
+
|
|
64
|
+
for scroll in @scrolls
|
|
65
|
+
feed.entry(scroll) do |entry|
|
|
66
|
+
entry.title(scroll.title)
|
|
67
|
+
entry.content(scroll.body, :type => 'html')
|
|
68
|
+
entry.tag!('app:edited', Time.now)
|
|
69
|
+
|
|
70
|
+
entry.author do |author|
|
|
71
|
+
author.name("DHH")
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
EOT
|
|
58
77
|
def index
|
|
59
78
|
@scrolls = [
|
|
60
79
|
Scroll.new(1, "1", "Hello One", "Something <i>COOL!</i>", Time.utc(2007, 12, 12, 15), Time.utc(2007, 12, 12, 15)),
|
|
@@ -139,6 +158,15 @@ class AtomFeedTest < Test::Unit::TestCase
|
|
|
139
158
|
end
|
|
140
159
|
end
|
|
141
160
|
|
|
161
|
+
def test_feed_should_include_atomPub_namespace
|
|
162
|
+
with_restful_routing(:scrolls) do
|
|
163
|
+
get :index, :id => "feed_with_atomPub_namespace"
|
|
164
|
+
assert_match %r{xml:lang="en-US"}, @response.body
|
|
165
|
+
assert_match %r{xmlns="http://www.w3.org/2005/Atom"}, @response.body
|
|
166
|
+
assert_match %r{xmlns:app="http://www.w3.org/2007/app"}, @response.body
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
142
170
|
private
|
|
143
171
|
def with_restful_routing(resources)
|
|
144
172
|
with_routing do |set|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'abstract_unit'
|
|
2
2
|
require 'action_view/helpers/benchmark_helper'
|
|
3
3
|
|
|
4
|
-
class BenchmarkHelperTest <
|
|
5
|
-
|
|
4
|
+
class BenchmarkHelperTest < ActionView::TestCase
|
|
5
|
+
tests ActionView::Helpers::BenchmarkHelper
|
|
6
6
|
|
|
7
7
|
class MockLogger
|
|
8
8
|
attr_reader :logged
|
|
@@ -16,32 +16,20 @@ class BenchmarkHelperTest < Test::Unit::TestCase
|
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
def
|
|
20
|
-
@
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def test_without_logger_or_block
|
|
24
|
-
@logger = nil
|
|
25
|
-
assert_nothing_raised { benchmark }
|
|
19
|
+
def controller
|
|
20
|
+
@controller ||= Struct.new(:logger).new(MockLogger.new)
|
|
26
21
|
end
|
|
27
22
|
|
|
28
23
|
def test_without_block
|
|
29
24
|
assert_raise(LocalJumpError) { benchmark }
|
|
30
|
-
assert
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def test_without_logger
|
|
34
|
-
@logger = nil
|
|
35
|
-
i_was_run = false
|
|
36
|
-
benchmark { i_was_run = true }
|
|
37
|
-
assert !i_was_run
|
|
25
|
+
assert controller.logger.logged.empty?
|
|
38
26
|
end
|
|
39
27
|
|
|
40
28
|
def test_defaults
|
|
41
29
|
i_was_run = false
|
|
42
30
|
benchmark { i_was_run = true }
|
|
43
31
|
assert i_was_run
|
|
44
|
-
assert 1,
|
|
32
|
+
assert 1, controller.logger.logged.size
|
|
45
33
|
assert_last_logged
|
|
46
34
|
end
|
|
47
35
|
|
|
@@ -49,7 +37,7 @@ class BenchmarkHelperTest < Test::Unit::TestCase
|
|
|
49
37
|
i_was_run = false
|
|
50
38
|
benchmark('test_run') { i_was_run = true }
|
|
51
39
|
assert i_was_run
|
|
52
|
-
assert 1,
|
|
40
|
+
assert 1, controller.logger.logged.size
|
|
53
41
|
assert_last_logged 'test_run'
|
|
54
42
|
end
|
|
55
43
|
|
|
@@ -57,13 +45,13 @@ class BenchmarkHelperTest < Test::Unit::TestCase
|
|
|
57
45
|
i_was_run = false
|
|
58
46
|
benchmark('debug_run', :debug) { i_was_run = true }
|
|
59
47
|
assert i_was_run
|
|
60
|
-
assert 1,
|
|
48
|
+
assert 1, controller.logger.logged.size
|
|
61
49
|
assert_last_logged 'debug_run', :debug
|
|
62
50
|
end
|
|
63
51
|
|
|
64
52
|
private
|
|
65
53
|
def assert_last_logged(message = 'Benchmarking', level = :info)
|
|
66
|
-
last =
|
|
54
|
+
last = controller.logger.logged.last
|
|
67
55
|
assert 2, last.size
|
|
68
56
|
assert_equal level, last.first
|
|
69
57
|
assert 1, last[1].size
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'abstract_unit'
|
|
2
2
|
|
|
3
|
-
class DateHelperTest <
|
|
4
|
-
|
|
5
|
-
include ActionView::Helpers::FormHelper
|
|
3
|
+
class DateHelperTest < ActionView::TestCase
|
|
4
|
+
tests ActionView::Helpers::DateHelper
|
|
6
5
|
|
|
7
6
|
silence_warnings do
|
|
8
7
|
Post = Struct.new("Post", :id, :written_on, :updated_at)
|
|
@@ -18,82 +17,102 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
18
17
|
end
|
|
19
18
|
end
|
|
20
19
|
end
|
|
21
|
-
|
|
22
|
-
def
|
|
23
|
-
|
|
20
|
+
|
|
21
|
+
def assert_distance_of_time_in_words(from, to=nil)
|
|
22
|
+
to ||= from
|
|
24
23
|
|
|
25
24
|
# 0..1 with include_seconds
|
|
26
|
-
assert_equal "less than 5 seconds", distance_of_time_in_words(from,
|
|
27
|
-
assert_equal "less than 5 seconds", distance_of_time_in_words(from,
|
|
28
|
-
assert_equal "less than 10 seconds", distance_of_time_in_words(from,
|
|
29
|
-
assert_equal "less than 10 seconds", distance_of_time_in_words(from,
|
|
30
|
-
assert_equal "less than 20 seconds", distance_of_time_in_words(from,
|
|
31
|
-
assert_equal "less than 20 seconds", distance_of_time_in_words(from,
|
|
32
|
-
assert_equal "half a minute", distance_of_time_in_words(from,
|
|
33
|
-
assert_equal "half a minute", distance_of_time_in_words(from,
|
|
34
|
-
assert_equal "less than a minute", distance_of_time_in_words(from,
|
|
35
|
-
assert_equal "less than a minute", distance_of_time_in_words(from,
|
|
36
|
-
assert_equal "1 minute", distance_of_time_in_words(from,
|
|
37
|
-
assert_equal "1 minute", distance_of_time_in_words(from,
|
|
25
|
+
assert_equal "less than 5 seconds", distance_of_time_in_words(from, to + 0.seconds, true)
|
|
26
|
+
assert_equal "less than 5 seconds", distance_of_time_in_words(from, to + 4.seconds, true)
|
|
27
|
+
assert_equal "less than 10 seconds", distance_of_time_in_words(from, to + 5.seconds, true)
|
|
28
|
+
assert_equal "less than 10 seconds", distance_of_time_in_words(from, to + 9.seconds, true)
|
|
29
|
+
assert_equal "less than 20 seconds", distance_of_time_in_words(from, to + 10.seconds, true)
|
|
30
|
+
assert_equal "less than 20 seconds", distance_of_time_in_words(from, to + 19.seconds, true)
|
|
31
|
+
assert_equal "half a minute", distance_of_time_in_words(from, to + 20.seconds, true)
|
|
32
|
+
assert_equal "half a minute", distance_of_time_in_words(from, to + 39.seconds, true)
|
|
33
|
+
assert_equal "less than a minute", distance_of_time_in_words(from, to + 40.seconds, true)
|
|
34
|
+
assert_equal "less than a minute", distance_of_time_in_words(from, to + 59.seconds, true)
|
|
35
|
+
assert_equal "1 minute", distance_of_time_in_words(from, to + 60.seconds, true)
|
|
36
|
+
assert_equal "1 minute", distance_of_time_in_words(from, to + 89.seconds, true)
|
|
38
37
|
|
|
39
38
|
# First case 0..1
|
|
40
|
-
assert_equal "less than a minute", distance_of_time_in_words(from,
|
|
41
|
-
assert_equal "less than a minute", distance_of_time_in_words(from,
|
|
42
|
-
assert_equal "1 minute", distance_of_time_in_words(from,
|
|
43
|
-
assert_equal "1 minute", distance_of_time_in_words(from,
|
|
39
|
+
assert_equal "less than a minute", distance_of_time_in_words(from, to + 0.seconds)
|
|
40
|
+
assert_equal "less than a minute", distance_of_time_in_words(from, to + 29.seconds)
|
|
41
|
+
assert_equal "1 minute", distance_of_time_in_words(from, to + 30.seconds)
|
|
42
|
+
assert_equal "1 minute", distance_of_time_in_words(from, to + 1.minutes + 29.seconds)
|
|
44
43
|
|
|
45
44
|
# 2..44
|
|
46
|
-
assert_equal "2 minutes", distance_of_time_in_words(from,
|
|
47
|
-
assert_equal "44 minutes", distance_of_time_in_words(from,
|
|
45
|
+
assert_equal "2 minutes", distance_of_time_in_words(from, to + 1.minutes + 30.seconds)
|
|
46
|
+
assert_equal "44 minutes", distance_of_time_in_words(from, to + 44.minutes + 29.seconds)
|
|
48
47
|
|
|
49
48
|
# 45..89
|
|
50
|
-
assert_equal "about 1 hour", distance_of_time_in_words(from,
|
|
51
|
-
assert_equal "about 1 hour", distance_of_time_in_words(from,
|
|
49
|
+
assert_equal "about 1 hour", distance_of_time_in_words(from, to + 44.minutes + 30.seconds)
|
|
50
|
+
assert_equal "about 1 hour", distance_of_time_in_words(from, to + 89.minutes + 29.seconds)
|
|
52
51
|
|
|
53
52
|
# 90..1439
|
|
54
|
-
assert_equal "about 2 hours", distance_of_time_in_words(from,
|
|
55
|
-
assert_equal "about 24 hours", distance_of_time_in_words(from,
|
|
53
|
+
assert_equal "about 2 hours", distance_of_time_in_words(from, to + 89.minutes + 30.seconds)
|
|
54
|
+
assert_equal "about 24 hours", distance_of_time_in_words(from, to + 23.hours + 59.minutes + 29.seconds)
|
|
56
55
|
|
|
57
56
|
# 1440..2879
|
|
58
|
-
assert_equal "1 day", distance_of_time_in_words(from,
|
|
59
|
-
assert_equal "1 day", distance_of_time_in_words(from,
|
|
57
|
+
assert_equal "1 day", distance_of_time_in_words(from, to + 23.hours + 59.minutes + 30.seconds)
|
|
58
|
+
assert_equal "1 day", distance_of_time_in_words(from, to + 47.hours + 59.minutes + 29.seconds)
|
|
60
59
|
|
|
61
60
|
# 2880..43199
|
|
62
|
-
assert_equal "2 days", distance_of_time_in_words(from,
|
|
63
|
-
assert_equal "29 days", distance_of_time_in_words(from,
|
|
61
|
+
assert_equal "2 days", distance_of_time_in_words(from, to + 47.hours + 59.minutes + 30.seconds)
|
|
62
|
+
assert_equal "29 days", distance_of_time_in_words(from, to + 29.days + 23.hours + 59.minutes + 29.seconds)
|
|
64
63
|
|
|
65
64
|
# 43200..86399
|
|
66
|
-
assert_equal "about 1 month", distance_of_time_in_words(from,
|
|
67
|
-
assert_equal "about 1 month", distance_of_time_in_words(from,
|
|
65
|
+
assert_equal "about 1 month", distance_of_time_in_words(from, to + 29.days + 23.hours + 59.minutes + 30.seconds)
|
|
66
|
+
assert_equal "about 1 month", distance_of_time_in_words(from, to + 59.days + 23.hours + 59.minutes + 29.seconds)
|
|
68
67
|
|
|
69
68
|
# 86400..525599
|
|
70
|
-
assert_equal "2 months", distance_of_time_in_words(from,
|
|
71
|
-
assert_equal "12 months", distance_of_time_in_words(from,
|
|
69
|
+
assert_equal "2 months", distance_of_time_in_words(from, to + 59.days + 23.hours + 59.minutes + 30.seconds)
|
|
70
|
+
assert_equal "12 months", distance_of_time_in_words(from, to + 1.years - 31.seconds)
|
|
72
71
|
|
|
73
72
|
# 525600..1051199
|
|
74
|
-
assert_equal "about 1 year", distance_of_time_in_words(from,
|
|
75
|
-
assert_equal "about 1 year", distance_of_time_in_words(from,
|
|
73
|
+
assert_equal "about 1 year", distance_of_time_in_words(from, to + 1.years - 30.seconds)
|
|
74
|
+
assert_equal "about 1 year", distance_of_time_in_words(from, to + 2.years - 31.seconds)
|
|
76
75
|
|
|
77
76
|
# > 1051199
|
|
78
|
-
assert_equal "over 2 years", distance_of_time_in_words(from,
|
|
79
|
-
assert_equal "over 10 years", distance_of_time_in_words(from,
|
|
77
|
+
assert_equal "over 2 years", distance_of_time_in_words(from, to + 2.years + 30.seconds)
|
|
78
|
+
assert_equal "over 10 years", distance_of_time_in_words(from, to + 10.years)
|
|
80
79
|
|
|
81
80
|
# test to < from
|
|
82
|
-
assert_equal "about 4 hours", distance_of_time_in_words(from + 4.hours,
|
|
83
|
-
assert_equal "less than 20 seconds", distance_of_time_in_words(from + 19.seconds,
|
|
84
|
-
|
|
85
|
-
# test with integers
|
|
86
|
-
assert_equal "less than a minute", distance_of_time_in_words(59)
|
|
87
|
-
assert_equal "about 1 hour", distance_of_time_in_words(60*60)
|
|
88
|
-
assert_equal "less than a minute", distance_of_time_in_words(0, 59)
|
|
89
|
-
assert_equal "about 1 hour", distance_of_time_in_words(60*60, 0)
|
|
81
|
+
assert_equal "about 4 hours", distance_of_time_in_words(from + 4.hours, to)
|
|
82
|
+
assert_equal "less than 20 seconds", distance_of_time_in_words(from + 19.seconds, to, true)
|
|
90
83
|
end
|
|
91
84
|
|
|
85
|
+
def test_distance_in_words
|
|
86
|
+
from = Time.mktime(2004, 6, 6, 21, 45, 0)
|
|
87
|
+
assert_distance_of_time_in_words(from)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def test_distance_in_words_with_time_zones
|
|
91
|
+
from = Time.mktime(2004, 6, 6, 21, 45, 0)
|
|
92
|
+
assert_distance_of_time_in_words(from.in_time_zone('Alaska'))
|
|
93
|
+
assert_distance_of_time_in_words(from.in_time_zone('Hawaii'))
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def test_distance_in_words_with_different_time_zones
|
|
97
|
+
from = Time.mktime(2004, 6, 6, 21, 45, 0)
|
|
98
|
+
assert_distance_of_time_in_words(
|
|
99
|
+
from.in_time_zone('Alaska'),
|
|
100
|
+
from.in_time_zone('Hawaii')
|
|
101
|
+
)
|
|
102
|
+
end
|
|
103
|
+
|
|
92
104
|
def test_distance_in_words_with_dates
|
|
93
105
|
start_date = Date.new 1975, 1, 31
|
|
94
106
|
end_date = Date.new 1977, 1, 31
|
|
95
107
|
assert_equal("over 2 years", distance_of_time_in_words(start_date, end_date))
|
|
96
108
|
end
|
|
109
|
+
|
|
110
|
+
def test_distance_in_words_with_integers
|
|
111
|
+
assert_equal "less than a minute", distance_of_time_in_words(59)
|
|
112
|
+
assert_equal "about 1 hour", distance_of_time_in_words(60*60)
|
|
113
|
+
assert_equal "less than a minute", distance_of_time_in_words(0, 59)
|
|
114
|
+
assert_equal "about 1 hour", distance_of_time_in_words(60*60, 0)
|
|
115
|
+
end
|
|
97
116
|
|
|
98
117
|
def test_time_ago_in_words
|
|
99
118
|
assert_equal "about 1 year", time_ago_in_words(1.year.ago - 1.day)
|
|
@@ -104,8 +123,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
104
123
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
105
124
|
expected << "</select>\n"
|
|
106
125
|
|
|
107
|
-
|
|
108
|
-
|
|
126
|
+
assert_dom_equal expected, select_day(Time.mktime(2003, 8, 16))
|
|
127
|
+
assert_dom_equal expected, select_day(16)
|
|
109
128
|
end
|
|
110
129
|
|
|
111
130
|
def test_select_day_with_blank
|
|
@@ -113,8 +132,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
113
132
|
expected << %(<option value=""></option>\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
114
133
|
expected << "</select>\n"
|
|
115
134
|
|
|
116
|
-
|
|
117
|
-
|
|
135
|
+
assert_dom_equal expected, select_day(Time.mktime(2003, 8, 16), :include_blank => true)
|
|
136
|
+
assert_dom_equal expected, select_day(16, :include_blank => true)
|
|
118
137
|
end
|
|
119
138
|
|
|
120
139
|
def test_select_day_nil_with_blank
|
|
@@ -122,7 +141,16 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
122
141
|
expected << %(<option value=""></option>\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
123
142
|
expected << "</select>\n"
|
|
124
143
|
|
|
125
|
-
|
|
144
|
+
assert_dom_equal expected, select_day(nil, :include_blank => true)
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def test_select_day_with_html_options
|
|
148
|
+
expected = %(<select id="date_day" name="date[day]" class="selector">\n)
|
|
149
|
+
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
150
|
+
expected << "</select>\n"
|
|
151
|
+
|
|
152
|
+
assert_dom_equal expected, select_day(Time.mktime(2003, 8, 16), {}, :class => 'selector')
|
|
153
|
+
assert_dom_equal expected, select_day(16, {}, :class => 'selector')
|
|
126
154
|
end
|
|
127
155
|
|
|
128
156
|
def test_select_month
|
|
@@ -130,8 +158,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
130
158
|
expected << %(<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8" selected="selected">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n)
|
|
131
159
|
expected << "</select>\n"
|
|
132
160
|
|
|
133
|
-
|
|
134
|
-
|
|
161
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16))
|
|
162
|
+
assert_dom_equal expected, select_month(8)
|
|
135
163
|
end
|
|
136
164
|
|
|
137
165
|
def test_select_month_with_disabled
|
|
@@ -139,8 +167,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
139
167
|
expected << %(<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8" selected="selected">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n)
|
|
140
168
|
expected << "</select>\n"
|
|
141
169
|
|
|
142
|
-
|
|
143
|
-
|
|
170
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), :disabled => true)
|
|
171
|
+
assert_dom_equal expected, select_month(8, :disabled => true)
|
|
144
172
|
end
|
|
145
173
|
|
|
146
174
|
def test_select_month_with_field_name_override
|
|
@@ -148,8 +176,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
148
176
|
expected << %(<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8" selected="selected">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n)
|
|
149
177
|
expected << "</select>\n"
|
|
150
178
|
|
|
151
|
-
|
|
152
|
-
|
|
179
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), :field_name => 'mois')
|
|
180
|
+
assert_dom_equal expected, select_month(8, :field_name => 'mois')
|
|
153
181
|
end
|
|
154
182
|
|
|
155
183
|
def test_select_month_with_blank
|
|
@@ -157,8 +185,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
157
185
|
expected << %(<option value=""></option>\n<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8" selected="selected">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n)
|
|
158
186
|
expected << "</select>\n"
|
|
159
187
|
|
|
160
|
-
|
|
161
|
-
|
|
188
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), :include_blank => true)
|
|
189
|
+
assert_dom_equal expected, select_month(8, :include_blank => true)
|
|
162
190
|
end
|
|
163
191
|
|
|
164
192
|
def test_select_month_nil_with_blank
|
|
@@ -166,7 +194,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
166
194
|
expected << %(<option value=""></option>\n<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n)
|
|
167
195
|
expected << "</select>\n"
|
|
168
196
|
|
|
169
|
-
|
|
197
|
+
assert_dom_equal expected, select_month(nil, :include_blank => true)
|
|
170
198
|
end
|
|
171
199
|
|
|
172
200
|
def test_select_month_with_numbers
|
|
@@ -174,8 +202,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
174
202
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8" selected="selected">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n)
|
|
175
203
|
expected << "</select>\n"
|
|
176
204
|
|
|
177
|
-
|
|
178
|
-
|
|
205
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), :use_month_numbers => true)
|
|
206
|
+
assert_dom_equal expected, select_month(8, :use_month_numbers => true)
|
|
179
207
|
end
|
|
180
208
|
|
|
181
209
|
def test_select_month_with_numbers_and_names
|
|
@@ -183,8 +211,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
183
211
|
expected << %(<option value="1">1 - January</option>\n<option value="2">2 - February</option>\n<option value="3">3 - March</option>\n<option value="4">4 - April</option>\n<option value="5">5 - May</option>\n<option value="6">6 - June</option>\n<option value="7">7 - July</option>\n<option value="8" selected="selected">8 - August</option>\n<option value="9">9 - September</option>\n<option value="10">10 - October</option>\n<option value="11">11 - November</option>\n<option value="12">12 - December</option>\n)
|
|
184
212
|
expected << "</select>\n"
|
|
185
213
|
|
|
186
|
-
|
|
187
|
-
|
|
214
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), :add_month_numbers => true)
|
|
215
|
+
assert_dom_equal expected, select_month(8, :add_month_numbers => true)
|
|
188
216
|
end
|
|
189
217
|
|
|
190
218
|
def test_select_month_with_numbers_and_names_with_abbv
|
|
@@ -192,8 +220,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
192
220
|
expected << %(<option value="1">1 - Jan</option>\n<option value="2">2 - Feb</option>\n<option value="3">3 - Mar</option>\n<option value="4">4 - Apr</option>\n<option value="5">5 - May</option>\n<option value="6">6 - Jun</option>\n<option value="7">7 - Jul</option>\n<option value="8" selected="selected">8 - Aug</option>\n<option value="9">9 - Sep</option>\n<option value="10">10 - Oct</option>\n<option value="11">11 - Nov</option>\n<option value="12">12 - Dec</option>\n)
|
|
193
221
|
expected << "</select>\n"
|
|
194
222
|
|
|
195
|
-
|
|
196
|
-
|
|
223
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), :add_month_numbers => true, :use_short_month => true)
|
|
224
|
+
assert_dom_equal expected, select_month(8, :add_month_numbers => true, :use_short_month => true)
|
|
197
225
|
end
|
|
198
226
|
|
|
199
227
|
def test_select_month_with_abbv
|
|
@@ -201,8 +229,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
201
229
|
expected << %(<option value="1">Jan</option>\n<option value="2">Feb</option>\n<option value="3">Mar</option>\n<option value="4">Apr</option>\n<option value="5">May</option>\n<option value="6">Jun</option>\n<option value="7">Jul</option>\n<option value="8" selected="selected">Aug</option>\n<option value="9">Sep</option>\n<option value="10">Oct</option>\n<option value="11">Nov</option>\n<option value="12">Dec</option>\n)
|
|
202
230
|
expected << "</select>\n"
|
|
203
231
|
|
|
204
|
-
|
|
205
|
-
|
|
232
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), :use_short_month => true)
|
|
233
|
+
assert_dom_equal expected, select_month(8, :use_short_month => true)
|
|
206
234
|
end
|
|
207
235
|
|
|
208
236
|
def test_select_month_with_custom_names
|
|
@@ -212,8 +240,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
212
240
|
1.upto(12) { |month| expected << %(<option value="#{month}"#{' selected="selected"' if month == 8}>#{month_names[month]}</option>\n) }
|
|
213
241
|
expected << "</select>\n"
|
|
214
242
|
|
|
215
|
-
|
|
216
|
-
|
|
243
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), :use_month_names => month_names)
|
|
244
|
+
assert_dom_equal expected, select_month(8, :use_month_names => month_names)
|
|
217
245
|
end
|
|
218
246
|
|
|
219
247
|
def test_select_month_with_zero_indexed_custom_names
|
|
@@ -223,8 +251,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
223
251
|
1.upto(12) { |month| expected << %(<option value="#{month}"#{' selected="selected"' if month == 8}>#{month_names[month-1]}</option>\n) }
|
|
224
252
|
expected << "</select>\n"
|
|
225
253
|
|
|
226
|
-
|
|
227
|
-
|
|
254
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), :use_month_names => month_names)
|
|
255
|
+
assert_dom_equal expected, select_month(8, :use_month_names => month_names)
|
|
228
256
|
end
|
|
229
257
|
|
|
230
258
|
def test_select_month_with_hidden
|
|
@@ -235,13 +263,26 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
235
263
|
assert_dom_equal "<input type=\"hidden\" id=\"date_mois\" name=\"date[mois]\" value=\"8\" />\n", select_month(8, :use_hidden => true, :field_name => 'mois')
|
|
236
264
|
end
|
|
237
265
|
|
|
266
|
+
def test_select_month_with_html_options
|
|
267
|
+
expected = %(<select id="date_month" name="date[month]" class="selector" accesskey="M">\n)
|
|
268
|
+
expected << %(<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8" selected="selected">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n)
|
|
269
|
+
expected << "</select>\n"
|
|
270
|
+
|
|
271
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), {}, :class => 'selector', :accesskey => 'M')
|
|
272
|
+
#result = select_month(Time.mktime(2003, 8, 16), {}, :class => 'selector', :accesskey => 'M')
|
|
273
|
+
#assert result.include?('<select id="date_month" name="date[month]"')
|
|
274
|
+
#assert result.include?('class="selector"')
|
|
275
|
+
#assert result.include?('accesskey="M"')
|
|
276
|
+
#assert result.include?('<option value="1">January')
|
|
277
|
+
end
|
|
278
|
+
|
|
238
279
|
def test_select_year
|
|
239
280
|
expected = %(<select id="date_year" name="date[year]">\n)
|
|
240
281
|
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
|
241
282
|
expected << "</select>\n"
|
|
242
283
|
|
|
243
|
-
|
|
244
|
-
|
|
284
|
+
assert_dom_equal expected, select_year(Time.mktime(2003, 8, 16), :start_year => 2003, :end_year => 2005)
|
|
285
|
+
assert_dom_equal expected, select_year(2003, :start_year => 2003, :end_year => 2005)
|
|
245
286
|
end
|
|
246
287
|
|
|
247
288
|
def test_select_year_with_disabled
|
|
@@ -249,8 +290,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
249
290
|
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
|
250
291
|
expected << "</select>\n"
|
|
251
292
|
|
|
252
|
-
|
|
253
|
-
|
|
293
|
+
assert_dom_equal expected, select_year(Time.mktime(2003, 8, 16), :disabled => true, :start_year => 2003, :end_year => 2005)
|
|
294
|
+
assert_dom_equal expected, select_year(2003, :disabled => true, :start_year => 2003, :end_year => 2005)
|
|
254
295
|
end
|
|
255
296
|
|
|
256
297
|
def test_select_year_with_field_name_override
|
|
@@ -258,8 +299,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
258
299
|
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
|
259
300
|
expected << "</select>\n"
|
|
260
301
|
|
|
261
|
-
|
|
262
|
-
|
|
302
|
+
assert_dom_equal expected, select_year(Time.mktime(2003, 8, 16), :start_year => 2003, :end_year => 2005, :field_name => 'annee')
|
|
303
|
+
assert_dom_equal expected, select_year(2003, :start_year => 2003, :end_year => 2005, :field_name => 'annee')
|
|
263
304
|
end
|
|
264
305
|
|
|
265
306
|
def test_select_year_with_type_discarding
|
|
@@ -267,9 +308,9 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
267
308
|
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
|
268
309
|
expected << "</select>\n"
|
|
269
310
|
|
|
270
|
-
|
|
311
|
+
assert_dom_equal expected, select_year(
|
|
271
312
|
Time.mktime(2003, 8, 16), :prefix => "date_year", :discard_type => true, :start_year => 2003, :end_year => 2005)
|
|
272
|
-
|
|
313
|
+
assert_dom_equal expected, select_year(
|
|
273
314
|
2003, :prefix => "date_year", :discard_type => true, :start_year => 2003, :end_year => 2005)
|
|
274
315
|
end
|
|
275
316
|
|
|
@@ -278,8 +319,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
278
319
|
expected << %(<option value="2005" selected="selected">2005</option>\n<option value="2004">2004</option>\n<option value="2003">2003</option>\n)
|
|
279
320
|
expected << "</select>\n"
|
|
280
321
|
|
|
281
|
-
|
|
282
|
-
|
|
322
|
+
assert_dom_equal expected, select_year(Time.mktime(2005, 8, 16), :start_year => 2005, :end_year => 2003)
|
|
323
|
+
assert_dom_equal expected, select_year(2005, :start_year => 2005, :end_year => 2003)
|
|
283
324
|
end
|
|
284
325
|
|
|
285
326
|
def test_select_year_with_hidden
|
|
@@ -290,12 +331,25 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
290
331
|
assert_dom_equal "<input type=\"hidden\" id=\"date_anno\" name=\"date[anno]\" value=\"2007\" />\n", select_year(2007, :use_hidden => true, :field_name => 'anno')
|
|
291
332
|
end
|
|
292
333
|
|
|
334
|
+
def test_select_year_with_html_options
|
|
335
|
+
expected = %(<select id="date_year" name="date[year]" class="selector" accesskey="M">\n)
|
|
336
|
+
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
|
337
|
+
expected << "</select>\n"
|
|
338
|
+
|
|
339
|
+
assert_dom_equal expected, select_year(Time.mktime(2003, 8, 16), {:start_year => 2003, :end_year => 2005}, :class => 'selector', :accesskey => 'M')
|
|
340
|
+
#result = select_year(Time.mktime(2003, 8, 16), {:start_year => 2003, :end_year => 2005}, :class => 'selector', :accesskey => 'M')
|
|
341
|
+
#assert result.include?('<select id="date_year" name="date[year]"')
|
|
342
|
+
#assert result.include?('class="selector"')
|
|
343
|
+
#assert result.include?('accesskey="M"')
|
|
344
|
+
#assert result.include?('<option value="2003"')
|
|
345
|
+
end
|
|
346
|
+
|
|
293
347
|
def test_select_hour
|
|
294
348
|
expected = %(<select id="date_hour" name="date[hour]">\n)
|
|
295
349
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08" selected="selected">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n)
|
|
296
350
|
expected << "</select>\n"
|
|
297
351
|
|
|
298
|
-
|
|
352
|
+
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18))
|
|
299
353
|
end
|
|
300
354
|
|
|
301
355
|
def test_select_hour_with_disabled
|
|
@@ -303,7 +357,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
303
357
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08" selected="selected">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n)
|
|
304
358
|
expected << "</select>\n"
|
|
305
359
|
|
|
306
|
-
|
|
360
|
+
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), :disabled => true)
|
|
307
361
|
end
|
|
308
362
|
|
|
309
363
|
def test_select_hour_with_field_name_override
|
|
@@ -311,7 +365,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
311
365
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08" selected="selected">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n)
|
|
312
366
|
expected << "</select>\n"
|
|
313
367
|
|
|
314
|
-
|
|
368
|
+
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), :field_name => 'heure')
|
|
315
369
|
end
|
|
316
370
|
|
|
317
371
|
def test_select_hour_with_blank
|
|
@@ -319,7 +373,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
319
373
|
expected << %(<option value=""></option>\n<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08" selected="selected">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n)
|
|
320
374
|
expected << "</select>\n"
|
|
321
375
|
|
|
322
|
-
|
|
376
|
+
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), :include_blank => true)
|
|
323
377
|
end
|
|
324
378
|
|
|
325
379
|
def test_select_hour_nil_with_blank
|
|
@@ -327,7 +381,15 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
327
381
|
expected << %(<option value=""></option>\n<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n)
|
|
328
382
|
expected << "</select>\n"
|
|
329
383
|
|
|
330
|
-
|
|
384
|
+
assert_dom_equal expected, select_hour(nil, :include_blank => true)
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
def test_select_hour_with_html_options
|
|
388
|
+
expected = %(<select id="date_hour" name="date[hour]" class="selector" accesskey="M">\n)
|
|
389
|
+
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08" selected="selected">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n)
|
|
390
|
+
expected << "</select>\n"
|
|
391
|
+
|
|
392
|
+
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), {}, :class => 'selector', :accesskey => 'M')
|
|
331
393
|
end
|
|
332
394
|
|
|
333
395
|
def test_select_minute
|
|
@@ -335,7 +397,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
335
397
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04" selected="selected">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
336
398
|
expected << "</select>\n"
|
|
337
399
|
|
|
338
|
-
|
|
400
|
+
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18))
|
|
339
401
|
end
|
|
340
402
|
|
|
341
403
|
def test_select_minute_with_disabled
|
|
@@ -343,7 +405,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
343
405
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04" selected="selected">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
344
406
|
expected << "</select>\n"
|
|
345
407
|
|
|
346
|
-
|
|
408
|
+
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), :disabled => true)
|
|
347
409
|
end
|
|
348
410
|
|
|
349
411
|
def test_select_minute_with_field_name_override
|
|
@@ -351,7 +413,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
351
413
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04" selected="selected">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
352
414
|
expected << "</select>\n"
|
|
353
415
|
|
|
354
|
-
|
|
416
|
+
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), :field_name => 'minuto')
|
|
355
417
|
end
|
|
356
418
|
|
|
357
419
|
def test_select_minute_with_blank
|
|
@@ -359,7 +421,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
359
421
|
expected << %(<option value=""></option>\n<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04" selected="selected">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
360
422
|
expected << "</select>\n"
|
|
361
423
|
|
|
362
|
-
|
|
424
|
+
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), :include_blank => true)
|
|
363
425
|
end
|
|
364
426
|
|
|
365
427
|
def test_select_minute_with_blank_and_step
|
|
@@ -367,7 +429,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
367
429
|
expected << %(<option value=""></option>\n<option value="00">00</option>\n<option value="15">15</option>\n<option value="30">30</option>\n<option value="45">45</option>\n)
|
|
368
430
|
expected << "</select>\n"
|
|
369
431
|
|
|
370
|
-
|
|
432
|
+
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), { :include_blank => true , :minute_step => 15 })
|
|
371
433
|
end
|
|
372
434
|
|
|
373
435
|
def test_select_minute_nil_with_blank
|
|
@@ -375,7 +437,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
375
437
|
expected << %(<option value=""></option>\n<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
376
438
|
expected << "</select>\n"
|
|
377
439
|
|
|
378
|
-
|
|
440
|
+
assert_dom_equal expected, select_minute(nil, :include_blank => true)
|
|
379
441
|
end
|
|
380
442
|
|
|
381
443
|
def test_select_minute_nil_with_blank_and_step
|
|
@@ -383,7 +445,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
383
445
|
expected << %(<option value=""></option>\n<option value="00">00</option>\n<option value="15">15</option>\n<option value="30">30</option>\n<option value="45">45</option>\n)
|
|
384
446
|
expected << "</select>\n"
|
|
385
447
|
|
|
386
|
-
|
|
448
|
+
assert_dom_equal expected, select_minute(nil, { :include_blank => true , :minute_step => 15 })
|
|
387
449
|
end
|
|
388
450
|
|
|
389
451
|
def test_select_minute_with_hidden
|
|
@@ -394,12 +456,26 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
394
456
|
assert_dom_equal "<input type=\"hidden\" id=\"date_minuto\" name=\"date[minuto]\" value=\"8\" />\n", select_minute(8, :use_hidden => true, :field_name => 'minuto')
|
|
395
457
|
end
|
|
396
458
|
|
|
459
|
+
def test_select_minute_with_html_options
|
|
460
|
+
expected = expected = %(<select id="date_minute" name="date[minute]" class="selector" accesskey="M">\n)
|
|
461
|
+
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04" selected="selected">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
462
|
+
expected << "</select>\n"
|
|
463
|
+
|
|
464
|
+
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), {}, :class => 'selector', :accesskey => 'M')
|
|
465
|
+
|
|
466
|
+
#result = select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), {}, :class => 'selector', :accesskey => 'M')
|
|
467
|
+
#assert result.include?('<select id="date_minute" name="date[minute]"')
|
|
468
|
+
#assert result.include?('class="selector"')
|
|
469
|
+
#assert result.include?('accesskey="M"')
|
|
470
|
+
#assert result.include?('<option value="00">00')
|
|
471
|
+
end
|
|
472
|
+
|
|
397
473
|
def test_select_second
|
|
398
474
|
expected = %(<select id="date_second" name="date[second]">\n)
|
|
399
475
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18" selected="selected">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
400
476
|
expected << "</select>\n"
|
|
401
477
|
|
|
402
|
-
|
|
478
|
+
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18))
|
|
403
479
|
end
|
|
404
480
|
|
|
405
481
|
def test_select_second_with_disabled
|
|
@@ -407,7 +483,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
407
483
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18" selected="selected">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
408
484
|
expected << "</select>\n"
|
|
409
485
|
|
|
410
|
-
|
|
486
|
+
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), :disabled => true)
|
|
411
487
|
end
|
|
412
488
|
|
|
413
489
|
def test_select_second_with_field_name_override
|
|
@@ -415,7 +491,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
415
491
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18" selected="selected">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
416
492
|
expected << "</select>\n"
|
|
417
493
|
|
|
418
|
-
|
|
494
|
+
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), :field_name => 'segundo')
|
|
419
495
|
end
|
|
420
496
|
|
|
421
497
|
def test_select_second_with_blank
|
|
@@ -423,7 +499,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
423
499
|
expected << %(<option value=""></option>\n<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18" selected="selected">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
424
500
|
expected << "</select>\n"
|
|
425
501
|
|
|
426
|
-
|
|
502
|
+
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), :include_blank => true)
|
|
427
503
|
end
|
|
428
504
|
|
|
429
505
|
def test_select_second_nil_with_blank
|
|
@@ -431,7 +507,21 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
431
507
|
expected << %(<option value=""></option>\n<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
432
508
|
expected << "</select>\n"
|
|
433
509
|
|
|
434
|
-
|
|
510
|
+
assert_dom_equal expected, select_second(nil, :include_blank => true)
|
|
511
|
+
end
|
|
512
|
+
|
|
513
|
+
def test_select_second_with_html_options
|
|
514
|
+
expected = %(<select id="date_second" name="date[second]" class="selector" accesskey="M">\n)
|
|
515
|
+
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18" selected="selected">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
516
|
+
expected << "</select>\n"
|
|
517
|
+
|
|
518
|
+
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), {}, :class => 'selector', :accesskey => 'M')
|
|
519
|
+
|
|
520
|
+
#result = select_second(Time.mktime(2003, 8, 16, 8, 4, 18), {}, :class => 'selector', :accesskey => 'M')
|
|
521
|
+
#assert result.include?('<select id="date_second" name="date[second]"')
|
|
522
|
+
#assert result.include?('class="selector"')
|
|
523
|
+
#assert result.include?('accesskey="M"')
|
|
524
|
+
#assert result.include?('<option value="00">00')
|
|
435
525
|
end
|
|
436
526
|
|
|
437
527
|
def test_select_date
|
|
@@ -447,7 +537,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
447
537
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
448
538
|
expected << "</select>\n"
|
|
449
539
|
|
|
450
|
-
|
|
540
|
+
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), :start_year => 2003, :end_year => 2005, :prefix => "date[first]")
|
|
451
541
|
end
|
|
452
542
|
|
|
453
543
|
def test_select_date_with_order
|
|
@@ -463,7 +553,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
463
553
|
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
|
464
554
|
expected << "</select>\n"
|
|
465
555
|
|
|
466
|
-
|
|
556
|
+
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), :start_year => 2003, :end_year => 2005, :prefix => "date[first]", :order => [:month, :day, :year])
|
|
467
557
|
end
|
|
468
558
|
|
|
469
559
|
def test_select_date_with_incomplete_order
|
|
@@ -479,7 +569,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
479
569
|
expected << %(<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8" selected="selected">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n)
|
|
480
570
|
expected << "</select>\n"
|
|
481
571
|
|
|
482
|
-
|
|
572
|
+
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), :start_year => 2003, :end_year => 2005, :prefix => "date[first]", :order => [:day])
|
|
483
573
|
end
|
|
484
574
|
|
|
485
575
|
def test_select_date_with_disabled
|
|
@@ -495,7 +585,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
495
585
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
496
586
|
expected << "</select>\n"
|
|
497
587
|
|
|
498
|
-
|
|
588
|
+
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), :start_year => 2003, :end_year => 2005, :prefix => "date[first]", :disabled => true)
|
|
499
589
|
end
|
|
500
590
|
|
|
501
591
|
def test_select_date_with_no_start_year
|
|
@@ -517,7 +607,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
517
607
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
518
608
|
expected << "</select>\n"
|
|
519
609
|
|
|
520
|
-
|
|
610
|
+
assert_dom_equal expected, select_date(
|
|
521
611
|
Time.mktime(Date.today.year, 8, 16), :end_year => Date.today.year+1, :prefix => "date[first]"
|
|
522
612
|
)
|
|
523
613
|
end
|
|
@@ -541,7 +631,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
541
631
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
542
632
|
expected << "</select>\n"
|
|
543
633
|
|
|
544
|
-
|
|
634
|
+
assert_dom_equal expected, select_date(
|
|
545
635
|
Time.mktime(2003, 8, 16), :start_year => 2003, :prefix => "date[first]"
|
|
546
636
|
)
|
|
547
637
|
end
|
|
@@ -565,7 +655,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
565
655
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
566
656
|
expected << "</select>\n"
|
|
567
657
|
|
|
568
|
-
|
|
658
|
+
assert_dom_equal expected, select_date(
|
|
569
659
|
Time.mktime(Date.today.year, 8, 16), :prefix => "date[first]"
|
|
570
660
|
)
|
|
571
661
|
end
|
|
@@ -583,7 +673,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
583
673
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
584
674
|
expected << "</select>\n"
|
|
585
675
|
|
|
586
|
-
|
|
676
|
+
assert_dom_equal expected, select_date(0, :start_year => 2003, :end_year => 2005, :prefix => "date[first]")
|
|
587
677
|
end
|
|
588
678
|
|
|
589
679
|
def test_select_date_with_zero_value_and_no_start_year
|
|
@@ -599,7 +689,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
599
689
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
600
690
|
expected << "</select>\n"
|
|
601
691
|
|
|
602
|
-
|
|
692
|
+
assert_dom_equal expected, select_date(0, :end_year => Date.today.year+1, :prefix => "date[first]")
|
|
603
693
|
end
|
|
604
694
|
|
|
605
695
|
def test_select_date_with_zero_value_and_no_end_year
|
|
@@ -616,7 +706,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
616
706
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
617
707
|
expected << "</select>\n"
|
|
618
708
|
|
|
619
|
-
|
|
709
|
+
assert_dom_equal expected, select_date(0, :start_year => 2003, :prefix => "date[first]")
|
|
620
710
|
end
|
|
621
711
|
|
|
622
712
|
def test_select_date_with_zero_value_and_no_start_and_end_year
|
|
@@ -632,7 +722,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
632
722
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
633
723
|
expected << "</select>\n"
|
|
634
724
|
|
|
635
|
-
|
|
725
|
+
assert_dom_equal expected, select_date(0, :prefix => "date[first]")
|
|
636
726
|
end
|
|
637
727
|
|
|
638
728
|
def test_select_date_with_nil_value_and_no_start_and_end_year
|
|
@@ -648,7 +738,23 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
648
738
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
649
739
|
expected << "</select>\n"
|
|
650
740
|
|
|
651
|
-
|
|
741
|
+
assert_dom_equal expected, select_date(nil, :prefix => "date[first]")
|
|
742
|
+
end
|
|
743
|
+
|
|
744
|
+
def test_select_date_with_html_options
|
|
745
|
+
expected = %(<select id="date_first_year" name="date[first][year]" class="selector">\n)
|
|
746
|
+
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
|
747
|
+
expected << "</select>\n"
|
|
748
|
+
|
|
749
|
+
expected << %(<select id="date_first_month" name="date[first][month]" class="selector">\n)
|
|
750
|
+
expected << %(<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8" selected="selected">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n)
|
|
751
|
+
expected << "</select>\n"
|
|
752
|
+
|
|
753
|
+
expected << %(<select id="date_first_day" name="date[first][day]" class="selector">\n)
|
|
754
|
+
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
755
|
+
expected << "</select>\n"
|
|
756
|
+
|
|
757
|
+
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), {:start_year => 2003, :end_year => 2005, :prefix => "date[first]"}, :class => "selector")
|
|
652
758
|
end
|
|
653
759
|
|
|
654
760
|
def test_select_datetime
|
|
@@ -672,7 +778,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
672
778
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04" selected="selected">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
673
779
|
expected << "</select>\n"
|
|
674
780
|
|
|
675
|
-
|
|
781
|
+
assert_dom_equal expected, select_datetime(Time.mktime(2003, 8, 16, 8, 4, 18), :start_year => 2003, :end_year => 2005, :prefix => "date[first]")
|
|
676
782
|
end
|
|
677
783
|
|
|
678
784
|
def test_select_datetime_with_separators
|
|
@@ -700,7 +806,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
700
806
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04" selected="selected">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
701
807
|
expected << "</select>\n"
|
|
702
808
|
|
|
703
|
-
|
|
809
|
+
assert_dom_equal expected, select_datetime(Time.mktime(2003, 8, 16, 8, 4, 18), :start_year => 2003, :end_year => 2005, :prefix => "date[first]", :datetime_separator => ' — ', :time_separator => ' : ')
|
|
704
810
|
end
|
|
705
811
|
|
|
706
812
|
def test_select_datetime_with_nil_value_and_no_start_and_end_year
|
|
@@ -724,7 +830,31 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
724
830
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
725
831
|
expected << "</select>\n"
|
|
726
832
|
|
|
727
|
-
|
|
833
|
+
assert_dom_equal expected, select_datetime(nil, :prefix => "date[first]")
|
|
834
|
+
end
|
|
835
|
+
|
|
836
|
+
def test_select_datetime_with_html_options
|
|
837
|
+
expected = %(<select id="date_first_year" name="date[first][year]" class="selector">\n)
|
|
838
|
+
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
|
839
|
+
expected << "</select>\n"
|
|
840
|
+
|
|
841
|
+
expected << %(<select id="date_first_month" name="date[first][month]" class="selector">\n)
|
|
842
|
+
expected << %(<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8" selected="selected">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n)
|
|
843
|
+
expected << "</select>\n"
|
|
844
|
+
|
|
845
|
+
expected << %(<select id="date_first_day" name="date[first][day]" class="selector">\n)
|
|
846
|
+
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
847
|
+
expected << "</select>\n"
|
|
848
|
+
|
|
849
|
+
expected << %(<select id="date_first_hour" name="date[first][hour]" class="selector">\n)
|
|
850
|
+
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08" selected="selected">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n)
|
|
851
|
+
expected << "</select>\n"
|
|
852
|
+
|
|
853
|
+
expected << %(<select id="date_first_minute" name="date[first][minute]" class="selector">\n)
|
|
854
|
+
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04" selected="selected">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
855
|
+
expected << "</select>\n"
|
|
856
|
+
|
|
857
|
+
assert_dom_equal expected, select_datetime(Time.mktime(2003, 8, 16, 8, 4, 18), {:start_year => 2003, :end_year => 2005, :prefix => "date[first]"}, :class => 'selector')
|
|
728
858
|
end
|
|
729
859
|
|
|
730
860
|
def test_select_time
|
|
@@ -736,8 +866,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
736
866
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04" selected="selected">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
737
867
|
expected << "</select>\n"
|
|
738
868
|
|
|
739
|
-
|
|
740
|
-
|
|
869
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18))
|
|
870
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :include_seconds => false)
|
|
741
871
|
end
|
|
742
872
|
|
|
743
873
|
def test_select_time_with_separator
|
|
@@ -751,8 +881,8 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
751
881
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04" selected="selected">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
752
882
|
expected << "</select>\n"
|
|
753
883
|
|
|
754
|
-
|
|
755
|
-
|
|
884
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :time_separator => ' : ')
|
|
885
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :time_separator => ' : ', :include_seconds => false)
|
|
756
886
|
end
|
|
757
887
|
|
|
758
888
|
def test_select_time_with_seconds
|
|
@@ -768,7 +898,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
768
898
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18" selected="selected">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
769
899
|
expected << "</select>\n"
|
|
770
900
|
|
|
771
|
-
|
|
901
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :include_seconds => true)
|
|
772
902
|
end
|
|
773
903
|
|
|
774
904
|
def test_select_time_with_seconds_and_separator
|
|
@@ -788,7 +918,47 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
788
918
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18" selected="selected">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
789
919
|
expected << "</select>\n"
|
|
790
920
|
|
|
791
|
-
|
|
921
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :include_seconds => true, :time_separator => ' : ')
|
|
922
|
+
end
|
|
923
|
+
|
|
924
|
+
def test_select_time_with_html_options
|
|
925
|
+
expected = %(<select id="date_hour" name="date[hour]" class="selector">\n)
|
|
926
|
+
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08" selected="selected">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n)
|
|
927
|
+
expected << "</select>\n"
|
|
928
|
+
|
|
929
|
+
expected << %(<select id="date_minute" name="date[minute]" class="selector">\n)
|
|
930
|
+
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04" selected="selected">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
931
|
+
expected << "</select>\n"
|
|
932
|
+
|
|
933
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), {}, :class => 'selector')
|
|
934
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), {:include_seconds => false}, :class => 'selector')
|
|
935
|
+
end
|
|
936
|
+
|
|
937
|
+
uses_mocha 'TestDatetimeAndTimeSelectUseTimeCurrentAsDefault' do
|
|
938
|
+
def test_select_datetime_uses_time_current_as_default
|
|
939
|
+
time = stub(:year => 2004, :month => 6, :day => 15, :hour => 16, :min => 35, :sec => 0)
|
|
940
|
+
Time.expects(:current).returns time
|
|
941
|
+
expects(:select_date).with(time, anything, anything).returns('')
|
|
942
|
+
expects(:select_time).with(time, anything, anything).returns('')
|
|
943
|
+
select_datetime
|
|
944
|
+
end
|
|
945
|
+
|
|
946
|
+
def test_select_time_uses_time_current_as_default
|
|
947
|
+
time = stub(:year => 2004, :month => 6, :day => 15, :hour => 16, :min => 35, :sec => 0)
|
|
948
|
+
Time.expects(:current).returns time
|
|
949
|
+
expects(:select_hour).with(time, anything, anything).returns('')
|
|
950
|
+
expects(:select_minute).with(time, anything, anything).returns('')
|
|
951
|
+
select_time
|
|
952
|
+
end
|
|
953
|
+
|
|
954
|
+
def test_select_date_uses_date_current_as_default
|
|
955
|
+
date = stub(:year => 2004, :month => 6, :day => 15)
|
|
956
|
+
Date.expects(:current).returns date
|
|
957
|
+
expects(:select_year).with(date, anything, anything).returns('')
|
|
958
|
+
expects(:select_month).with(date, anything, anything).returns('')
|
|
959
|
+
expects(:select_day).with(date, anything, anything).returns('')
|
|
960
|
+
select_date
|
|
961
|
+
end
|
|
792
962
|
end
|
|
793
963
|
|
|
794
964
|
def test_date_select
|
|
@@ -808,7 +978,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
808
978
|
|
|
809
979
|
expected << "</select>\n"
|
|
810
980
|
|
|
811
|
-
|
|
981
|
+
assert_dom_equal expected, date_select("post", "written_on")
|
|
812
982
|
end
|
|
813
983
|
|
|
814
984
|
def test_date_select_without_day
|
|
@@ -825,7 +995,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
825
995
|
expected << %{<option value="1999">1999</option>\n<option value="2000">2000</option>\n<option value="2001">2001</option>\n<option value="2002">2002</option>\n<option value="2003">2003</option>\n<option value="2004" selected="selected">2004</option>\n<option value="2005">2005</option>\n<option value="2006">2006</option>\n<option value="2007">2007</option>\n<option value="2008">2008</option>\n<option value="2009">2009</option>\n}
|
|
826
996
|
expected << "</select>\n"
|
|
827
997
|
|
|
828
|
-
|
|
998
|
+
assert_dom_equal expected, date_select("post", "written_on", :order => [ :month, :year ])
|
|
829
999
|
end
|
|
830
1000
|
|
|
831
1001
|
def test_date_select_within_fields_for
|
|
@@ -863,7 +1033,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
863
1033
|
|
|
864
1034
|
expected << "</select>\n"
|
|
865
1035
|
|
|
866
|
-
|
|
1036
|
+
assert_dom_equal expected, date_select("post", "written_on", :index => id)
|
|
867
1037
|
end
|
|
868
1038
|
|
|
869
1039
|
def test_date_select_with_auto_index
|
|
@@ -883,7 +1053,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
883
1053
|
expected << %{<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15" selected="selected">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n}
|
|
884
1054
|
expected << "</select>\n"
|
|
885
1055
|
|
|
886
|
-
|
|
1056
|
+
assert_dom_equal expected, date_select("post[]", "written_on")
|
|
887
1057
|
end
|
|
888
1058
|
|
|
889
1059
|
def test_date_select_with_different_order
|
|
@@ -902,7 +1072,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
902
1072
|
1999.upto(2009) { |i| expected << %(<option value="#{i}"#{' selected="selected"' if i == 2004}>#{i}</option>\n) }
|
|
903
1073
|
expected << "</select>\n"
|
|
904
1074
|
|
|
905
|
-
|
|
1075
|
+
assert_dom_equal expected, date_select("post", "written_on", :order => [:day, :month, :year])
|
|
906
1076
|
end
|
|
907
1077
|
|
|
908
1078
|
def test_date_select_with_nil
|
|
@@ -922,7 +1092,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
922
1092
|
1.upto(31) { |i| expected << %(<option value="#{i}"#{' selected="selected"' if i == Time.now.day}>#{i}</option>\n) }
|
|
923
1093
|
expected << "</select>\n"
|
|
924
1094
|
|
|
925
|
-
|
|
1095
|
+
assert_dom_equal expected, date_select("post", "written_on")
|
|
926
1096
|
end
|
|
927
1097
|
|
|
928
1098
|
def test_date_select_with_nil_and_blank
|
|
@@ -945,7 +1115,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
945
1115
|
1.upto(31) { |i| expected << %(<option value="#{i}">#{i}</option>\n) }
|
|
946
1116
|
expected << "</select>\n"
|
|
947
1117
|
|
|
948
|
-
|
|
1118
|
+
assert_dom_equal expected, date_select("post", "written_on", :include_blank => true)
|
|
949
1119
|
end
|
|
950
1120
|
|
|
951
1121
|
def test_date_select_cant_override_discard_hour
|
|
@@ -964,7 +1134,27 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
964
1134
|
expected << %{<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15" selected="selected">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n}
|
|
965
1135
|
expected << "</select>\n"
|
|
966
1136
|
|
|
967
|
-
|
|
1137
|
+
assert_dom_equal expected, date_select("post", "written_on", :discard_hour => false)
|
|
1138
|
+
end
|
|
1139
|
+
|
|
1140
|
+
def test_date_select_with_html_options
|
|
1141
|
+
@post = Post.new
|
|
1142
|
+
@post.written_on = Date.new(2004, 6, 15)
|
|
1143
|
+
|
|
1144
|
+
expected = %{<select id="post_written_on_1i" name="post[written_on(1i)]" class="selector">\n}
|
|
1145
|
+
expected << %{<option value="1999">1999</option>\n<option value="2000">2000</option>\n<option value="2001">2001</option>\n<option value="2002">2002</option>\n<option value="2003">2003</option>\n<option value="2004" selected="selected">2004</option>\n<option value="2005">2005</option>\n<option value="2006">2006</option>\n<option value="2007">2007</option>\n<option value="2008">2008</option>\n<option value="2009">2009</option>\n}
|
|
1146
|
+
expected << "</select>\n"
|
|
1147
|
+
|
|
1148
|
+
expected << %{<select id="post_written_on_2i" name="post[written_on(2i)]" class="selector">\n}
|
|
1149
|
+
expected << %{<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6" selected="selected">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n}
|
|
1150
|
+
expected << "</select>\n"
|
|
1151
|
+
|
|
1152
|
+
expected << %{<select id="post_written_on_3i" name="post[written_on(3i)]" class="selector">\n}
|
|
1153
|
+
expected << %{<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15" selected="selected">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n}
|
|
1154
|
+
|
|
1155
|
+
expected << "</select>\n"
|
|
1156
|
+
|
|
1157
|
+
assert_dom_equal expected, date_select("post", "written_on", {}, :class => 'selector')
|
|
968
1158
|
end
|
|
969
1159
|
|
|
970
1160
|
def test_time_select
|
|
@@ -983,7 +1173,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
983
1173
|
0.upto(59) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 16}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
984
1174
|
expected << "</select>\n"
|
|
985
1175
|
|
|
986
|
-
|
|
1176
|
+
assert_dom_equal expected, time_select("post", "written_on")
|
|
987
1177
|
end
|
|
988
1178
|
|
|
989
1179
|
def test_time_select_with_seconds
|
|
@@ -1006,7 +1196,26 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1006
1196
|
0.upto(59) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 35}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
1007
1197
|
expected << "</select>\n"
|
|
1008
1198
|
|
|
1009
|
-
|
|
1199
|
+
assert_dom_equal expected, time_select("post", "written_on", :include_seconds => true)
|
|
1200
|
+
end
|
|
1201
|
+
|
|
1202
|
+
def test_time_select_with_html_options
|
|
1203
|
+
@post = Post.new
|
|
1204
|
+
@post.written_on = Time.local(2004, 6, 15, 15, 16, 35)
|
|
1205
|
+
|
|
1206
|
+
expected = %{<input type="hidden" id="post_written_on_1i" name="post[written_on(1i)]" value="2004" />\n}
|
|
1207
|
+
expected << %{<input type="hidden" id="post_written_on_2i" name="post[written_on(2i)]" value="6" />\n}
|
|
1208
|
+
expected << %{<input type="hidden" id="post_written_on_3i" name="post[written_on(3i)]" value="15" />\n}
|
|
1209
|
+
|
|
1210
|
+
expected << %(<select id="post_written_on_4i" name="post[written_on(4i)]" class="selector">\n)
|
|
1211
|
+
0.upto(23) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 15}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
1212
|
+
expected << "</select>\n"
|
|
1213
|
+
expected << " : "
|
|
1214
|
+
expected << %(<select id="post_written_on_5i" name="post[written_on(5i)]" class="selector">\n)
|
|
1215
|
+
0.upto(59) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 16}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
1216
|
+
expected << "</select>\n"
|
|
1217
|
+
|
|
1218
|
+
assert_dom_equal expected, time_select("post", "written_on", {}, :class => 'selector')
|
|
1010
1219
|
end
|
|
1011
1220
|
|
|
1012
1221
|
def test_datetime_select
|
|
@@ -1035,7 +1244,43 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1035
1244
|
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35" selected="selected">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n}
|
|
1036
1245
|
expected << "</select>\n"
|
|
1037
1246
|
|
|
1038
|
-
|
|
1247
|
+
assert_dom_equal expected, datetime_select("post", "updated_at")
|
|
1248
|
+
end
|
|
1249
|
+
|
|
1250
|
+
uses_mocha 'TestDatetimeSelectDefaultsToTimeZoneNowWhenConfigTimeZoneIsSet' do
|
|
1251
|
+
def test_datetime_select_defaults_to_time_zone_now_when_config_time_zone_is_set
|
|
1252
|
+
time = stub(:year => 2004, :month => 6, :day => 15, :hour => 16, :min => 35, :sec => 0)
|
|
1253
|
+
time_zone = mock()
|
|
1254
|
+
time_zone.expects(:now).returns time
|
|
1255
|
+
Time.zone_default = time_zone
|
|
1256
|
+
@post = Post.new
|
|
1257
|
+
|
|
1258
|
+
expected = %{<select id="post_updated_at_1i" name="post[updated_at(1i)]">\n}
|
|
1259
|
+
expected << %{<option value="1999">1999</option>\n<option value="2000">2000</option>\n<option value="2001">2001</option>\n<option value="2002">2002</option>\n<option value="2003">2003</option>\n<option value="2004" selected="selected">2004</option>\n<option value="2005">2005</option>\n<option value="2006">2006</option>\n<option value="2007">2007</option>\n<option value="2008">2008</option>\n<option value="2009">2009</option>\n}
|
|
1260
|
+
expected << "</select>\n"
|
|
1261
|
+
|
|
1262
|
+
expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
|
|
1263
|
+
expected << %{<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6" selected="selected">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n}
|
|
1264
|
+
expected << "</select>\n"
|
|
1265
|
+
|
|
1266
|
+
expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
|
|
1267
|
+
expected << %{<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15" selected="selected">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n}
|
|
1268
|
+
expected << "</select>\n"
|
|
1269
|
+
|
|
1270
|
+
expected << " — "
|
|
1271
|
+
|
|
1272
|
+
expected << %{<select id="post_updated_at_4i" name="post[updated_at(4i)]">\n}
|
|
1273
|
+
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n}
|
|
1274
|
+
expected << "</select>\n"
|
|
1275
|
+
expected << " : "
|
|
1276
|
+
expected << %{<select id="post_updated_at_5i" name="post[updated_at(5i)]">\n}
|
|
1277
|
+
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35" selected="selected">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n}
|
|
1278
|
+
expected << "</select>\n"
|
|
1279
|
+
|
|
1280
|
+
assert_dom_equal expected, datetime_select("post", "updated_at")
|
|
1281
|
+
ensure
|
|
1282
|
+
Time.zone_default = nil
|
|
1283
|
+
end
|
|
1039
1284
|
end
|
|
1040
1285
|
|
|
1041
1286
|
def test_datetime_select_within_fields_for
|
|
@@ -1071,7 +1316,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1071
1316
|
%(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
1072
1317
|
expected << "</select>\n"
|
|
1073
1318
|
|
|
1074
|
-
|
|
1319
|
+
assert_dom_equal expected, select_date(0, :end_year => Date.today.year+1, :prefix => "date[first]")
|
|
1075
1320
|
end
|
|
1076
1321
|
|
|
1077
1322
|
def test_date_select_with_zero_value_and_no_end_year
|
|
@@ -1089,7 +1334,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1089
1334
|
%(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
1090
1335
|
expected << "</select>\n"
|
|
1091
1336
|
|
|
1092
|
-
|
|
1337
|
+
assert_dom_equal expected, select_date(0, :start_year => 2003, :prefix => "date[first]")
|
|
1093
1338
|
end
|
|
1094
1339
|
|
|
1095
1340
|
def test_date_select_with_zero_value_and_no_start_and_end_year
|
|
@@ -1106,7 +1351,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1106
1351
|
%(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
1107
1352
|
expected << "</select>\n"
|
|
1108
1353
|
|
|
1109
|
-
|
|
1354
|
+
assert_dom_equal expected, select_date(0, :prefix => "date[first]")
|
|
1110
1355
|
end
|
|
1111
1356
|
|
|
1112
1357
|
def test_date_select_with_nil_value_and_no_start_and_end_year
|
|
@@ -1123,7 +1368,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1123
1368
|
%(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
1124
1369
|
expected << "</select>\n"
|
|
1125
1370
|
|
|
1126
|
-
|
|
1371
|
+
assert_dom_equal expected, select_date(nil, :prefix => "date[first]")
|
|
1127
1372
|
end
|
|
1128
1373
|
|
|
1129
1374
|
def test_datetime_select_with_nil_value_and_no_start_and_end_year
|
|
@@ -1136,8 +1381,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1136
1381
|
expected << "</select>\n"
|
|
1137
1382
|
|
|
1138
1383
|
expected << %(<select id="date_first_day" name="date[first][day]">\n)
|
|
1139
|
-
expected <<
|
|
1140
|
-
%(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
1384
|
+
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
|
1141
1385
|
expected << "</select>\n"
|
|
1142
1386
|
|
|
1143
1387
|
expected << %(<select id="date_first_hour" name="date[first][hour]">\n)
|
|
@@ -1148,10 +1392,9 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1148
1392
|
expected << %(<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n)
|
|
1149
1393
|
expected << "</select>\n"
|
|
1150
1394
|
|
|
1151
|
-
|
|
1395
|
+
assert_dom_equal expected, select_datetime(nil, :prefix => "date[first]")
|
|
1152
1396
|
end
|
|
1153
1397
|
|
|
1154
|
-
|
|
1155
1398
|
def test_datetime_select_with_options_index
|
|
1156
1399
|
@post = Post.new
|
|
1157
1400
|
@post.updated_at = Time.local(2004, 6, 15, 16, 35)
|
|
@@ -1179,7 +1422,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1179
1422
|
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35" selected="selected">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n}
|
|
1180
1423
|
expected << "</select>\n"
|
|
1181
1424
|
|
|
1182
|
-
|
|
1425
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :index => id)
|
|
1183
1426
|
end
|
|
1184
1427
|
|
|
1185
1428
|
def test_datetime_select_with_auto_index
|
|
@@ -1209,7 +1452,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1209
1452
|
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35" selected="selected">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n}
|
|
1210
1453
|
expected << "</select>\n"
|
|
1211
1454
|
|
|
1212
|
-
|
|
1455
|
+
assert_dom_equal expected, datetime_select("post[]", "updated_at")
|
|
1213
1456
|
end
|
|
1214
1457
|
|
|
1215
1458
|
def test_datetime_select_with_seconds
|
|
@@ -1240,7 +1483,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1240
1483
|
0.upto(59) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 35}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
1241
1484
|
expected << "</select>\n"
|
|
1242
1485
|
|
|
1243
|
-
|
|
1486
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :include_seconds => true)
|
|
1244
1487
|
end
|
|
1245
1488
|
|
|
1246
1489
|
def test_datetime_select_discard_year
|
|
@@ -1265,7 +1508,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1265
1508
|
0.upto(59) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 16}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
1266
1509
|
expected << "</select>\n"
|
|
1267
1510
|
|
|
1268
|
-
|
|
1511
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :discard_year => true)
|
|
1269
1512
|
end
|
|
1270
1513
|
|
|
1271
1514
|
def test_datetime_select_discard_month
|
|
@@ -1288,7 +1531,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1288
1531
|
0.upto(59) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 16}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
1289
1532
|
expected << "</select>\n"
|
|
1290
1533
|
|
|
1291
|
-
|
|
1534
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :discard_month => true)
|
|
1292
1535
|
end
|
|
1293
1536
|
|
|
1294
1537
|
def test_datetime_select_discard_year_and_month
|
|
@@ -1307,7 +1550,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1307
1550
|
0.upto(59) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 16}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
1308
1551
|
expected << "</select>\n"
|
|
1309
1552
|
|
|
1310
|
-
|
|
1553
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :discard_year => true, :discard_month => true)
|
|
1311
1554
|
end
|
|
1312
1555
|
|
|
1313
1556
|
def test_datetime_select_invalid_order
|
|
@@ -1334,7 +1577,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1334
1577
|
0.upto(59) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 16}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
1335
1578
|
expected << "</select>\n"
|
|
1336
1579
|
|
|
1337
|
-
|
|
1580
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :order => [:minute, :day, :hour, :month, :year, :second])
|
|
1338
1581
|
end
|
|
1339
1582
|
|
|
1340
1583
|
def test_datetime_select_discard_with_order
|
|
@@ -1359,7 +1602,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1359
1602
|
0.upto(59) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 16}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
1360
1603
|
expected << "</select>\n"
|
|
1361
1604
|
|
|
1362
|
-
|
|
1605
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :order => [:day, :month])
|
|
1363
1606
|
end
|
|
1364
1607
|
|
|
1365
1608
|
def test_datetime_select_with_default_value_as_time
|
|
@@ -1386,7 +1629,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1386
1629
|
0.upto(59) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 16}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
1387
1630
|
expected << "</select>\n"
|
|
1388
1631
|
|
|
1389
|
-
|
|
1632
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :default => Time.local(2006, 9, 19, 15, 16, 35))
|
|
1390
1633
|
end
|
|
1391
1634
|
|
|
1392
1635
|
def test_include_blank_overrides_default_option
|
|
@@ -1406,7 +1649,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1406
1649
|
1.upto(31) { |i| expected << %(<option value="#{i}">#{i}</option>\n) }
|
|
1407
1650
|
expected << "</select>\n"
|
|
1408
1651
|
|
|
1409
|
-
|
|
1652
|
+
assert_dom_equal expected, date_select("post", "updated_at", :default => Time.local(2006, 9, 19, 15, 16, 35), :include_blank => true)
|
|
1410
1653
|
end
|
|
1411
1654
|
|
|
1412
1655
|
def test_datetime_select_with_default_value_as_hash
|
|
@@ -1433,6 +1676,65 @@ class DateHelperTest < Test::Unit::TestCase
|
|
|
1433
1676
|
0.upto(59) { |i| expected << %(<option value="#{leading_zero_on_single_digits(i)}"#{' selected="selected"' if i == 42}>#{leading_zero_on_single_digits(i)}</option>\n) }
|
|
1434
1677
|
expected << "</select>\n"
|
|
1435
1678
|
|
|
1436
|
-
|
|
1679
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :default => { :month => 10, :minute => 42, :hour => 9 })
|
|
1680
|
+
end
|
|
1681
|
+
|
|
1682
|
+
def test_datetime_select_with_html_options
|
|
1683
|
+
@post = Post.new
|
|
1684
|
+
@post.updated_at = Time.local(2004, 6, 15, 16, 35)
|
|
1685
|
+
|
|
1686
|
+
expected = %{<select id="post_updated_at_1i" name="post[updated_at(1i)]" class="selector">\n}
|
|
1687
|
+
expected << %{<option value="1999">1999</option>\n<option value="2000">2000</option>\n<option value="2001">2001</option>\n<option value="2002">2002</option>\n<option value="2003">2003</option>\n<option value="2004" selected="selected">2004</option>\n<option value="2005">2005</option>\n<option value="2006">2006</option>\n<option value="2007">2007</option>\n<option value="2008">2008</option>\n<option value="2009">2009</option>\n}
|
|
1688
|
+
expected << "</select>\n"
|
|
1689
|
+
|
|
1690
|
+
expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]" class="selector">\n}
|
|
1691
|
+
expected << %{<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6" selected="selected">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n}
|
|
1692
|
+
expected << "</select>\n"
|
|
1693
|
+
|
|
1694
|
+
expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]" class="selector">\n}
|
|
1695
|
+
expected << %{<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15" selected="selected">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n}
|
|
1696
|
+
expected << "</select>\n"
|
|
1697
|
+
|
|
1698
|
+
expected << " — "
|
|
1699
|
+
|
|
1700
|
+
expected << %{<select id="post_updated_at_4i" name="post[updated_at(4i)]" class="selector">\n}
|
|
1701
|
+
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n}
|
|
1702
|
+
expected << "</select>\n"
|
|
1703
|
+
expected << " : "
|
|
1704
|
+
expected << %{<select id="post_updated_at_5i" name="post[updated_at(5i)]" class="selector">\n}
|
|
1705
|
+
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35" selected="selected">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n}
|
|
1706
|
+
expected << "</select>\n"
|
|
1707
|
+
|
|
1708
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", {}, :class => 'selector')
|
|
1709
|
+
end
|
|
1710
|
+
|
|
1711
|
+
uses_mocha 'TestInstanceTagDefaultTimeFromOptions' do
|
|
1712
|
+
def test_instance_tag_default_time_from_options_uses_time_current_as_default_when_hash_passed_as_arg
|
|
1713
|
+
dummy_instance_tag = ActionView::Helpers::InstanceTag.new(1,2,3)
|
|
1714
|
+
Time.expects(:current).returns Time.now
|
|
1715
|
+
dummy_instance_tag.send!(:default_time_from_options, :hour => 2)
|
|
1716
|
+
end
|
|
1717
|
+
|
|
1718
|
+
def test_instance_tag_default_time_from_options_respects_hash_arg_settings_when_time_falls_in_system_local_dst_spring_gap
|
|
1719
|
+
with_env_tz('US/Central') do
|
|
1720
|
+
dummy_instance_tag = ActionView::Helpers::InstanceTag.new(1,2,3)
|
|
1721
|
+
Time.stubs(:now).returns Time.local(2006, 4, 2, 1)
|
|
1722
|
+
assert_equal 2, dummy_instance_tag.send!(:default_time_from_options, :hour => 2).hour
|
|
1723
|
+
end
|
|
1724
|
+
end
|
|
1725
|
+
|
|
1726
|
+
def test_instance_tag_default_time_from_options_handles_far_future_date
|
|
1727
|
+
dummy_instance_tag = ActionView::Helpers::InstanceTag.new(1,2,3)
|
|
1728
|
+
time = dummy_instance_tag.send!(:default_time_from_options, :year => 2050, :month => 2, :day => 10, :hour => 15, :min => 30, :sec => 45)
|
|
1729
|
+
assert_equal 2050, time.year
|
|
1730
|
+
end
|
|
1437
1731
|
end
|
|
1732
|
+
|
|
1733
|
+
protected
|
|
1734
|
+
def with_env_tz(new_tz = 'US/Eastern')
|
|
1735
|
+
old_tz, ENV['TZ'] = ENV['TZ'], new_tz
|
|
1736
|
+
yield
|
|
1737
|
+
ensure
|
|
1738
|
+
old_tz ? ENV['TZ'] = old_tz : ENV.delete('TZ')
|
|
1739
|
+
end
|
|
1438
1740
|
end
|