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 CHANGED
@@ -14,16 +14,30 @@ And then execute:
14
14
 
15
15
  ## Usage
16
16
 
17
- # Add a separator after each select_tag
18
- <%= f.date_select :birthday, use_month_numbers: true, use_separators: {year: '年', month: '月', day: '日'} %>
19
- <%= f.datetime_select :birthday, use_month_numbers: true, time_separator: '', use_separators: {year: '年', month: '月', day: '日', hour: '時', minute: '分'} %>
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 option_tag. Month is used a value like ja.date.month_names in config/locales
22
- <%= f.date_select :birthday, use_separators: {inline: true, year: '年', day: '日'} %>
23
- <%= f.datetime_select :birthday, time_separator: '', use_separators: {inline: true, year: '年', day: '日', hour: '時', minute: '分'} %>
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: {year: '年', month: '月', day: '日', html_tag: :div, class_prefix: 'prefix'} %>
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? && use_separators?(separators, type) && separators[:inline].blank?
12
- select_tag += content_tag_for_separator(separators, type)
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 use_separators?(separators, type)
23
- if separators[:inline]
24
- options.merge!({:use_separator => separators[type]})
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
- select_tag = build_select(type, build_options(selected, options))
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 use_separators?(separators, type)
38
- (separators.present? && separators[type].present?)
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
@@ -1,3 +1,3 @@
1
1
  module DateSelectSeparator
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  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">日</span>)
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 => {:day => '日'})
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">月</span>)
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 => {:month => '月'})
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">年</span>)
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 => {:year => '年'})
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">時</span>)
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 => {:hour => '時'})
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">分</span>)
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 => {:minute => '分'})
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">秒</span>)
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 => {:second => '秒'})
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">年</span>)
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">月</span>)
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">日</span>)
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 => {:year => '年', :month => '月', :day => '日'})
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">年</span>)
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">月</span>)
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">日</span>)
215
+ expected << %(<span class="separator_day">dd</span>\n)
206
216
 
207
217
  expected << " &mdash; "
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">時</span>)
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">分</span>)
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 => {:year => '年', :month => '月', :day => '日', :hour => '時', :minute => '分'})
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">時</span>)
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">分</span>)
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 => {:hour => '時', :minute => '分'})
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">時</span>)
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">分</span>)
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">秒</span>)
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 => {:hour => '時', :minute => '分', :second => '秒'})
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">時</span>)
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">分</span>)
358
+ expected << %(<span class="separator_minute">mm</span>\n)
349
359
 
350
- assert_dom_equal expected, time_select("post", "written_on", :use_separators => {:hour => '時', :minute => '分'})
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">時</span>)
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">分</span>)
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">秒</span>)
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 => {:hour => '時', :minute => '分', :second => '秒'})
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">年</span>)
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">月</span>)
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">日</span>)
458
+ expected << %(<span class="separator_day">dd</span>\n)
449
459
 
450
460
  expected << " &mdash; "
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">時</span>)
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">分</span>)
470
+ expected << %(<span class="separator_minute">mm</span>\n)
461
471
 
462
- assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators => {:year => '年', :month => '月', :day => '日', :hour => '時', :minute => '分'})
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">年</div>)
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">月</div>)
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">日</div>)
492
+ expected << %(<div class="separator_day">dd</div>\n)
483
493
 
484
494
  expected << " &mdash; "
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">時</div>)
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">分</div>)
504
+ expected << %(<div class="separator_minute">mm</div>\n)
495
505
 
496
- assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators => {:year => '年', :month => '月', :day => '日', :hour => '時', :minute => '分', :html_tag => :div})
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="prefix_year">年</span>)
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="prefix_month">月</span>)
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="prefix_day">日</span>)
526
+ expected << %(<span class="foo_day">dd</span>\n)
517
527
 
518
528
  expected << " &mdash; "
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="prefix_hour">時</span>)
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="prefix_minute">分</span>)
538
+ expected << %(<span class="foo_minute">mm</span>\n)
529
539
 
530
- assert_dom_equal expected, datetime_select("post", "updated_at", :use_separators => {:year => '年', :month => '月', :day => '日', :hour => '時', :minute => '分', :class_prefix => 'prefix'})
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">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}
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 << " &mdash; "
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, :year => '年', :day => '日', :hour => '時', :minute => '分'})
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.1
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-04 00:00:00.000000000 Z
12
+ date: 2013-03-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails