date_select_separator 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +21 -7
- data/lib/date_select_separator.rb +28 -16
- data/lib/date_select_separator/version.rb +1 -1
- data/test/date_select_separator_test.rb +95 -56
- metadata +2 -2
data/README.md
CHANGED
@@ -14,16 +14,30 @@ And then execute:
|
|
14
14
|
|
15
15
|
## Usage
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
Add these lines in your locale file like [config/locales/ja.yml](https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/ja.yml):
|
18
|
+
|
19
|
+
ja:
|
20
|
+
datetime:
|
21
|
+
separators:
|
22
|
+
year: 年
|
23
|
+
month: 月
|
24
|
+
day: 日
|
25
|
+
hour: 時
|
26
|
+
minute: 分
|
27
|
+
second: 秒
|
28
|
+
|
29
|
+
And then use ```use_separators: true```:
|
30
|
+
|
31
|
+
# Add a separator after each select_tags
|
32
|
+
<%= f.date_select :birthday, use_month_numbers: true, use_separators: true %>
|
33
|
+
<%= f.datetime_select :birthday, use_month_numbers: true, time_separator: '', use_separators: true %>
|
20
34
|
|
21
|
-
# Add a separator to each
|
22
|
-
<%= f.date_select :birthday, use_separators: {inline: true
|
23
|
-
<%= f.datetime_select :birthday, time_separator: '', use_separators: {inline: true
|
35
|
+
# Add a separator to each option_tags except month. Month is used a value like ja.data.month_names
|
36
|
+
<%= f.date_select :birthday, use_separators: {inline: true} %>
|
37
|
+
<%= f.datetime_select :birthday, time_separator: '', use_separators: {inline: true} %>
|
24
38
|
|
25
39
|
# Options: html_tag, class_prefix
|
26
|
-
<%= f.date_select :birthday, use_month_numbers: true, use_separators: {
|
40
|
+
<%= f.date_select :birthday, use_month_numbers: true, use_separators: {html_tag: :div, class_prefix: 'foo'} %>
|
27
41
|
|
28
42
|
## Contributing
|
29
43
|
|
@@ -5,11 +5,10 @@ module ActionView
|
|
5
5
|
class DateTimeSelector
|
6
6
|
def select_month_with_separator
|
7
7
|
separators = @options[:use_separators]
|
8
|
-
type = :month
|
9
8
|
select_tag = select_month_without_separator
|
10
9
|
|
11
|
-
if @options[:use_hidden].blank? && @options[:discard_month].blank? &&
|
12
|
-
select_tag
|
10
|
+
if @options[:use_hidden].blank? && @options[:discard_month].blank? && separators.present?
|
11
|
+
select_tag << separator_tag(:month, separators)
|
13
12
|
end
|
14
13
|
|
15
14
|
select_tag
|
@@ -19,13 +18,12 @@ module ActionView
|
|
19
18
|
def build_options_and_select_with_separator(type, selected, options = {})
|
20
19
|
separators = @options[:use_separators]
|
21
20
|
|
22
|
-
if
|
23
|
-
if separators
|
24
|
-
options.merge!({:use_separator =>
|
21
|
+
if separators.present?
|
22
|
+
if use_inline_separator?(separators)
|
23
|
+
options.merge!({:use_separator => translated_separator_name(type)})
|
25
24
|
build_select(type, build_options_with_separator(selected, options))
|
26
25
|
else
|
27
|
-
|
28
|
-
select_tag + content_tag_for_separator(separators, type)
|
26
|
+
build_select(type, build_options(selected, options)) + separator_tag(type, separators)
|
29
27
|
end
|
30
28
|
else
|
31
29
|
build_options_and_select_without_separator(type, selected, options)
|
@@ -34,8 +32,28 @@ module ActionView
|
|
34
32
|
alias_method_chain :build_options_and_select, :separator
|
35
33
|
|
36
34
|
private
|
37
|
-
def
|
38
|
-
(separators.
|
35
|
+
def use_inline_separator?(separators)
|
36
|
+
(separators.class == Hash && separators[:inline] == true)
|
37
|
+
end
|
38
|
+
|
39
|
+
def translated_separator_name(type)
|
40
|
+
key = 'datetime.separators.' + type.to_s
|
41
|
+
I18n.translate(key, :locale => @options[:locale])
|
42
|
+
end
|
43
|
+
|
44
|
+
def separator_tag(type, separators)
|
45
|
+
return '' if use_inline_separator?(separators)
|
46
|
+
|
47
|
+
default_options = {:html_tag => :span, :class_prefix => 'separator'}
|
48
|
+
options = (separators.class == Hash) ? default_options.merge!(separators) : default_options
|
49
|
+
|
50
|
+
if options
|
51
|
+
name = translated_separator_name(type)
|
52
|
+
class_name = options[:class_prefix] + "_#{type}"
|
53
|
+
content_tag(options[:html_tag], name, :class => class_name) + "\n"
|
54
|
+
else
|
55
|
+
''
|
56
|
+
end
|
39
57
|
end
|
40
58
|
|
41
59
|
def build_options_with_separator(selected, options = {})
|
@@ -61,12 +79,6 @@ module ActionView
|
|
61
79
|
|
62
80
|
(select_options.join("\n") + "\n").html_safe
|
63
81
|
end
|
64
|
-
|
65
|
-
def content_tag_for_separator(separators, type)
|
66
|
-
separator_tag = separators[:html_tag] || :span
|
67
|
-
separator_class = (separators[:class_prefix] ? separators[:class_prefix] : "separator") + "_#{type}"
|
68
|
-
content_tag(separator_tag, separators[type], :class => separator_class)
|
69
|
-
end
|
70
82
|
end
|
71
83
|
end
|
72
84
|
end
|
@@ -8,6 +8,16 @@ require 'date_select_separator'
|
|
8
8
|
|
9
9
|
class DateSelectSeparatorTest < ActionView::TestCase
|
10
10
|
|
11
|
+
I18n.backend.store_translations :en,
|
12
|
+
:datetime => { :separators => { :year => 'yy', :month => 'mm', :day => 'dd', :hour => 'hh', :minute => 'mm', :second => 'ss'} }
|
13
|
+
|
14
|
+
I18n.backend.store_translations :ja,
|
15
|
+
:date => {
|
16
|
+
:order => [ :year, :month, :day ],
|
17
|
+
:month_names => %w(1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月)
|
18
|
+
},
|
19
|
+
:datetime => { :separators => { :year => '年', :month => '月', :day => '日', :hour => '時', :minute => '分', :second => '秒'} }
|
20
|
+
|
11
21
|
silence_warnings do
|
12
22
|
Post = Struct.new("Post", :id, :written_on, :updated_at)
|
13
23
|
Post.class_eval do
|
@@ -35,9 +45,9 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
35
45
|
expected = %(<select id="date_day" name="date[day]">\n)
|
36
46
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
37
47
|
expected << "</select>\n"
|
38
|
-
expected << %(<span class="separator_day"
|
48
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
39
49
|
|
40
|
-
assert_dom_equal expected, select_day(Time.mktime(2003, 8, 16), :use_separators =>
|
50
|
+
assert_dom_equal expected, select_day(Time.mktime(2003, 8, 16), :use_separators => true)
|
41
51
|
end
|
42
52
|
|
43
53
|
def test_select_month
|
@@ -52,9 +62,9 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
52
62
|
expected = %(<select id="date_month" name="date[month]">\n)
|
53
63
|
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)
|
54
64
|
expected << "</select>\n"
|
55
|
-
expected << %(<span class="separator_month"
|
65
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
56
66
|
|
57
|
-
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), :use_separators =>
|
67
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), :use_separators => true)
|
58
68
|
end
|
59
69
|
|
60
70
|
def test_select_year
|
@@ -69,9 +79,9 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
69
79
|
expected = %(<select id="date_year" name="date[year]">\n)
|
70
80
|
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
71
81
|
expected << "</select>\n"
|
72
|
-
expected << %(<span class="separator_year"
|
82
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
73
83
|
|
74
|
-
assert_dom_equal expected, select_year(Time.mktime(2003, 8, 16), :start_year => 2003, :end_year => 2005, :use_separators =>
|
84
|
+
assert_dom_equal expected, select_year(Time.mktime(2003, 8, 16), :start_year => 2003, :end_year => 2005, :use_separators => true)
|
75
85
|
end
|
76
86
|
|
77
87
|
def test_select_hour
|
@@ -86,9 +96,9 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
86
96
|
expected = %(<select id="date_hour" name="date[hour]">\n)
|
87
97
|
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)
|
88
98
|
expected << "</select>\n"
|
89
|
-
expected << %(<span class="separator_hour"
|
99
|
+
expected << %(<span class="separator_hour">hh</span>\n)
|
90
100
|
|
91
|
-
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), :use_separators =>
|
101
|
+
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), :use_separators => true)
|
92
102
|
end
|
93
103
|
|
94
104
|
def test_select_minute
|
@@ -103,9 +113,9 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
103
113
|
expected = %(<select id="date_minute" name="date[minute]">\n)
|
104
114
|
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)
|
105
115
|
expected << "</select>\n"
|
106
|
-
expected << %(<span class="separator_minute"
|
116
|
+
expected << %(<span class="separator_minute">mm</span>\n)
|
107
117
|
|
108
|
-
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), :use_separators =>
|
118
|
+
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), :use_separators => true)
|
109
119
|
end
|
110
120
|
|
111
121
|
def test_select_second
|
@@ -120,9 +130,9 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
120
130
|
expected = %(<select id="date_second" name="date[second]">\n)
|
121
131
|
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)
|
122
132
|
expected << "</select>\n"
|
123
|
-
expected << %(<span class="separator_second"
|
133
|
+
expected << %(<span class="separator_second">ss</span>\n)
|
124
134
|
|
125
|
-
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), :use_separators =>
|
135
|
+
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), :use_separators => true)
|
126
136
|
end
|
127
137
|
|
128
138
|
def test_select_date
|
@@ -145,19 +155,19 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
145
155
|
expected = %(<select id="date_first_year" name="date[first][year]">\n)
|
146
156
|
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
147
157
|
expected << "</select>\n"
|
148
|
-
expected << %(<span class="separator_year"
|
158
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
149
159
|
|
150
160
|
expected << %(<select id="date_first_month" name="date[first][month]">\n)
|
151
161
|
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)
|
152
162
|
expected << "</select>\n"
|
153
|
-
expected << %(<span class="separator_month"
|
163
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
154
164
|
|
155
165
|
expected << %(<select id="date_first_day" name="date[first][day]">\n)
|
156
166
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
157
167
|
expected << "</select>\n"
|
158
|
-
expected << %(<span class="separator_day"
|
168
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
159
169
|
|
160
|
-
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), :start_year => 2003, :end_year => 2005, :prefix => "date[first]", :use_separators =>
|
170
|
+
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), :start_year => 2003, :end_year => 2005, :prefix => "date[first]", :use_separators => true)
|
161
171
|
end
|
162
172
|
|
163
173
|
def test_select_datetime
|
@@ -192,33 +202,33 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
192
202
|
expected = %(<select id="date_first_year" name="date[first][year]">\n)
|
193
203
|
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
194
204
|
expected << "</select>\n"
|
195
|
-
expected << %(<span class="separator_year"
|
205
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
196
206
|
|
197
207
|
expected << %(<select id="date_first_month" name="date[first][month]">\n)
|
198
208
|
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)
|
199
209
|
expected << "</select>\n"
|
200
|
-
expected << %(<span class="separator_month"
|
210
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
201
211
|
|
202
212
|
expected << %(<select id="date_first_day" name="date[first][day]">\n)
|
203
213
|
expected << %(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
|
204
214
|
expected << "</select>\n"
|
205
|
-
expected << %(<span class="separator_day"
|
215
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
206
216
|
|
207
217
|
expected << " — "
|
208
218
|
|
209
219
|
expected << %(<select id="date_first_hour" name="date[first][hour]">\n)
|
210
220
|
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)
|
211
221
|
expected << "</select>\n"
|
212
|
-
expected << %(<span class="separator_hour"
|
222
|
+
expected << %(<span class="separator_hour">hh</span>\n)
|
213
223
|
|
214
224
|
expected << " : "
|
215
225
|
|
216
226
|
expected << %(<select id="date_first_minute" name="date[first][minute]">\n)
|
217
227
|
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)
|
218
228
|
expected << "</select>\n"
|
219
|
-
expected << %(<span class="separator_minute"
|
229
|
+
expected << %(<span class="separator_minute">mm</span>\n)
|
220
230
|
|
221
|
-
assert_dom_equal expected, select_datetime(Time.mktime(2003, 8, 16, 8, 4, 18), :start_year => 2003, :end_year => 2005, :prefix => "date[first]", :use_separators =>
|
231
|
+
assert_dom_equal expected, select_datetime(Time.mktime(2003, 8, 16, 8, 4, 18), :start_year => 2003, :end_year => 2005, :prefix => "date[first]", :use_separators => true)
|
222
232
|
end
|
223
233
|
|
224
234
|
def test_select_time
|
@@ -247,16 +257,16 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
247
257
|
expected << %(<select id="date_hour" name="date[hour]">\n)
|
248
258
|
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)
|
249
259
|
expected << "</select>\n"
|
250
|
-
expected << %(<span class="separator_hour"
|
260
|
+
expected << %(<span class="separator_hour">hh</span>\n)
|
251
261
|
|
252
262
|
expected << " : "
|
253
263
|
|
254
264
|
expected << %(<select id="date_minute" name="date[minute]">\n)
|
255
265
|
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)
|
256
266
|
expected << "</select>\n"
|
257
|
-
expected << %(<span class="separator_minute"
|
267
|
+
expected << %(<span class="separator_minute">mm</span>\n)
|
258
268
|
|
259
|
-
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :use_separators =>
|
269
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :use_separators => true)
|
260
270
|
end
|
261
271
|
|
262
272
|
def test_select_time_with_seconds
|
@@ -291,23 +301,23 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
291
301
|
expected << %(<select id="date_hour" name="date[hour]">\n)
|
292
302
|
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)
|
293
303
|
expected << "</select>\n"
|
294
|
-
expected << %(<span class="separator_hour"
|
304
|
+
expected << %(<span class="separator_hour">hh</span>\n)
|
295
305
|
|
296
306
|
expected << ' : '
|
297
307
|
|
298
308
|
expected << %(<select id="date_minute" name="date[minute]">\n)
|
299
309
|
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)
|
300
310
|
expected << "</select>\n"
|
301
|
-
expected << %(<span class="separator_minute"
|
311
|
+
expected << %(<span class="separator_minute">mm</span>\n)
|
302
312
|
|
303
313
|
expected << ' : '
|
304
314
|
|
305
315
|
expected << %(<select id="date_second" name="date[second]">\n)
|
306
316
|
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)
|
307
317
|
expected << "</select>\n"
|
308
|
-
expected << %(<span class="separator_second"
|
318
|
+
expected << %(<span class="separator_second">ss</span>\n)
|
309
319
|
|
310
|
-
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :include_seconds => true, :use_separators =>
|
320
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :include_seconds => true, :use_separators => true)
|
311
321
|
end
|
312
322
|
|
313
323
|
def test_time_select
|
@@ -340,14 +350,14 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
340
350
|
expected << %(<select id="post_written_on_4i" name="post[written_on(4i)]">\n)
|
341
351
|
0.upto(23) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 15}>#{sprintf("%02d", i)}</option>\n) }
|
342
352
|
expected << "</select>\n"
|
343
|
-
expected << %(<span class="separator_hour"
|
353
|
+
expected << %(<span class="separator_hour">hh</span>\n)
|
344
354
|
expected << " : "
|
345
355
|
expected << %(<select id="post_written_on_5i" name="post[written_on(5i)]">\n)
|
346
356
|
0.upto(59) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 16}>#{sprintf("%02d", i)}</option>\n) }
|
347
357
|
expected << "</select>\n"
|
348
|
-
expected << %(<span class="separator_minute"
|
358
|
+
expected << %(<span class="separator_minute">mm</span>\n)
|
349
359
|
|
350
|
-
assert_dom_equal expected, time_select("post", "written_on", :use_separators =>
|
360
|
+
assert_dom_equal expected, time_select("post", "written_on", :use_separators => true)
|
351
361
|
end
|
352
362
|
|
353
363
|
def test_time_select_with_seconds
|
@@ -384,19 +394,19 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
384
394
|
expected << %(<select id="post_written_on_4i" name="post[written_on(4i)]">\n)
|
385
395
|
0.upto(23) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 15}>#{sprintf("%02d", i)}</option>\n) }
|
386
396
|
expected << "</select>\n"
|
387
|
-
expected << %(<span class="separator_hour"
|
397
|
+
expected << %(<span class="separator_hour">hh</span>\n)
|
388
398
|
expected << " : "
|
389
399
|
expected << %(<select id="post_written_on_5i" name="post[written_on(5i)]">\n)
|
390
400
|
0.upto(59) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 16}>#{sprintf("%02d", i)}</option>\n) }
|
391
401
|
expected << "</select>\n"
|
392
|
-
expected << %(<span class="separator_minute"
|
402
|
+
expected << %(<span class="separator_minute">mm</span>\n)
|
393
403
|
expected << " : "
|
394
404
|
expected << %(<select id="post_written_on_6i" name="post[written_on(6i)]">\n)
|
395
405
|
0.upto(59) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 35}>#{sprintf("%02d", i)}</option>\n) }
|
396
406
|
expected << "</select>\n"
|
397
|
-
expected << %(<span class="separator_second"
|
407
|
+
expected << %(<span class="separator_second">ss</span>\n)
|
398
408
|
|
399
|
-
assert_dom_equal expected, time_select("post", "written_on", :include_seconds => true, :use_separators =>
|
409
|
+
assert_dom_equal expected, time_select("post", "written_on", :include_seconds => true, :use_separators => true)
|
400
410
|
end
|
401
411
|
|
402
412
|
def test_datetime_select
|
@@ -435,31 +445,31 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
435
445
|
expected = %{<select id="post_updated_at_1i" name="post[updated_at(1i)]">\n}
|
436
446
|
expected << %{<option value="1999">1999</option>\n<option value="2000">2000</option>\n<option value="2001">2001</option>\n<option value="2002">2002</option>\n<option value="2003">2003</option>\n<option value="2004" selected="selected">2004</option>\n<option value="2005">2005</option>\n<option value="2006">2006</option>\n<option value="2007">2007</option>\n<option value="2008">2008</option>\n<option value="2009">2009</option>\n}
|
437
447
|
expected << "</select>\n"
|
438
|
-
expected << %(<span class="separator_year"
|
448
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
439
449
|
|
440
450
|
expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
|
441
451
|
expected << %{<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6" selected="selected">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n}
|
442
452
|
expected << "</select>\n"
|
443
|
-
expected << %(<span class="separator_month"
|
453
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
444
454
|
|
445
455
|
expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
|
446
456
|
expected << %{<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15" selected="selected">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n}
|
447
457
|
expected << "</select>\n"
|
448
|
-
expected << %(<span class="separator_day"
|
458
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
449
459
|
|
450
460
|
expected << " — "
|
451
461
|
|
452
462
|
expected << %{<select id="post_updated_at_4i" name="post[updated_at(4i)]">\n}
|
453
463
|
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n}
|
454
464
|
expected << "</select>\n"
|
455
|
-
expected << %(<span class="separator_hour"
|
465
|
+
expected << %(<span class="separator_hour">hh</span>\n)
|
456
466
|
expected << " : "
|
457
467
|
expected << %{<select id="post_updated_at_5i" name="post[updated_at(5i)]">\n}
|
458
468
|
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35" selected="selected">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n}
|
459
469
|
expected << "</select>\n"
|
460
|
-
expected << %(<span class="separator_minute"
|
470
|
+
expected << %(<span class="separator_minute">mm</span>\n)
|
461
471
|
|
462
|
-
assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators =>
|
472
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators => true)
|
463
473
|
end
|
464
474
|
|
465
475
|
def test_datetime_select_with_custom_separators_and_html_tag
|
@@ -469,31 +479,31 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
469
479
|
expected = %{<select id="post_updated_at_1i" name="post[updated_at(1i)]">\n}
|
470
480
|
expected << %{<option value="1999">1999</option>\n<option value="2000">2000</option>\n<option value="2001">2001</option>\n<option value="2002">2002</option>\n<option value="2003">2003</option>\n<option value="2004" selected="selected">2004</option>\n<option value="2005">2005</option>\n<option value="2006">2006</option>\n<option value="2007">2007</option>\n<option value="2008">2008</option>\n<option value="2009">2009</option>\n}
|
471
481
|
expected << "</select>\n"
|
472
|
-
expected << %(<div class="separator_year"
|
482
|
+
expected << %(<div class="separator_year">yy</div>\n)
|
473
483
|
|
474
484
|
expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
|
475
485
|
expected << %{<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6" selected="selected">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n}
|
476
486
|
expected << "</select>\n"
|
477
|
-
expected << %(<div class="separator_month"
|
487
|
+
expected << %(<div class="separator_month">mm</div>\n)
|
478
488
|
|
479
489
|
expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
|
480
490
|
expected << %{<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15" selected="selected">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n}
|
481
491
|
expected << "</select>\n"
|
482
|
-
expected << %(<div class="separator_day"
|
492
|
+
expected << %(<div class="separator_day">dd</div>\n)
|
483
493
|
|
484
494
|
expected << " — "
|
485
495
|
|
486
496
|
expected << %{<select id="post_updated_at_4i" name="post[updated_at(4i)]">\n}
|
487
497
|
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n}
|
488
498
|
expected << "</select>\n"
|
489
|
-
expected << %(<div class="separator_hour"
|
499
|
+
expected << %(<div class="separator_hour">hh</div>\n)
|
490
500
|
expected << " : "
|
491
501
|
expected << %{<select id="post_updated_at_5i" name="post[updated_at(5i)]">\n}
|
492
502
|
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35" selected="selected">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n}
|
493
503
|
expected << "</select>\n"
|
494
|
-
expected << %(<div class="separator_minute"
|
504
|
+
expected << %(<div class="separator_minute">mm</div>\n)
|
495
505
|
|
496
|
-
assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators => {:
|
506
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators => {:html_tag => :div})
|
497
507
|
end
|
498
508
|
|
499
509
|
def test_datetime_select_with_custom_separators_and_class_prefix
|
@@ -503,31 +513,31 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
503
513
|
expected = %{<select id="post_updated_at_1i" name="post[updated_at(1i)]">\n}
|
504
514
|
expected << %{<option value="1999">1999</option>\n<option value="2000">2000</option>\n<option value="2001">2001</option>\n<option value="2002">2002</option>\n<option value="2003">2003</option>\n<option value="2004" selected="selected">2004</option>\n<option value="2005">2005</option>\n<option value="2006">2006</option>\n<option value="2007">2007</option>\n<option value="2008">2008</option>\n<option value="2009">2009</option>\n}
|
505
515
|
expected << "</select>\n"
|
506
|
-
expected << %(<span class="
|
516
|
+
expected << %(<span class="foo_year">yy</span>\n)
|
507
517
|
|
508
518
|
expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
|
509
519
|
expected << %{<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6" selected="selected">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n}
|
510
520
|
expected << "</select>\n"
|
511
|
-
expected << %(<span class="
|
521
|
+
expected << %(<span class="foo_month">mm</span>\n)
|
512
522
|
|
513
523
|
expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
|
514
524
|
expected << %{<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15" selected="selected">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n}
|
515
525
|
expected << "</select>\n"
|
516
|
-
expected << %(<span class="
|
526
|
+
expected << %(<span class="foo_day">dd</span>\n)
|
517
527
|
|
518
528
|
expected << " — "
|
519
529
|
|
520
530
|
expected << %{<select id="post_updated_at_4i" name="post[updated_at(4i)]">\n}
|
521
531
|
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n}
|
522
532
|
expected << "</select>\n"
|
523
|
-
expected << %(<span class="
|
533
|
+
expected << %(<span class="foo_hour">hh</span>\n)
|
524
534
|
expected << " : "
|
525
535
|
expected << %{<select id="post_updated_at_5i" name="post[updated_at(5i)]">\n}
|
526
536
|
expected << %{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35" selected="selected">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n}
|
527
537
|
expected << "</select>\n"
|
528
|
-
expected << %(<span class="
|
538
|
+
expected << %(<span class="foo_minute">mm</span>\n)
|
529
539
|
|
530
|
-
assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators => {:
|
540
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators => {:class_prefix => 'foo'})
|
531
541
|
end
|
532
542
|
|
533
543
|
def test_datetime_select_with_inline_custom_separators_except_month
|
@@ -535,13 +545,42 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
535
545
|
@post.updated_at = Time.local(2004, 6, 15, 16, 35)
|
536
546
|
|
537
547
|
expected = %{<select id="post_updated_at_1i" name="post[updated_at(1i)]">\n}
|
538
|
-
expected << %{<option value="1999">
|
548
|
+
expected << %{<option value="1999">1999yy</option>\n<option value="2000">2000yy</option>\n<option value="2001">2001yy</option>\n<option value="2002">2002yy</option>\n<option value="2003">2003yy</option>\n<option value="2004" selected="selected">2004yy</option>\n<option value="2005">2005yy</option>\n<option value="2006">2006yy</option>\n<option value="2007">2007yy</option>\n<option value="2008">2008yy</option>\n<option value="2009">2009yy</option>\n}
|
539
549
|
expected << "</select>\n"
|
540
550
|
|
541
551
|
expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
|
542
552
|
expected << %{<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6" selected="selected">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n}
|
543
553
|
expected << "</select>\n"
|
544
554
|
|
555
|
+
expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
|
556
|
+
expected << %{<option value="1">1dd</option>\n<option value="2">2dd</option>\n<option value="3">3dd</option>\n<option value="4">4dd</option>\n<option value="5">5dd</option>\n<option value="6">6dd</option>\n<option value="7">7dd</option>\n<option value="8">8dd</option>\n<option value="9">9dd</option>\n<option value="10">10dd</option>\n<option value="11">11dd</option>\n<option value="12">12dd</option>\n<option value="13">13dd</option>\n<option value="14">14dd</option>\n<option value="15" selected="selected">15dd</option>\n<option value="16">16dd</option>\n<option value="17">17dd</option>\n<option value="18">18dd</option>\n<option value="19">19dd</option>\n<option value="20">20dd</option>\n<option value="21">21dd</option>\n<option value="22">22dd</option>\n<option value="23">23dd</option>\n<option value="24">24dd</option>\n<option value="25">25dd</option>\n<option value="26">26dd</option>\n<option value="27">27dd</option>\n<option value="28">28dd</option>\n<option value="29">29dd</option>\n<option value="30">30dd</option>\n<option value="31">31dd</option>\n}
|
557
|
+
expected << "</select>\n"
|
558
|
+
|
559
|
+
expected << " — "
|
560
|
+
|
561
|
+
expected << %{<select id="post_updated_at_4i" name="post[updated_at(4i)]">\n}
|
562
|
+
expected << %{<option value="00">00hh</option>\n<option value="01">01hh</option>\n<option value="02">02hh</option>\n<option value="03">03hh</option>\n<option value="04">04hh</option>\n<option value="05">05hh</option>\n<option value="06">06hh</option>\n<option value="07">07hh</option>\n<option value="08">08hh</option>\n<option value="09">09hh</option>\n<option value="10">10hh</option>\n<option value="11">11hh</option>\n<option value="12">12hh</option>\n<option value="13">13hh</option>\n<option value="14">14hh</option>\n<option value="15">15hh</option>\n<option value="16" selected="selected">16hh</option>\n<option value="17">17hh</option>\n<option value="18">18hh</option>\n<option value="19">19hh</option>\n<option value="20">20hh</option>\n<option value="21">21hh</option>\n<option value="22">22hh</option>\n<option value="23">23hh</option>\n}
|
563
|
+
expected << "</select>\n"
|
564
|
+
expected << " : "
|
565
|
+
expected << %{<select id="post_updated_at_5i" name="post[updated_at(5i)]">\n}
|
566
|
+
expected << %{<option value="00">00mm</option>\n<option value="01">01mm</option>\n<option value="02">02mm</option>\n<option value="03">03mm</option>\n<option value="04">04mm</option>\n<option value="05">05mm</option>\n<option value="06">06mm</option>\n<option value="07">07mm</option>\n<option value="08">08mm</option>\n<option value="09">09mm</option>\n<option value="10">10mm</option>\n<option value="11">11mm</option>\n<option value="12">12mm</option>\n<option value="13">13mm</option>\n<option value="14">14mm</option>\n<option value="15">15mm</option>\n<option value="16">16mm</option>\n<option value="17">17mm</option>\n<option value="18">18mm</option>\n<option value="19">19mm</option>\n<option value="20">20mm</option>\n<option value="21">21mm</option>\n<option value="22">22mm</option>\n<option value="23">23mm</option>\n<option value="24">24mm</option>\n<option value="25">25mm</option>\n<option value="26">26mm</option>\n<option value="27">27mm</option>\n<option value="28">28mm</option>\n<option value="29">29mm</option>\n<option value="30">30mm</option>\n<option value="31">31mm</option>\n<option value="32">32mm</option>\n<option value="33">33mm</option>\n<option value="34">34mm</option>\n<option value="35" selected="selected">35mm</option>\n<option value="36">36mm</option>\n<option value="37">37mm</option>\n<option value="38">38mm</option>\n<option value="39">39mm</option>\n<option value="40">40mm</option>\n<option value="41">41mm</option>\n<option value="42">42mm</option>\n<option value="43">43mm</option>\n<option value="44">44mm</option>\n<option value="45">45mm</option>\n<option value="46">46mm</option>\n<option value="47">47mm</option>\n<option value="48">48mm</option>\n<option value="49">49mm</option>\n<option value="50">50mm</option>\n<option value="51">51mm</option>\n<option value="52">52mm</option>\n<option value="53">53mm</option>\n<option value="54">54mm</option>\n<option value="55">55mm</option>\n<option value="56">56mm</option>\n<option value="57">57mm</option>\n<option value="58">58mm</option>\n<option value="59">59mm</option>\n}
|
567
|
+
expected << "</select>\n"
|
568
|
+
|
569
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators => {:inline => true})
|
570
|
+
end
|
571
|
+
|
572
|
+
def test_datetime_select_with_ja_inline_custom_separators_except_month
|
573
|
+
@post = Post.new
|
574
|
+
@post.updated_at = Time.local(2004, 6, 15, 16, 35)
|
575
|
+
|
576
|
+
expected = %{<select id="post_updated_at_1i" name="post[updated_at(1i)]">\n}
|
577
|
+
expected << %{<option value="1999">1999年</option>\n<option value="2000">2000年</option>\n<option value="2001">2001年</option>\n<option value="2002">2002年</option>\n<option value="2003">2003年</option>\n<option value="2004" selected="selected">2004年</option>\n<option value="2005">2005年</option>\n<option value="2006">2006年</option>\n<option value="2007">2007年</option>\n<option value="2008">2008年</option>\n<option value="2009">2009年</option>\n}
|
578
|
+
expected << "</select>\n"
|
579
|
+
|
580
|
+
expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
|
581
|
+
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" selected="selected">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}
|
582
|
+
expected << "</select>\n"
|
583
|
+
|
545
584
|
expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
|
546
585
|
expected << %{<option value="1">1日</option>\n<option value="2">2日</option>\n<option value="3">3日</option>\n<option value="4">4日</option>\n<option value="5">5日</option>\n<option value="6">6日</option>\n<option value="7">7日</option>\n<option value="8">8日</option>\n<option value="9">9日</option>\n<option value="10">10日</option>\n<option value="11">11日</option>\n<option value="12">12日</option>\n<option value="13">13日</option>\n<option value="14">14日</option>\n<option value="15" 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}
|
547
586
|
expected << "</select>\n"
|
@@ -556,6 +595,6 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
556
595
|
expected << %{<option value="00">00分</option>\n<option value="01">01分</option>\n<option value="02">02分</option>\n<option value="03">03分</option>\n<option value="04">04分</option>\n<option value="05">05分</option>\n<option value="06">06分</option>\n<option value="07">07分</option>\n<option value="08">08分</option>\n<option value="09">09分</option>\n<option value="10">10分</option>\n<option value="11">11分</option>\n<option value="12">12分</option>\n<option value="13">13分</option>\n<option value="14">14分</option>\n<option value="15">15分</option>\n<option value="16">16分</option>\n<option value="17">17分</option>\n<option value="18">18分</option>\n<option value="19">19分</option>\n<option value="20">20分</option>\n<option value="21">21分</option>\n<option value="22">22分</option>\n<option value="23">23分</option>\n<option value="24">24分</option>\n<option value="25">25分</option>\n<option value="26">26分</option>\n<option value="27">27分</option>\n<option value="28">28分</option>\n<option value="29">29分</option>\n<option value="30">30分</option>\n<option value="31">31分</option>\n<option value="32">32分</option>\n<option value="33">33分</option>\n<option value="34">34分</option>\n<option value="35" selected="selected">35分</option>\n<option value="36">36分</option>\n<option value="37">37分</option>\n<option value="38">38分</option>\n<option value="39">39分</option>\n<option value="40">40分</option>\n<option value="41">41分</option>\n<option value="42">42分</option>\n<option value="43">43分</option>\n<option value="44">44分</option>\n<option value="45">45分</option>\n<option value="46">46分</option>\n<option value="47">47分</option>\n<option value="48">48分</option>\n<option value="49">49分</option>\n<option value="50">50分</option>\n<option value="51">51分</option>\n<option value="52">52分</option>\n<option value="53">53分</option>\n<option value="54">54分</option>\n<option value="55">55分</option>\n<option value="56">56分</option>\n<option value="57">57分</option>\n<option value="58">58分</option>\n<option value="59">59分</option>\n}
|
557
596
|
expected << "</select>\n"
|
558
597
|
|
559
|
-
assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators => {:inline => true, :
|
598
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators => {:inline => true}, :locale => :ja)
|
560
599
|
end
|
561
600
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: date_select_separator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|