date_select_separator 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/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
|