actionpack 1.7.0 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of actionpack might be problematic. Click here for more details.
- data/CHANGELOG +109 -0
- data/README +2 -2
- data/RUNNING_UNIT_TESTS +1 -1
- data/install.rb +8 -77
- data/lib/action_controller/assertions.rb +203 -0
- data/lib/action_controller/base.rb +15 -7
- data/lib/action_controller/benchmarking.rb +10 -4
- data/lib/action_controller/caching.rb +28 -17
- data/lib/action_controller/cgi_ext/raw_post_data_fix.rb +5 -9
- data/lib/action_controller/cgi_process.rb +5 -1
- data/lib/action_controller/cookies.rb +3 -2
- data/lib/action_controller/deprecated_assertions.rb +204 -0
- data/lib/action_controller/flash.rb +30 -36
- data/lib/action_controller/pagination.rb +4 -4
- data/lib/action_controller/request.rb +18 -2
- data/lib/action_controller/routing.rb +6 -2
- data/lib/action_controller/scaffolding.rb +1 -1
- data/lib/action_controller/templates/rescues/diagnostics.rhtml +1 -1
- data/lib/action_controller/templates/rescues/routing_error.rhtml +4 -2
- data/lib/action_controller/templates/rescues/template_error.rhtml +5 -4
- data/lib/action_controller/templates/scaffolds/list.rhtml +3 -0
- data/lib/action_controller/test_process.rb +60 -17
- data/lib/action_controller/url_rewriter.rb +3 -3
- data/lib/action_controller/vendor/html-scanner/html/document.rb +63 -0
- data/lib/action_controller/vendor/html-scanner/html/node.rb +431 -0
- data/lib/action_controller/vendor/html-scanner/html/tokenizer.rb +95 -0
- data/lib/action_controller/vendor/html-scanner/html/version.rb +11 -0
- data/lib/action_controller/verification.rb +13 -4
- data/lib/action_view/base.rb +3 -2
- data/lib/action_view/helpers/active_record_helper.rb +1 -1
- data/lib/action_view/helpers/asset_tag_helper.rb +31 -9
- data/lib/action_view/helpers/date_helper.rb +25 -22
- data/lib/action_view/helpers/form_helper.rb +6 -5
- data/lib/action_view/helpers/form_options_helper.rb +4 -4
- data/lib/action_view/helpers/javascript_helper.rb +28 -6
- data/lib/action_view/helpers/javascripts/prototype.js +340 -30
- data/lib/action_view/helpers/number_helper.rb +110 -0
- data/lib/action_view/helpers/pagination_helper.rb +1 -1
- data/lib/action_view/helpers/text_helper.rb +8 -21
- data/lib/action_view/helpers/url_helper.rb +21 -4
- data/lib/action_view/partials.rb +39 -9
- data/rakefile +29 -5
- data/test/abstract_unit.rb +1 -0
- data/test/controller/action_pack_assertions_test.rb +1 -2
- data/test/controller/active_record_assertions_test.rb +1 -1
- data/test/controller/cgi_test.rb +0 -1
- data/test/controller/cookie_test.rb +11 -1
- data/test/controller/helper_test.rb +0 -12
- data/test/controller/render_test.rb +9 -0
- data/test/controller/request_test.rb +44 -1
- data/test/controller/routing_tests.rb +4 -1
- data/test/controller/test_test.rb +62 -0
- data/test/controller/verification_test.rb +21 -0
- data/test/fixtures/test/_partial_only.rhtml +1 -0
- data/test/template/active_record_helper_test.rb +2 -2
- data/test/template/asset_tag_helper_test.rb +52 -4
- data/test/template/date_helper_test.rb +163 -32
- data/test/template/form_helper_test.rb +9 -6
- data/test/template/form_options_helper_test.rb +18 -15
- data/test/template/number_helper_test.rb +51 -0
- data/test/template/text_helper_test.rb +17 -20
- data/test/template/url_helper_test.rb +7 -1
- metadata +15 -6
- data/lib/action_controller/assertions/action_pack_assertions.rb +0 -260
- data/lib/action_controller/assertions/active_record_assertions.rb +0 -65
@@ -59,6 +59,10 @@ class TestController < ActionController::Base
|
|
59
59
|
render_action "list"
|
60
60
|
end
|
61
61
|
|
62
|
+
def partial_only
|
63
|
+
render_partial
|
64
|
+
end
|
65
|
+
|
62
66
|
def hello_in_a_string
|
63
67
|
@customers = [ Customer.new("david"), Customer.new("mary") ]
|
64
68
|
render_text "How's there? #{render_to_string("test/list")}"
|
@@ -181,6 +185,11 @@ class RenderTest < Test::Unit::TestCase
|
|
181
185
|
assert_equal "Hello: davidHello: mary", process_request.body
|
182
186
|
end
|
183
187
|
|
188
|
+
def test_partial_only
|
189
|
+
@request.action = "partial_only"
|
190
|
+
assert_equal "only partial", process_request.body
|
191
|
+
end
|
192
|
+
|
184
193
|
def test_render_to_string
|
185
194
|
@request.action = "hello_in_a_string"
|
186
195
|
assert_equal "How's there? Hello: davidHello: mary", process_request.body
|
@@ -83,7 +83,50 @@ class RequestTest < Test::Unit::TestCase
|
|
83
83
|
@request.set_REQUEST_URI "/collaboration/hieraki/books/edit/2"
|
84
84
|
@request.env['SCRIPT_NAME'] = "/collaboration/hieraki/dispatch.cgi"
|
85
85
|
assert_equal "/collaboration/hieraki/books/edit/2", @request.request_uri
|
86
|
-
assert_equal "/books/edit/2", @request.path
|
86
|
+
assert_equal "/books/edit/2", @request.path
|
87
|
+
|
88
|
+
# The following tests are for when REQUEST_URI is not supplied (as in IIS)
|
89
|
+
@request.set_REQUEST_URI nil
|
90
|
+
@request.env['PATH_INFO'] = "/path/of/some/uri?mapped=1"
|
91
|
+
@request.env['SCRIPT_NAME'] = nil #"/path/dispatch.rb"
|
92
|
+
assert_equal "/path/of/some/uri?mapped=1", @request.request_uri
|
93
|
+
assert_equal "/path/of/some/uri", @request.path
|
94
|
+
|
95
|
+
@request.env['PATH_INFO'] = "/path/of/some/uri?mapped=1"
|
96
|
+
@request.env['SCRIPT_NAME'] = "/path/dispatch.rb"
|
97
|
+
assert_equal "/path/of/some/uri?mapped=1", @request.request_uri
|
98
|
+
assert_equal "/of/some/uri", @request.path
|
99
|
+
|
100
|
+
@request.env['PATH_INFO'] = "/path/of/some/uri"
|
101
|
+
@request.env['SCRIPT_NAME'] = nil
|
102
|
+
assert_equal "/path/of/some/uri", @request.request_uri
|
103
|
+
assert_equal "/path/of/some/uri", @request.path
|
104
|
+
|
105
|
+
@request.env['PATH_INFO'] = "/"
|
106
|
+
assert_equal "/", @request.request_uri
|
107
|
+
assert_equal "/", @request.path
|
108
|
+
|
109
|
+
@request.env['PATH_INFO'] = "/?m=b"
|
110
|
+
assert_equal "/?m=b", @request.request_uri
|
111
|
+
assert_equal "/", @request.path
|
112
|
+
|
113
|
+
@request.env['PATH_INFO'] = "/"
|
114
|
+
@request.env['SCRIPT_NAME'] = "/dispatch.cgi"
|
115
|
+
assert_equal "/", @request.request_uri
|
116
|
+
assert_equal "/", @request.path
|
117
|
+
|
118
|
+
@request.env['PATH_INFO'] = "/hieraki/"
|
119
|
+
@request.env['SCRIPT_NAME'] = "/hieraki/dispatch.cgi"
|
120
|
+
assert_equal "/hieraki/", @request.request_uri
|
121
|
+
assert_equal "/", @request.path
|
122
|
+
|
123
|
+
# This test ensures that Rails uses REQUEST_URI over PATH_INFO
|
124
|
+
@request.env['REQUEST_URI'] = "/some/path"
|
125
|
+
@request.env['PATH_INFO'] = "/another/path"
|
126
|
+
@request.env['SCRIPT_NAME'] = "/dispatch.cgi"
|
127
|
+
assert_equal "/some/path", @request.request_uri
|
128
|
+
assert_equal "/some/path", @request.path
|
129
|
+
|
87
130
|
|
88
131
|
end
|
89
132
|
|
@@ -343,7 +343,10 @@ class RouteTests < Test::Unit::TestCase
|
|
343
343
|
{})
|
344
344
|
end
|
345
345
|
|
346
|
-
|
346
|
+
def test_path_empty_list
|
347
|
+
route '*a', :controller => 'content'
|
348
|
+
verify_recognize '', :controller => 'content', :a => []
|
349
|
+
end
|
347
350
|
|
348
351
|
def test_special_characters
|
349
352
|
route ':id', :controller => 'content', :action => 'fish'
|
@@ -5,12 +5,41 @@ class TestTest < Test::Unit::TestCase
|
|
5
5
|
def set_flash
|
6
6
|
flash["test"] = ">#{flash["test"]}<"
|
7
7
|
end
|
8
|
+
|
9
|
+
def test_uri
|
10
|
+
render_text @request.request_uri
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_html_output
|
14
|
+
render_text <<HTML
|
15
|
+
<html>
|
16
|
+
<body>
|
17
|
+
<div id="foo">
|
18
|
+
<ul>
|
19
|
+
<li class="item">hello</li>
|
20
|
+
<li class="item">goodbye</li>
|
21
|
+
</ul>
|
22
|
+
</div>
|
23
|
+
<div id="bar">
|
24
|
+
<form action="/somewhere">
|
25
|
+
Name: <input type="text" name="person[name]" id="person_name" />
|
26
|
+
</form>
|
27
|
+
</div>
|
28
|
+
</body>
|
29
|
+
</html>
|
30
|
+
HTML
|
31
|
+
end
|
8
32
|
end
|
9
33
|
|
10
34
|
def setup
|
11
35
|
@controller = TestController.new
|
12
36
|
@request = ActionController::TestRequest.new
|
13
37
|
@response = ActionController::TestResponse.new
|
38
|
+
ActionController::Routing::Routes.reload
|
39
|
+
end
|
40
|
+
|
41
|
+
def teardown
|
42
|
+
ActionController::Routing::Routes.reload
|
14
43
|
end
|
15
44
|
|
16
45
|
def test_process_without_flash
|
@@ -22,4 +51,37 @@ class TestTest < Test::Unit::TestCase
|
|
22
51
|
process :set_flash, nil, nil, { "test" => "value" }
|
23
52
|
assert_flash_equal ">value<", "test"
|
24
53
|
end
|
54
|
+
|
55
|
+
def test_process_with_request_uri_with_no_params
|
56
|
+
process :test_uri
|
57
|
+
assert_equal @response.body, "/test_test/test/test_uri"
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_process_with_request_uri_with_params
|
61
|
+
process :test_uri, :id => 7
|
62
|
+
assert_equal @response.body, "/test_test/test/test_uri/7"
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_process_with_request_uri_with_params_with_explicit_uri
|
66
|
+
@request.set_REQUEST_URI "/explicit/uri"
|
67
|
+
process :test_uri, :id => 7
|
68
|
+
assert_equal @response.body, "/explicit/uri"
|
69
|
+
end
|
70
|
+
|
71
|
+
def test_assert_tag
|
72
|
+
process :test_html_output
|
73
|
+
|
74
|
+
# there is a 'div', id='bar', with an immediate child whose 'action'
|
75
|
+
# attribute matches the regexp /somewhere/.
|
76
|
+
assert_tag :tag => "div", :attributes => { :id => "bar" },
|
77
|
+
:child => { :attributes => { :action => /somewhere/ } }
|
78
|
+
|
79
|
+
# there is no 'div', id='foo', with a 'ul' child with more than
|
80
|
+
# 2 "li" children.
|
81
|
+
assert_no_tag :tag => "div", :attributes => { :id => "foo" },
|
82
|
+
:child => {
|
83
|
+
:tag => "ul",
|
84
|
+
:children => { :greater_than => 2,
|
85
|
+
:only => { :tag => "li" } } }
|
86
|
+
end
|
25
87
|
end
|
@@ -18,6 +18,9 @@ class VerificationTest < Test::Unit::TestCase
|
|
18
18
|
verify :only => [:multi_one, :multi_two], :session => %w( one two ),
|
19
19
|
:redirect_to => { :action => "unguarded" }
|
20
20
|
|
21
|
+
verify :only => :guarded_by_method, :method => :post,
|
22
|
+
:redirect_to => { :action => "unguarded" }
|
23
|
+
|
21
24
|
def guarded_one
|
22
25
|
render_text "#{@params["one"]}"
|
23
26
|
end
|
@@ -42,9 +45,15 @@ class VerificationTest < Test::Unit::TestCase
|
|
42
45
|
render_text "#{@session["two"]}:#{@session["one"]}"
|
43
46
|
end
|
44
47
|
|
48
|
+
def guarded_by_method
|
49
|
+
render_text "#{@request.method}"
|
50
|
+
end
|
51
|
+
|
45
52
|
def unguarded
|
46
53
|
render_text "#{@params["one"]}"
|
47
54
|
end
|
55
|
+
|
56
|
+
def rescue_action(e) raise end
|
48
57
|
end
|
49
58
|
|
50
59
|
def setup
|
@@ -134,4 +143,16 @@ class VerificationTest < Test::Unit::TestCase
|
|
134
143
|
process "multi_two"
|
135
144
|
assert_redirected_to :action => "unguarded"
|
136
145
|
end
|
146
|
+
|
147
|
+
def test_guarded_by_method_with_prereqs
|
148
|
+
@request.env["REQUEST_METHOD"] = "POST"
|
149
|
+
process "guarded_by_method"
|
150
|
+
assert_equal "post", @response.body
|
151
|
+
end
|
152
|
+
|
153
|
+
def test_guarded_by_method_without_prereqs
|
154
|
+
@request.env["REQUEST_METHOD"] = "GET"
|
155
|
+
process "guarded_by_method"
|
156
|
+
assert_redirected_to :action => "unguarded"
|
157
|
+
end
|
137
158
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
only partial
|
@@ -85,7 +85,7 @@ class ActiveRecordHelperTest < Test::Unit::TestCase
|
|
85
85
|
def Post.content_columns() [ Column.new(:date, "written_on", "Written on") ] end
|
86
86
|
|
87
87
|
assert_equal(
|
88
|
-
%(<form action="create" method="post"><p><label for="post_written_on">Written on</label><br /><select name="post[written_on(1i)]">\n<option>1999</option>\n<option>2000</option>\n<option>2001</option>\n<option>2002</option>\n<option>2003</option>\n<option selected="selected">2004</option>\n<option>2005</option>\n<option>2006</option>\n<option>2007</option>\n<option>2008</option>\n<option>2009</option>\n</select>\n<select name="post[written_on(2i)]">\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" 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</select>\n<select name="post[written_on(3i)]">\n<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option selected="selected">15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n</select>\n</p><input type="submit" value="Create" /></form>),
|
88
|
+
%(<form action="create" method="post"><p><label for="post_written_on">Written on</label><br /><select name="post[written_on(1i)]">\n<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</select>\n<select name="post[written_on(2i)]">\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" 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</select>\n<select name="post[written_on(3i)]">\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" 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</select>\n</p><input type="submit" value="Create" /></form>),
|
89
89
|
form("post")
|
90
90
|
)
|
91
91
|
end
|
@@ -95,7 +95,7 @@ class ActiveRecordHelperTest < Test::Unit::TestCase
|
|
95
95
|
@post.written_on = Time.gm(2004, 6, 15, 16, 30)
|
96
96
|
|
97
97
|
assert_equal(
|
98
|
-
%(<form action="create" method="post"><p><label for="post_written_on">Written on</label><br /><select name="post[written_on(1i)]">\n<option>1999</option>\n<option>2000</option>\n<option>2001</option>\n<option>2002</option>\n<option>2003</option>\n<option selected="selected">2004</option>\n<option>2005</option>\n<option>2006</option>\n<option>2007</option>\n<option>2008</option>\n<option>2009</option>\n</select>\n<select name="post[written_on(2i)]">\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" 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</select>\n<select name="post[written_on(3i)]">\n<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option selected="selected">15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n</select>\n — <select name="post[written_on(4i)]">\n<option>00</option>\n<option>01</option>\n<option>02</option>\n<option>03</option>\n<option>04</option>\n<option>05</option>\n<option>06</option>\n<option>07</option>\n<option>08</option>\n<option>09</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option selected="selected">16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n</select>\n : <select name="post[written_on(5i)]">\n<option>00</option>\n<option>01</option>\n<option>02</option>\n<option>03</option>\n<option>04</option>\n<option>05</option>\n<option>06</option>\n<option>07</option>\n<option>08</option>\n<option>09</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option selected="selected">30</option>\n<option>31</option>\n<option>32</option>\n<option>33</option>\n<option>34</option>\n<option>35</option>\n<option>36</option>\n<option>37</option>\n<option>38</option>\n<option>39</option>\n<option>40</option>\n<option>41</option>\n<option>42</option>\n<option>43</option>\n<option>44</option>\n<option>45</option>\n<option>46</option>\n<option>47</option>\n<option>48</option>\n<option>49</option>\n<option>50</option>\n<option>51</option>\n<option>52</option>\n<option>53</option>\n<option>54</option>\n<option>55</option>\n<option>56</option>\n<option>57</option>\n<option>58</option>\n<option>59</option>\n</select>\n</p><input type="submit" value="Create" /></form>),
|
98
|
+
%(<form action="create" method="post"><p><label for="post_written_on">Written on</label><br /><select name="post[written_on(1i)]">\n<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</select>\n<select name="post[written_on(2i)]">\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" 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</select>\n<select name="post[written_on(3i)]">\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" 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</select>\n — <select name="post[written_on(4i)]">\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" 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</select>\n : <select name="post[written_on(5i)]">\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" selected="selected">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</select>\n</p><input type="submit" value="Create" /></form>),
|
99
99
|
form("post")
|
100
100
|
)
|
101
101
|
end
|
@@ -29,9 +29,17 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
29
29
|
%(auto_discovery_link_tag(:rss, :action => "feed")) => %(<link href="http://www.example.com" rel="alternate" title="RSS" type="application/rss+xml" />),
|
30
30
|
}
|
31
31
|
|
32
|
+
JavascriptPathToTag = {
|
33
|
+
%(javascript_path("xmlhr")) => %(/javascripts/xmlhr.js),
|
34
|
+
}
|
35
|
+
|
32
36
|
JavascriptIncludeToTag = {
|
33
|
-
%(javascript_include_tag("xmlhr")) => %(<script
|
34
|
-
%(javascript_include_tag("common.javascript", "/elsewhere/cools")) => %(<script
|
37
|
+
%(javascript_include_tag("xmlhr")) => %(<script src="/javascripts/xmlhr.js" type="text/javascript"></script>),
|
38
|
+
%(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>),
|
39
|
+
}
|
40
|
+
|
41
|
+
StylePathToTag = {
|
42
|
+
%(stylesheet_path("style")) => %(/stylesheets/style.css),
|
35
43
|
}
|
36
44
|
|
37
45
|
StyleLinkToTag = {
|
@@ -39,6 +47,10 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
39
47
|
%(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" />)
|
40
48
|
}
|
41
49
|
|
50
|
+
ImagePathToTag = {
|
51
|
+
%(image_path("xml")) => %(/images/xml.png),
|
52
|
+
}
|
53
|
+
|
42
54
|
ImageLinkToTag = {
|
43
55
|
%(image_tag("xml")) => %(<img alt="Xml" src="/images/xml.png" />),
|
44
56
|
%(image_tag("rss", :alt => "rss syndication")) => %(<img alt="rss syndication" src="/images/rss.png" />),
|
@@ -49,14 +61,26 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|
49
61
|
AutoDiscoveryToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
50
62
|
end
|
51
63
|
|
64
|
+
def test_javascript_path
|
65
|
+
JavascriptPathToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
66
|
+
end
|
67
|
+
|
52
68
|
def test_javascript_include
|
53
69
|
JavascriptIncludeToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
54
70
|
end
|
55
71
|
|
72
|
+
def test_style_path
|
73
|
+
StylePathToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
74
|
+
end
|
75
|
+
|
56
76
|
def test_style_link
|
57
77
|
StyleLinkToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
58
78
|
end
|
59
79
|
|
80
|
+
def test_image_path
|
81
|
+
ImagePathToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
82
|
+
end
|
83
|
+
|
60
84
|
def test_image_tag
|
61
85
|
ImageLinkToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
62
86
|
end
|
@@ -91,15 +115,27 @@ class AssetTagHelperNonVhostTest < Test::Unit::TestCase
|
|
91
115
|
%(auto_discovery_link_tag) => %(<link href="http://www.example.com/calloboration/hieraki" rel="alternate" title="RSS" type="application/rss+xml" />),
|
92
116
|
}
|
93
117
|
|
118
|
+
JavascriptPathToTag = {
|
119
|
+
%(javascript_path("xmlhr")) => %(/calloboration/hieraki/javascripts/xmlhr.js),
|
120
|
+
}
|
121
|
+
|
94
122
|
JavascriptIncludeToTag = {
|
95
|
-
%(javascript_include_tag("xmlhr")) => %(<script
|
96
|
-
%(javascript_include_tag("common.javascript", "/elsewhere/cools")) => %(<script
|
123
|
+
%(javascript_include_tag("xmlhr")) => %(<script src="/calloboration/hieraki/javascripts/xmlhr.js" type="text/javascript"></script>),
|
124
|
+
%(javascript_include_tag("common.javascript", "/elsewhere/cools")) => %(<script src="/calloboration/hieraki/javascripts/common.javascript" type="text/javascript"></script>\n<script src="/calloboration/hieraki/elsewhere/cools.js" type="text/javascript"></script>),
|
125
|
+
}
|
126
|
+
|
127
|
+
StylePathToTag = {
|
128
|
+
%(stylesheet_path("style")) => %(/calloboration/hieraki/stylesheets/style.css),
|
97
129
|
}
|
98
130
|
|
99
131
|
StyleLinkToTag = {
|
100
132
|
%(stylesheet_link_tag("style")) => %(<link href="/calloboration/hieraki/stylesheets/style.css" media="screen" rel="Stylesheet" type="text/css" />),
|
101
133
|
%(stylesheet_link_tag("random.styles", "/css/stylish")) => %(<link href="/calloboration/hieraki/stylesheets/random.styles" media="screen" rel="Stylesheet" type="text/css" />\n<link href="/calloboration/hieraki/css/stylish.css" media="screen" rel="Stylesheet" type="text/css" />)
|
102
134
|
}
|
135
|
+
|
136
|
+
ImagePathToTag = {
|
137
|
+
%(image_path("xml")) => %(/calloboration/hieraki/images/xml.png),
|
138
|
+
}
|
103
139
|
|
104
140
|
ImageLinkToTag = {
|
105
141
|
%(image_tag("xml")) => %(<img alt="Xml" src="/calloboration/hieraki/images/xml.png" />),
|
@@ -111,10 +147,18 @@ class AssetTagHelperNonVhostTest < Test::Unit::TestCase
|
|
111
147
|
AutoDiscoveryToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
112
148
|
end
|
113
149
|
|
150
|
+
def test_javascript_path
|
151
|
+
JavascriptPathToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
152
|
+
end
|
153
|
+
|
114
154
|
def test_javascript_include
|
115
155
|
JavascriptIncludeToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
116
156
|
end
|
117
157
|
|
158
|
+
def test_style_path
|
159
|
+
StylePathToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
160
|
+
end
|
161
|
+
|
118
162
|
def test_style_link
|
119
163
|
StyleLinkToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
120
164
|
end
|
@@ -122,6 +166,10 @@ class AssetTagHelperNonVhostTest < Test::Unit::TestCase
|
|
122
166
|
def test_image_tag
|
123
167
|
assert_equal %(<img alt="Gold" height="70" src="/calloboration/hieraki/images/gold.png" width="45" />), image_tag("gold", :size => "45x70")
|
124
168
|
end
|
169
|
+
|
170
|
+
def test_image_path
|
171
|
+
ImagePathToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
172
|
+
end
|
125
173
|
|
126
174
|
def test_image_tag
|
127
175
|
ImageLinkToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
@@ -34,7 +34,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
34
34
|
def test_select_day
|
35
35
|
expected = %(<select name="date[day]">\n)
|
36
36
|
expected <<
|
37
|
-
%(<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option selected="selected">16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n)
|
37
|
+
%(<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)
|
38
38
|
expected << "</select>\n"
|
39
39
|
|
40
40
|
assert_equal expected, select_day(Time.mktime(2003, 8, 16))
|
@@ -44,13 +44,22 @@ class DateHelperTest < Test::Unit::TestCase
|
|
44
44
|
def test_select_day_with_blank
|
45
45
|
expected = %(<select name="date[day]">\n)
|
46
46
|
expected <<
|
47
|
-
%(<option></option>\n<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option selected="selected">16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n)
|
47
|
+
%(<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)
|
48
48
|
expected << "</select>\n"
|
49
49
|
|
50
50
|
assert_equal expected, select_day(Time.mktime(2003, 8, 16), :include_blank => true)
|
51
51
|
assert_equal expected, select_day(16, :include_blank => true)
|
52
52
|
end
|
53
53
|
|
54
|
+
def test_select_day_nil_with_blank
|
55
|
+
expected = %(<select name="date[day]">\n)
|
56
|
+
expected <<
|
57
|
+
%(<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)
|
58
|
+
expected << "</select>\n"
|
59
|
+
|
60
|
+
assert_equal expected, select_day(nil, :include_blank => true)
|
61
|
+
end
|
62
|
+
|
54
63
|
def test_select_month
|
55
64
|
expected = %(<select name="date[month]">\n)
|
56
65
|
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)
|
@@ -60,6 +69,23 @@ class DateHelperTest < Test::Unit::TestCase
|
|
60
69
|
assert_equal expected, select_month(8)
|
61
70
|
end
|
62
71
|
|
72
|
+
def test_select_month_with_blank
|
73
|
+
expected = %(<select name="date[month]">\n)
|
74
|
+
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)
|
75
|
+
expected << "</select>\n"
|
76
|
+
|
77
|
+
assert_equal expected, select_month(Time.mktime(2003, 8, 16), :include_blank => true)
|
78
|
+
assert_equal expected, select_month(8, :include_blank => true)
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_select_month_nil_with_blank
|
82
|
+
expected = %(<select name="date[month]">\n)
|
83
|
+
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)
|
84
|
+
expected << "</select>\n"
|
85
|
+
|
86
|
+
assert_equal expected, select_month(nil, :include_blank => true)
|
87
|
+
end
|
88
|
+
|
63
89
|
def test_select_month_with_numbers
|
64
90
|
expected = %(<select name="date[month]">\n)
|
65
91
|
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)
|
@@ -80,7 +106,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
80
106
|
|
81
107
|
def test_select_year
|
82
108
|
expected = %(<select name="date[year]">\n)
|
83
|
-
expected << %(<option selected="selected">2003</option>\n<option>2004</option>\n<option>2005</option>\n)
|
109
|
+
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
84
110
|
expected << "</select>\n"
|
85
111
|
|
86
112
|
assert_equal expected, select_year(Time.mktime(2003, 8, 16), :start_year => 2003, :end_year => 2005)
|
@@ -89,7 +115,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
89
115
|
|
90
116
|
def test_select_year_with_type_discarding
|
91
117
|
expected = %(<select name="date_year">\n)
|
92
|
-
expected << %(<option selected="selected">2003</option>\n<option>2004</option>\n<option>2005</option>\n)
|
118
|
+
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
93
119
|
expected << "</select>\n"
|
94
120
|
|
95
121
|
assert_equal expected, select_year(
|
@@ -100,32 +126,95 @@ class DateHelperTest < Test::Unit::TestCase
|
|
100
126
|
|
101
127
|
def test_select_hour
|
102
128
|
expected = %(<select name="date[hour]">\n)
|
103
|
-
expected << %(<option>00</option>\n<option>01</option>\n<option>02</option>\n<option>03</option>\n<option>04</option>\n<option>05</option>\n<option>06</option>\n<option>07</option>\n<option selected="selected">08</option>\n<option>09</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n)
|
129
|
+
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)
|
104
130
|
expected << "</select>\n"
|
105
131
|
|
106
132
|
assert_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18))
|
107
133
|
end
|
108
134
|
|
135
|
+
def test_select_hour_with_blank
|
136
|
+
expected = %(<select name="date[hour]">\n)
|
137
|
+
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)
|
138
|
+
expected << "</select>\n"
|
139
|
+
|
140
|
+
assert_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), :include_blank => true)
|
141
|
+
end
|
142
|
+
|
143
|
+
def test_select_hour_nil_with_blank
|
144
|
+
expected = %(<select name="date[hour]">\n)
|
145
|
+
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)
|
146
|
+
expected << "</select>\n"
|
147
|
+
|
148
|
+
assert_equal expected, select_hour(nil, :include_blank => true)
|
149
|
+
end
|
150
|
+
|
109
151
|
def test_select_minute
|
110
152
|
expected = %(<select name="date[minute]">\n)
|
111
|
-
expected << %(<option>00</option>\n<option>01</option>\n<option>02</option>\n<option>03</option>\n<option selected="selected">04</option>\n<option>05</option>\n<option>06</option>\n<option>07</option>\n<option>08</option>\n<option>09</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n<option>32</option>\n<option>33</option>\n<option>34</option>\n<option>35</option>\n<option>36</option>\n<option>37</option>\n<option>38</option>\n<option>39</option>\n<option>40</option>\n<option>41</option>\n<option>42</option>\n<option>43</option>\n<option>44</option>\n<option>45</option>\n<option>46</option>\n<option>47</option>\n<option>48</option>\n<option>49</option>\n<option>50</option>\n<option>51</option>\n<option>52</option>\n<option>53</option>\n<option>54</option>\n<option>55</option>\n<option>56</option>\n<option>57</option>\n<option>58</option>\n<option>59</option>\n)
|
153
|
+
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)
|
112
154
|
expected << "</select>\n"
|
113
155
|
|
114
156
|
assert_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18))
|
115
157
|
end
|
116
158
|
|
159
|
+
def test_select_minute_with_blank
|
160
|
+
expected = %(<select name="date[minute]">\n)
|
161
|
+
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)
|
162
|
+
expected << "</select>\n"
|
163
|
+
|
164
|
+
assert_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), :include_blank => true)
|
165
|
+
end
|
166
|
+
|
167
|
+
def test_select_minute_with_blank_and_step
|
168
|
+
expected = %(<select name="date[minute]">\n)
|
169
|
+
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)
|
170
|
+
expected << "</select>\n"
|
171
|
+
|
172
|
+
assert_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), { :include_blank => true , :minute_step => 15 })
|
173
|
+
end
|
174
|
+
|
175
|
+
def test_select_minute_nil_with_blank
|
176
|
+
expected = %(<select name="date[minute]">\n)
|
177
|
+
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)
|
178
|
+
expected << "</select>\n"
|
179
|
+
|
180
|
+
assert_equal expected, select_minute(nil, :include_blank => true)
|
181
|
+
end
|
182
|
+
|
183
|
+
def test_select_minute_nil_with_blank_and_step
|
184
|
+
expected = %(<select name="date[minute]">\n)
|
185
|
+
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)
|
186
|
+
expected << "</select>\n"
|
187
|
+
|
188
|
+
assert_equal expected, select_minute(nil, { :include_blank => true , :minute_step => 15 })
|
189
|
+
end
|
190
|
+
|
117
191
|
def test_select_second
|
118
192
|
expected = %(<select name="date[second]">\n)
|
119
|
-
expected << %(<option>00</option>\n<option>01</option>\n<option>02</option>\n<option>03</option>\n<option>04</option>\n<option>05</option>\n<option>06</option>\n<option>07</option>\n<option>08</option>\n<option>09</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option selected="selected">18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n<option>32</option>\n<option>33</option>\n<option>34</option>\n<option>35</option>\n<option>36</option>\n<option>37</option>\n<option>38</option>\n<option>39</option>\n<option>40</option>\n<option>41</option>\n<option>42</option>\n<option>43</option>\n<option>44</option>\n<option>45</option>\n<option>46</option>\n<option>47</option>\n<option>48</option>\n<option>49</option>\n<option>50</option>\n<option>51</option>\n<option>52</option>\n<option>53</option>\n<option>54</option>\n<option>55</option>\n<option>56</option>\n<option>57</option>\n<option>58</option>\n<option>59</option>\n)
|
193
|
+
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)
|
120
194
|
expected << "</select>\n"
|
121
195
|
|
122
196
|
assert_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18))
|
123
197
|
end
|
124
198
|
|
125
|
-
|
199
|
+
def test_select_second_with_blank
|
200
|
+
expected = %(<select name="date[second]">\n)
|
201
|
+
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)
|
202
|
+
expected << "</select>\n"
|
203
|
+
|
204
|
+
assert_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), :include_blank => true)
|
205
|
+
end
|
206
|
+
|
207
|
+
def test_select_second_nil_with_blank
|
208
|
+
expected = %(<select name="date[second]">\n)
|
209
|
+
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)
|
210
|
+
expected << "</select>\n"
|
211
|
+
|
212
|
+
assert_equal expected, select_second(nil, :include_blank => true)
|
213
|
+
end
|
214
|
+
|
126
215
|
def test_select_date
|
127
216
|
expected = %(<select name="date[first][year]">\n)
|
128
|
-
expected << %(<option selected="selected">2003</option>\n<option>2004</option>\n<option>2005</option>\n)
|
217
|
+
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
129
218
|
expected << "</select>\n"
|
130
219
|
|
131
220
|
expected << %(<select name="date[first][month]">\n)
|
@@ -134,7 +223,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
134
223
|
|
135
224
|
expected << %(<select name="date[first][day]">\n)
|
136
225
|
expected <<
|
137
|
-
%(<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option selected="selected">16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n)
|
226
|
+
%(<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)
|
138
227
|
expected << "</select>\n"
|
139
228
|
|
140
229
|
assert_equal expected, select_date(
|
@@ -146,9 +235,9 @@ class DateHelperTest < Test::Unit::TestCase
|
|
146
235
|
expected = %(<select name="date[first][year]">\n)
|
147
236
|
(Date.today.year-5).upto(Date.today.year+1) do |y|
|
148
237
|
if y == Date.today.year
|
149
|
-
expected << %(<option selected="selected">#{y}</option>\n)
|
238
|
+
expected << %(<option value="#{y}" selected="selected">#{y}</option>\n)
|
150
239
|
else
|
151
|
-
expected << %(<option>#{y}</option>\n)
|
240
|
+
expected << %(<option value="#{y}">#{y}</option>\n)
|
152
241
|
end
|
153
242
|
end
|
154
243
|
expected << "</select>\n"
|
@@ -159,7 +248,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
159
248
|
|
160
249
|
expected << %(<select name="date[first][day]">\n)
|
161
250
|
expected <<
|
162
|
-
%(<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option selected="selected">16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n)
|
251
|
+
%(<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)
|
163
252
|
expected << "</select>\n"
|
164
253
|
|
165
254
|
assert_equal expected, select_date(
|
@@ -171,9 +260,9 @@ class DateHelperTest < Test::Unit::TestCase
|
|
171
260
|
expected = %(<select name="date[first][year]">\n)
|
172
261
|
2003.upto(2008) do |y|
|
173
262
|
if y == 2003
|
174
|
-
expected << %(<option selected="selected">#{y}</option>\n)
|
263
|
+
expected << %(<option value="#{y}" selected="selected">#{y}</option>\n)
|
175
264
|
else
|
176
|
-
expected << %(<option>#{y}</option>\n)
|
265
|
+
expected << %(<option value="#{y}">#{y}</option>\n)
|
177
266
|
end
|
178
267
|
end
|
179
268
|
expected << "</select>\n"
|
@@ -184,7 +273,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
184
273
|
|
185
274
|
expected << %(<select name="date[first][day]">\n)
|
186
275
|
expected <<
|
187
|
-
%(<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option selected="selected">16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n)
|
276
|
+
%(<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)
|
188
277
|
expected << "</select>\n"
|
189
278
|
|
190
279
|
assert_equal expected, select_date(
|
@@ -196,9 +285,9 @@ class DateHelperTest < Test::Unit::TestCase
|
|
196
285
|
expected = %(<select name="date[first][year]">\n)
|
197
286
|
(Date.today.year-5).upto(Date.today.year+5) do |y|
|
198
287
|
if y == Date.today.year
|
199
|
-
expected << %(<option selected="selected">#{y}</option>\n)
|
288
|
+
expected << %(<option value="#{y}" selected="selected">#{y}</option>\n)
|
200
289
|
else
|
201
|
-
expected << %(<option>#{y}</option>\n)
|
290
|
+
expected << %(<option value="#{y}">#{y}</option>\n)
|
202
291
|
end
|
203
292
|
end
|
204
293
|
expected << "</select>\n"
|
@@ -209,7 +298,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
209
298
|
|
210
299
|
expected << %(<select name="date[first][day]">\n)
|
211
300
|
expected <<
|
212
|
-
%(<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option selected="selected">16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n)
|
301
|
+
%(<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)
|
213
302
|
expected << "</select>\n"
|
214
303
|
|
215
304
|
assert_equal expected, select_date(
|
@@ -219,15 +308,15 @@ class DateHelperTest < Test::Unit::TestCase
|
|
219
308
|
|
220
309
|
def test_select_time_with_seconds
|
221
310
|
expected = %(<select name="date[hour]">\n)
|
222
|
-
expected << %(<option>00</option>\n<option>01</option>\n<option>02</option>\n<option>03</option>\n<option>04</option>\n<option>05</option>\n<option>06</option>\n<option>07</option>\n<option selected="selected">08</option>\n<option>09</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n)
|
311
|
+
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)
|
223
312
|
expected << "</select>\n"
|
224
313
|
|
225
314
|
expected << %(<select name="date[minute]">\n)
|
226
|
-
expected << %(<option>00</option>\n<option>01</option>\n<option>02</option>\n<option>03</option>\n<option selected="selected">04</option>\n<option>05</option>\n<option>06</option>\n<option>07</option>\n<option>08</option>\n<option>09</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n<option>32</option>\n<option>33</option>\n<option>34</option>\n<option>35</option>\n<option>36</option>\n<option>37</option>\n<option>38</option>\n<option>39</option>\n<option>40</option>\n<option>41</option>\n<option>42</option>\n<option>43</option>\n<option>44</option>\n<option>45</option>\n<option>46</option>\n<option>47</option>\n<option>48</option>\n<option>49</option>\n<option>50</option>\n<option>51</option>\n<option>52</option>\n<option>53</option>\n<option>54</option>\n<option>55</option>\n<option>56</option>\n<option>57</option>\n<option>58</option>\n<option>59</option>\n)
|
315
|
+
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)
|
227
316
|
expected << "</select>\n"
|
228
317
|
|
229
318
|
expected << %(<select name="date[second]">\n)
|
230
|
-
expected << %(<option>00</option>\n<option>01</option>\n<option>02</option>\n<option>03</option>\n<option>04</option>\n<option>05</option>\n<option>06</option>\n<option>07</option>\n<option>08</option>\n<option>09</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option selected="selected">18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n<option>32</option>\n<option>33</option>\n<option>34</option>\n<option>35</option>\n<option>36</option>\n<option>37</option>\n<option>38</option>\n<option>39</option>\n<option>40</option>\n<option>41</option>\n<option>42</option>\n<option>43</option>\n<option>44</option>\n<option>45</option>\n<option>46</option>\n<option>47</option>\n<option>48</option>\n<option>49</option>\n<option>50</option>\n<option>51</option>\n<option>52</option>\n<option>53</option>\n<option>54</option>\n<option>55</option>\n<option>56</option>\n<option>57</option>\n<option>58</option>\n<option>59</option>\n)
|
319
|
+
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)
|
231
320
|
expected << "</select>\n"
|
232
321
|
|
233
322
|
assert_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :include_seconds => true)
|
@@ -235,11 +324,11 @@ class DateHelperTest < Test::Unit::TestCase
|
|
235
324
|
|
236
325
|
def test_select_time_without_seconds
|
237
326
|
expected = %(<select name="date[hour]">\n)
|
238
|
-
expected << %(<option>00</option>\n<option>01</option>\n<option>02</option>\n<option>03</option>\n<option>04</option>\n<option>05</option>\n<option>06</option>\n<option>07</option>\n<option selected="selected">08</option>\n<option>09</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n)
|
327
|
+
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)
|
239
328
|
expected << "</select>\n"
|
240
329
|
|
241
330
|
expected << %(<select name="date[minute]">\n)
|
242
|
-
expected << %(<option>00</option>\n<option>01</option>\n<option>02</option>\n<option>03</option>\n<option selected="selected">04</option>\n<option>05</option>\n<option>06</option>\n<option>07</option>\n<option>08</option>\n<option>09</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n<option>32</option>\n<option>33</option>\n<option>34</option>\n<option>35</option>\n<option>36</option>\n<option>37</option>\n<option>38</option>\n<option>39</option>\n<option>40</option>\n<option>41</option>\n<option>42</option>\n<option>43</option>\n<option>44</option>\n<option>45</option>\n<option>46</option>\n<option>47</option>\n<option>48</option>\n<option>49</option>\n<option>50</option>\n<option>51</option>\n<option>52</option>\n<option>53</option>\n<option>54</option>\n<option>55</option>\n<option>56</option>\n<option>57</option>\n<option>58</option>\n<option>59</option>\n)
|
331
|
+
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)
|
243
332
|
expected << "</select>\n"
|
244
333
|
|
245
334
|
assert_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18))
|
@@ -248,7 +337,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
248
337
|
|
249
338
|
def test_date_select_with_zero_value
|
250
339
|
expected = %(<select name="date[first][year]">\n)
|
251
|
-
expected << %(<option>2003</option>\n<option>2004</option>\n<option>2005</option>\n)
|
340
|
+
expected << %(<option value="2003">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
252
341
|
expected << "</select>\n"
|
253
342
|
|
254
343
|
expected << %(<select name="date[first][month]">\n)
|
@@ -257,7 +346,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
257
346
|
|
258
347
|
expected << %(<select name="date[first][day]">\n)
|
259
348
|
expected <<
|
260
|
-
%(<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n)
|
349
|
+
%(<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)
|
261
350
|
expected << "</select>\n"
|
262
351
|
|
263
352
|
assert_equal expected, select_date(0, :start_year => 2003, :end_year => 2005, :prefix => "date[first]")
|
@@ -265,7 +354,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
265
354
|
|
266
355
|
def test_date_select_with_zero_value_and_no_start_year
|
267
356
|
expected = %(<select name="date[first][year]">\n)
|
268
|
-
(Date.today.year-5).upto(Date.today.year+1) { |y| expected << %(<option>#{y}</option>\n) }
|
357
|
+
(Date.today.year-5).upto(Date.today.year+1) { |y| expected << %(<option value="#{y}">#{y}</option>\n) }
|
269
358
|
expected << "</select>\n"
|
270
359
|
|
271
360
|
expected << %(<select name="date[first][month]">\n)
|
@@ -274,7 +363,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
274
363
|
|
275
364
|
expected << %(<select name="date[first][day]">\n)
|
276
365
|
expected <<
|
277
|
-
%(<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n)
|
366
|
+
%(<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)
|
278
367
|
expected << "</select>\n"
|
279
368
|
|
280
369
|
assert_equal expected, select_date(0, :end_year => Date.today.year+1, :prefix => "date[first]")
|
@@ -282,7 +371,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
282
371
|
|
283
372
|
def test_date_select_with_zero_value_and_no_end_year
|
284
373
|
expected = %(<select name="date[first][year]">\n)
|
285
|
-
2003.upto(2010) { |y| expected << %(<option>#{y}</option>\n) }
|
374
|
+
2003.upto(2010) { |y| expected << %(<option value="#{y}">#{y}</option>\n) }
|
286
375
|
expected << "</select>\n"
|
287
376
|
|
288
377
|
expected << %(<select name="date[first][month]">\n)
|
@@ -291,7 +380,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
291
380
|
|
292
381
|
expected << %(<select name="date[first][day]">\n)
|
293
382
|
expected <<
|
294
|
-
%(<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n)
|
383
|
+
%(<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)
|
295
384
|
expected << "</select>\n"
|
296
385
|
|
297
386
|
assert_equal expected, select_date(0, :start_year => 2003, :prefix => "date[first]")
|
@@ -299,7 +388,7 @@ class DateHelperTest < Test::Unit::TestCase
|
|
299
388
|
|
300
389
|
def test_date_select_with_zero_value_and_no_start_and_end_year
|
301
390
|
expected = %(<select name="date[first][year]">\n)
|
302
|
-
(Date.today.year-5).upto(Date.today.year+5) { |y| expected << %(<option>#{y}</option>\n) }
|
391
|
+
(Date.today.year-5).upto(Date.today.year+5) { |y| expected << %(<option value="#{y}">#{y}</option>\n) }
|
303
392
|
expected << "</select>\n"
|
304
393
|
|
305
394
|
expected << %(<select name="date[first][month]">\n)
|
@@ -308,10 +397,52 @@ class DateHelperTest < Test::Unit::TestCase
|
|
308
397
|
|
309
398
|
expected << %(<select name="date[first][day]">\n)
|
310
399
|
expected <<
|
311
|
-
%(<option>1</option>\n<option>2</option>\n<option>3</option>\n<option>4</option>\n<option>5</option>\n<option>6</option>\n<option>7</option>\n<option>8</option>\n<option>9</option>\n<option>10</option>\n<option>11</option>\n<option>12</option>\n<option>13</option>\n<option>14</option>\n<option>15</option>\n<option>16</option>\n<option>17</option>\n<option>18</option>\n<option>19</option>\n<option>20</option>\n<option>21</option>\n<option>22</option>\n<option>23</option>\n<option>24</option>\n<option>25</option>\n<option>26</option>\n<option>27</option>\n<option>28</option>\n<option>29</option>\n<option>30</option>\n<option>31</option>\n)
|
400
|
+
%(<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)
|
312
401
|
expected << "</select>\n"
|
313
402
|
|
314
403
|
assert_equal expected, select_date(0, :prefix => "date[first]")
|
315
404
|
end
|
316
405
|
|
406
|
+
def test_date_select_with_nil_value_and_no_start_and_end_year
|
407
|
+
expected = %(<select name="date[first][year]">\n)
|
408
|
+
(Date.today.year-5).upto(Date.today.year+5) { |y| expected << %(<option value="#{y}">#{y}</option>\n) }
|
409
|
+
expected << "</select>\n"
|
410
|
+
|
411
|
+
expected << %(<select name="date[first][month]">\n)
|
412
|
+
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">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)
|
413
|
+
expected << "</select>\n"
|
414
|
+
|
415
|
+
expected << %(<select name="date[first][day]">\n)
|
416
|
+
expected <<
|
417
|
+
%(<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)
|
418
|
+
expected << "</select>\n"
|
419
|
+
|
420
|
+
assert_equal expected, select_date(nil, :prefix => "date[first]")
|
421
|
+
end
|
422
|
+
|
423
|
+
def test_datetime_select_with_nil_value_and_no_start_and_end_year
|
424
|
+
expected = %(<select name="date[first][year]">\n)
|
425
|
+
(Date.today.year-5).upto(Date.today.year+5) { |y| expected << %(<option value="#{y}">#{y}</option>\n) }
|
426
|
+
expected << "</select>\n"
|
427
|
+
|
428
|
+
expected << %(<select name="date[first][month]">\n)
|
429
|
+
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">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)
|
430
|
+
expected << "</select>\n"
|
431
|
+
|
432
|
+
expected << %(<select name="date[first][day]">\n)
|
433
|
+
expected <<
|
434
|
+
%(<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)
|
435
|
+
expected << "</select>\n"
|
436
|
+
|
437
|
+
expected << %(<select name="date[first][hour]">\n)
|
438
|
+
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)
|
439
|
+
expected << "</select>\n"
|
440
|
+
|
441
|
+
expected << %(<select name="date[first][minute]">\n)
|
442
|
+
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)
|
443
|
+
expected << "</select>\n"
|
444
|
+
|
445
|
+
assert_equal expected, select_datetime(nil, :prefix => "date[first]")
|
446
|
+
end
|
447
|
+
|
317
448
|
end
|