date_select_separator 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -1
- data/lib/date_select_separator/action_view_extension.rb +49 -22
- data/lib/date_select_separator/version.rb +1 -1
- data/test/date_select_separator_test.rb +483 -16
- data/test/dummy/config/environments/test.rb +3 -1
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +1549 -0
- data/test/dummy/log/test.log +125524 -782
- data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5bddcd7a558ebc3bae63f3cc4090619028af6191
|
4
|
+
data.tar.gz: 47cb9da0d7a6c261f12e19ded1f50e600cb9cf9e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31f38d0a1c2badfb971bbb80fabfb562c324f022646ae22d6c2897b4561bd3f50f9f9568e7421c74335993bef4d84c6f9da0c455f4004295f690380d2f605060
|
7
|
+
data.tar.gz: 22b7f3a8f57670694df17ef35cf955b6d80820efdc43098c90e29394f55ce0dd5f214d0a24dc38fedd05a1ab28b54a70449f10d306a0e794753cf2b4fe4fad3d
|
data/README.md
CHANGED
@@ -39,9 +39,11 @@ Add `use_separators: true` option to data_select or datetime_select.
|
|
39
39
|
<%= f.date_select :birthday, use_separators: { inline: true } %>
|
40
40
|
<%= f.datetime_select :birthday, time_separator: '', use_separators: { inline: true } %>
|
41
41
|
|
42
|
-
# Options: html_tag, class_prefix etc
|
42
|
+
# Options: html_tag, class_prefix, translations, wrapper_select_tag etc
|
43
43
|
<%= f.date_select :birthday, use_month_numbers: true, use_separators: { html_tag: :div, class_prefix: 'foo' } %>
|
44
44
|
<%= f.date_select :birthday, use_month_numbers: true, use_separators: { year: 'yy', month: 'mm', day: 'dd' } %>
|
45
|
+
<%= f.date_select :birthday, use_month_numbers: true, use_separators: { wrapper_select_tag: true } %>
|
46
|
+
<%= f.date_select :birthday, use_month_numbers: true, use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }} %>
|
45
47
|
|
46
48
|
## Contributing
|
47
49
|
|
@@ -4,11 +4,18 @@ module DateSelectSeparator
|
|
4
4
|
|
5
5
|
included do
|
6
6
|
def select_month_with_separator
|
7
|
-
|
7
|
+
type = :month
|
8
|
+
separator_options = @options[:use_separators]
|
8
9
|
select_tag = select_month_without_separator
|
9
10
|
|
10
|
-
if use_separators?(
|
11
|
-
|
11
|
+
if use_separators?(type, separator_options)
|
12
|
+
unless inline_separator?(separator_options)
|
13
|
+
select_tag << separator_tag(type, separator_options)
|
14
|
+
end
|
15
|
+
|
16
|
+
if use_wrapper_select_tag?(separator_options)
|
17
|
+
select_tag = wrapper_select_tag(select_tag, type, separator_options)
|
18
|
+
end
|
12
19
|
end
|
13
20
|
|
14
21
|
select_tag
|
@@ -16,44 +23,64 @@ module DateSelectSeparator
|
|
16
23
|
alias_method_chain :select_month, :separator
|
17
24
|
|
18
25
|
private
|
19
|
-
def use_separators?(type,
|
26
|
+
def use_separators?(type, separator_options)
|
20
27
|
discard_type = "discard_#{type}".to_sym
|
21
|
-
!@options[:use_hidden] && !@options[discard_type] &&
|
28
|
+
!@options[:use_hidden] && !@options[discard_type] && separator_options
|
29
|
+
end
|
30
|
+
|
31
|
+
def inline_separator?(separator_options)
|
32
|
+
separator_options.is_a?(Hash) && separator_options[:inline]
|
22
33
|
end
|
23
34
|
|
24
|
-
def
|
25
|
-
|
35
|
+
def use_wrapper_select_tag?(separator_options)
|
36
|
+
separator_options.is_a?(Hash) && separator_options[:wrapper_select_tag]
|
26
37
|
end
|
27
38
|
|
28
|
-
def
|
29
|
-
|
30
|
-
|
39
|
+
def wrapper_select_tag(select_tag, type, separator_options)
|
40
|
+
default_options = { html_tag: :div, class_prefix: 'wrapper_select_' }
|
41
|
+
wrapper_options = separator_options[:wrapper_select_tag]
|
42
|
+
wrapper_options = wrapper_options.is_a?(Hash) ? default_options.merge(wrapper_options) : default_options
|
43
|
+
class_name = wrapper_options[:class_prefix] + "#{type}"
|
44
|
+
content_tag(wrapper_options[:html_tag], "\n".html_safe + select_tag, class: class_name) + "\n"
|
45
|
+
end
|
46
|
+
|
47
|
+
def separator_text(type, separator_options)
|
48
|
+
if separator_options.is_a?(Hash) && separator_options[type]
|
49
|
+
separator_options[type]
|
31
50
|
else
|
32
51
|
key = 'datetime.separators.' + type.to_s
|
33
|
-
I18n.translate(key, locale: @options[:locale])
|
52
|
+
I18n.translate(key, locale: @options[:locale], default: '')
|
34
53
|
end
|
35
54
|
end
|
36
55
|
|
37
|
-
def separator_tag(type,
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
56
|
+
def separator_tag(type, separator_options)
|
57
|
+
text = separator_text(type, separator_options)
|
58
|
+
return text if text.empty?
|
59
|
+
|
60
|
+
default_options = { html_tag: :span, class_prefix: 'separator_' }
|
61
|
+
options = separator_options.is_a?(Hash) ? default_options.merge(separator_options) : default_options
|
62
|
+
class_name = options[:class_prefix] + "#{type}"
|
42
63
|
content_tag(options[:html_tag], text, class: class_name) + "\n"
|
43
64
|
end
|
44
65
|
|
45
66
|
def build_options_and_select_with_separator(type, selected, options = {})
|
46
|
-
|
67
|
+
separator_options = @options[:use_separators]
|
47
68
|
|
48
|
-
unless use_separators?(type,
|
69
|
+
unless use_separators?(type, separator_options)
|
49
70
|
return build_options_and_select_without_separator(type, selected, options)
|
50
71
|
end
|
51
72
|
|
52
|
-
if inline_separator?(
|
53
|
-
|
54
|
-
|
73
|
+
select_tag = if inline_separator?(separator_options)
|
74
|
+
options.merge!(separator: separator_text(type, separator_options))
|
75
|
+
build_select(type, build_options_with_separator(selected, options))
|
76
|
+
else
|
77
|
+
build_select(type, build_options(selected, options)) + separator_tag(type, separator_options)
|
78
|
+
end
|
79
|
+
|
80
|
+
if use_wrapper_select_tag?(separator_options)
|
81
|
+
wrapper_select_tag(select_tag, type, separator_options)
|
55
82
|
else
|
56
|
-
|
83
|
+
select_tag
|
57
84
|
end
|
58
85
|
end
|
59
86
|
alias_method_chain :build_options_and_select, :separator
|
@@ -89,8 +89,8 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
89
89
|
expected = select_day(Time.mktime(2003, 8, 16))
|
90
90
|
expected << %(<span class="foo_day">dd</span>\n).html_safe
|
91
91
|
|
92
|
-
assert_dom_equal expected, select_day(Time.mktime(2003, 8, 16), use_separators: { class_prefix: '
|
93
|
-
assert_dom_equal expected, select_day(16, use_separators: { class_prefix: '
|
92
|
+
assert_dom_equal expected, select_day(Time.mktime(2003, 8, 16), use_separators: { class_prefix: 'foo_' })
|
93
|
+
assert_dom_equal expected, select_day(16, use_separators: { class_prefix: 'foo_' })
|
94
94
|
end
|
95
95
|
|
96
96
|
def test_select_day_with_custom_separator_and_translation
|
@@ -101,6 +101,26 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
101
101
|
assert_dom_equal expected, select_day(16, use_separators: { day: 'foo' })
|
102
102
|
end
|
103
103
|
|
104
|
+
def test_select_day_with_custom_separator_and_wrapper_select_tag
|
105
|
+
expected = %(<div class="wrapper_select_day">\n)
|
106
|
+
expected << select_day(Time.mktime(2003, 8, 16))
|
107
|
+
expected << %(<span class="separator_day">dd</span>\n).html_safe
|
108
|
+
expected << %(</div>\n)
|
109
|
+
|
110
|
+
assert_dom_equal expected, select_day(Time.mktime(2003, 8, 16), use_separators: { wrapper_select_tag: true })
|
111
|
+
assert_dom_equal expected, select_day(16, use_separators: { wrapper_select_tag: true })
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_select_day_with_custom_separator_and_wrapper_select_tag_with_options
|
115
|
+
expected = %(<span class="foo_day">\n)
|
116
|
+
expected << select_day(Time.mktime(2003, 8, 16))
|
117
|
+
expected << %(<span class="separator_day">dd</span>\n).html_safe
|
118
|
+
expected << %(</span>\n)
|
119
|
+
|
120
|
+
assert_dom_equal expected, select_day(Time.mktime(2003, 8, 16), use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
121
|
+
assert_dom_equal expected, select_day(16, use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
122
|
+
end
|
123
|
+
|
104
124
|
def test_select_month
|
105
125
|
expected = select_month(Time.mktime(2003, 8, 16))
|
106
126
|
expected << %(<span class="separator_month">mm</span>\n).html_safe
|
@@ -252,8 +272,8 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
252
272
|
expected = select_month(Time.mktime(2003, 8, 16))
|
253
273
|
expected << %(<span class="foo_month">mm</span>\n).html_safe
|
254
274
|
|
255
|
-
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), use_separators: { class_prefix: '
|
256
|
-
assert_dom_equal expected, select_month(8, use_separators: { class_prefix: '
|
275
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), use_separators: { class_prefix: 'foo_' })
|
276
|
+
assert_dom_equal expected, select_month(8, use_separators: { class_prefix: 'foo_' })
|
257
277
|
end
|
258
278
|
|
259
279
|
def test_select_month_with_custom_separator_and_translation
|
@@ -264,6 +284,25 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
264
284
|
assert_dom_equal expected, select_month(8, use_separators: { month: 'foo' })
|
265
285
|
end
|
266
286
|
|
287
|
+
def test_select_month_with_custom_separator_and_wrapper_select_tag
|
288
|
+
expected = %(<div class="wrapper_select_month">\n)
|
289
|
+
expected << select_month(Time.mktime(2003, 8, 16))
|
290
|
+
expected << %(<span class="separator_month">mm</span>\n).html_safe
|
291
|
+
expected << %(</div>\n)
|
292
|
+
|
293
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), use_separators: { wrapper_select_tag: true })
|
294
|
+
assert_dom_equal expected, select_month(8, use_separators: { wrapper_select_tag: true })
|
295
|
+
end
|
296
|
+
|
297
|
+
def test_select_month_with_custom_separator_and_wrapper_select_tag_with_options
|
298
|
+
expected = %(<span class="foo_month">\n)
|
299
|
+
expected << select_month(Time.mktime(2003, 8, 16))
|
300
|
+
expected << %(<span class="separator_month">mm</span>\n).html_safe
|
301
|
+
expected << %(</span>\n)
|
302
|
+
|
303
|
+
assert_dom_equal expected, select_month(Time.mktime(2003, 8, 16), use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
304
|
+
assert_dom_equal expected, select_month(8, use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
305
|
+
end
|
267
306
|
|
268
307
|
def test_select_year
|
269
308
|
expected = select_year(Time.mktime(2003, 8, 16), start_year: 2003, end_year: 2005)
|
@@ -356,8 +395,8 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
356
395
|
expected = select_year(Time.mktime(2003, 8, 16), start_year: 2003, end_year: 2005)
|
357
396
|
expected << %(<span class="foo_year">yy</span>\n).html_safe
|
358
397
|
|
359
|
-
assert_dom_equal expected, select_year(Time.mktime(2003, 8, 16), start_year: 2003, end_year: 2005, use_separators: { class_prefix: '
|
360
|
-
assert_dom_equal expected, select_year(2003, start_year: 2003, end_year: 2005, use_separators: { class_prefix: '
|
398
|
+
assert_dom_equal expected, select_year(Time.mktime(2003, 8, 16), start_year: 2003, end_year: 2005, use_separators: { class_prefix: 'foo_' })
|
399
|
+
assert_dom_equal expected, select_year(2003, start_year: 2003, end_year: 2005, use_separators: { class_prefix: 'foo_' })
|
361
400
|
end
|
362
401
|
|
363
402
|
def test_select_year_with_custom_separator_and_translation
|
@@ -368,6 +407,26 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
368
407
|
assert_dom_equal expected, select_year(2003, start_year: 2003, end_year: 2005, use_separators: { year: 'foo' })
|
369
408
|
end
|
370
409
|
|
410
|
+
def test_select_year_with_custom_separator_and_wrapper_select_tag
|
411
|
+
expected = %(<div class="wrapper_select_year">\n)
|
412
|
+
expected << select_year(Time.mktime(2003, 8, 16))
|
413
|
+
expected << %(<span class="separator_year">yy</span>\n).html_safe
|
414
|
+
expected << %(</div>\n)
|
415
|
+
|
416
|
+
assert_dom_equal expected, select_year(Time.mktime(2003, 8, 16), use_separators: { wrapper_select_tag: true })
|
417
|
+
assert_dom_equal expected, select_year(2003, use_separators: { wrapper_select_tag: true })
|
418
|
+
end
|
419
|
+
|
420
|
+
def test_select_year_with_custom_separator_and_wrapper_select_tag_with_options
|
421
|
+
expected = %(<span class="foo_year">\n)
|
422
|
+
expected << select_year(Time.mktime(2003, 8, 16))
|
423
|
+
expected << %(<span class="separator_year">yy</span>\n).html_safe
|
424
|
+
expected << %(</span>\n)
|
425
|
+
|
426
|
+
assert_dom_equal expected, select_year(Time.mktime(2003, 8, 16), use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
427
|
+
assert_dom_equal expected, select_year(2003, use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
428
|
+
end
|
429
|
+
|
371
430
|
def test_select_hour
|
372
431
|
expected = select_hour(Time.mktime(2003, 8, 16, 8, 4, 18))
|
373
432
|
expected << %(<span class="separator_hour">h</span>\n).html_safe
|
@@ -449,7 +508,7 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
449
508
|
expected = select_hour(Time.mktime(2003, 8, 16, 8, 4, 18))
|
450
509
|
expected << %(<span class="foo_hour">h</span>\n).html_safe
|
451
510
|
|
452
|
-
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { class_prefix: '
|
511
|
+
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { class_prefix: 'foo_' })
|
453
512
|
end
|
454
513
|
|
455
514
|
def test_select_hour_with_custom_separator_and_translation
|
@@ -459,6 +518,24 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
459
518
|
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { hour: 'foo' })
|
460
519
|
end
|
461
520
|
|
521
|
+
def test_select_hour_with_custom_separator_and_wrapper_select_tag
|
522
|
+
expected = %(<div class="wrapper_select_hour">\n)
|
523
|
+
expected << select_hour(Time.mktime(2003, 8, 16, 8, 4, 18))
|
524
|
+
expected << %(<span class="separator_hour">h</span>\n).html_safe
|
525
|
+
expected << %(</div>\n)
|
526
|
+
|
527
|
+
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { wrapper_select_tag: true })
|
528
|
+
end
|
529
|
+
|
530
|
+
def test_select_hour_with_custom_separator_and_wrapper_select_tag_with_options
|
531
|
+
expected = %(<span class="foo_hour">\n)
|
532
|
+
expected << select_hour(Time.mktime(2003, 8, 16, 8, 4, 18))
|
533
|
+
expected << %(<span class="separator_hour">h</span>\n).html_safe
|
534
|
+
expected << %(</span>\n)
|
535
|
+
|
536
|
+
assert_dom_equal expected, select_hour(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
537
|
+
end
|
538
|
+
|
462
539
|
def test_select_minute
|
463
540
|
expected = select_minute(Time.mktime(2003, 8, 16, 8, 4, 18))
|
464
541
|
expected << %(<span class="separator_minute">min</span>\n).html_safe
|
@@ -555,7 +632,7 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
555
632
|
expected = select_minute(Time.mktime(2003, 8, 16, 8, 4, 18))
|
556
633
|
expected << %(<span class="foo_minute">min</span>\n).html_safe
|
557
634
|
|
558
|
-
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { class_prefix: '
|
635
|
+
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { class_prefix: 'foo_' })
|
559
636
|
end
|
560
637
|
|
561
638
|
def test_select_minute_with_custom_separator_and_translation
|
@@ -565,6 +642,24 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
565
642
|
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { minute: 'foo' })
|
566
643
|
end
|
567
644
|
|
645
|
+
def test_select_minute_with_custom_separator_and_wrapper_select_tag
|
646
|
+
expected = %(<div class="wrapper_select_minute">\n)
|
647
|
+
expected << select_minute(Time.mktime(2003, 8, 16, 8, 4, 18))
|
648
|
+
expected << %(<span class="separator_minute">min</span>\n).html_safe
|
649
|
+
expected << %(</div>\n)
|
650
|
+
|
651
|
+
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { wrapper_select_tag: true })
|
652
|
+
end
|
653
|
+
|
654
|
+
def test_select_minute_with_custom_separator_and_wrapper_select_tag_with_options
|
655
|
+
expected = %(<span class="foo_minute">\n)
|
656
|
+
expected << select_minute(Time.mktime(2003, 8, 16, 8, 4, 18))
|
657
|
+
expected << %(<span class="separator_minute">min</span>\n).html_safe
|
658
|
+
expected << %(</span>\n)
|
659
|
+
|
660
|
+
assert_dom_equal expected, select_minute(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
661
|
+
end
|
662
|
+
|
568
663
|
def test_select_second
|
569
664
|
expected = select_second(Time.mktime(2003, 8, 16, 8, 4, 18))
|
570
665
|
expected << %(<span class="separator_second">sec</span>\n).html_safe
|
@@ -639,7 +734,7 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
639
734
|
expected = select_second(Time.mktime(2003, 8, 16, 8, 4, 18))
|
640
735
|
expected << %(<span class="foo_second">sec</span>\n).html_safe
|
641
736
|
|
642
|
-
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { class_prefix: '
|
737
|
+
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { class_prefix: 'foo_' })
|
643
738
|
end
|
644
739
|
|
645
740
|
def test_select_second_with_custom_separator_and_translation
|
@@ -649,6 +744,24 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
649
744
|
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { second: 'foo' })
|
650
745
|
end
|
651
746
|
|
747
|
+
def test_select_second_with_custom_separator_and_wrapper_select_tag
|
748
|
+
expected = %(<div class="wrapper_select_second">\n)
|
749
|
+
expected << select_second(Time.mktime(2003, 8, 16, 8, 4, 18))
|
750
|
+
expected << %(<span class="separator_second">sec</span>\n).html_safe
|
751
|
+
expected << %(</div>\n)
|
752
|
+
|
753
|
+
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { wrapper_select_tag: true })
|
754
|
+
end
|
755
|
+
|
756
|
+
def test_select_second_with_custom_separator_and_wrapper_select_tag_with_options
|
757
|
+
expected = %(<span class="foo_second">\n)
|
758
|
+
expected << select_second(Time.mktime(2003, 8, 16, 8, 4, 18))
|
759
|
+
expected << %(<span class="separator_second">sec</span>\n).html_safe
|
760
|
+
expected << %(</span>\n)
|
761
|
+
|
762
|
+
assert_dom_equal expected, select_second(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
763
|
+
end
|
764
|
+
|
652
765
|
def test_select_date
|
653
766
|
expected = %(<select id="date_first_year" name="date[first][year]">\n)
|
654
767
|
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
@@ -1051,7 +1164,7 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
1051
1164
|
expected << "</select>\n"
|
1052
1165
|
expected << %(<span class="foo_day">dd</span>\n)
|
1053
1166
|
|
1054
|
-
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), start_year: 2003, end_year: 2005, prefix: "date[first]", use_separators: { class_prefix: '
|
1167
|
+
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), start_year: 2003, end_year: 2005, prefix: "date[first]", use_separators: { class_prefix: 'foo_' })
|
1055
1168
|
end
|
1056
1169
|
|
1057
1170
|
def test_select_date_with_custom_separator_and_translation
|
@@ -1073,6 +1186,56 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
1073
1186
|
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), start_year: 2003, end_year: 2005, prefix: "date[first]", use_separators: { year: 'foo', month: 'bar', day: 'baz' })
|
1074
1187
|
end
|
1075
1188
|
|
1189
|
+
def test_select_date_with_custom_separator_and_wrapper_select_tag
|
1190
|
+
expected = %(<div class="wrapper_select_year">\n)
|
1191
|
+
expected << %(<select id="date_first_year" name="date[first][year]">\n)
|
1192
|
+
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
1193
|
+
expected << "</select>\n"
|
1194
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
1195
|
+
expected << %(</div>\n)
|
1196
|
+
|
1197
|
+
expected << %(<div class="wrapper_select_month">\n)
|
1198
|
+
expected << %(<select id="date_first_month" name="date[first][month]">\n)
|
1199
|
+
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)
|
1200
|
+
expected << "</select>\n"
|
1201
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
1202
|
+
expected << %(</div>\n)
|
1203
|
+
|
1204
|
+
expected << %(<div class="wrapper_select_day">\n)
|
1205
|
+
expected << %(<select id="date_first_day" name="date[first][day]">\n)
|
1206
|
+
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)
|
1207
|
+
expected << "</select>\n"
|
1208
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
1209
|
+
expected << %(</div>\n)
|
1210
|
+
|
1211
|
+
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), start_year: 2003, end_year: 2005, prefix: "date[first]", use_separators: { wrapper_select_tag: true })
|
1212
|
+
end
|
1213
|
+
|
1214
|
+
def test_select_date_with_custom_separator_and_wrapper_select_tag_with_options
|
1215
|
+
expected = %(<span class="foo_year">\n)
|
1216
|
+
expected << %(<select id="date_first_year" name="date[first][year]">\n)
|
1217
|
+
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
1218
|
+
expected << "</select>\n"
|
1219
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
1220
|
+
expected << %(</span>\n)
|
1221
|
+
|
1222
|
+
expected << %(<span class="foo_month">\n)
|
1223
|
+
expected << %(<select id="date_first_month" name="date[first][month]">\n)
|
1224
|
+
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)
|
1225
|
+
expected << "</select>\n"
|
1226
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
1227
|
+
expected << %(</span>\n)
|
1228
|
+
|
1229
|
+
expected << %(<span class="foo_day">\n)
|
1230
|
+
expected << %(<select id="date_first_day" name="date[first][day]">\n)
|
1231
|
+
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)
|
1232
|
+
expected << "</select>\n"
|
1233
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
1234
|
+
expected << %(</span>\n)
|
1235
|
+
|
1236
|
+
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), start_year: 2003, end_year: 2005, prefix: "date[first]", use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
1237
|
+
end
|
1238
|
+
|
1076
1239
|
def test_select_datetime
|
1077
1240
|
expected = %(<select id="date_first_year" name="date[first][year]">\n)
|
1078
1241
|
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
@@ -1483,7 +1646,7 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
1483
1646
|
expected << "</select>\n"
|
1484
1647
|
expected << %(<span class="foo_minute">min</span>\n)
|
1485
1648
|
|
1486
|
-
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: { class_prefix: '
|
1649
|
+
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: { class_prefix: 'foo_' })
|
1487
1650
|
end
|
1488
1651
|
|
1489
1652
|
def test_select_datetime_with_custom_separator_and_translation
|
@@ -1519,6 +1682,92 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
1519
1682
|
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: 'foo', month: 'bar', day: 'baz', hour: 'hoge', minute: 'fuga' })
|
1520
1683
|
end
|
1521
1684
|
|
1685
|
+
def test_select_datetime_with_custom_separator_and_wrapper_select_tag
|
1686
|
+
expected = %(<div class="wrapper_select_year">\n)
|
1687
|
+
expected << %(<select id="date_first_year" name="date[first][year]">\n)
|
1688
|
+
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
1689
|
+
expected << "</select>\n"
|
1690
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
1691
|
+
expected << %(</div>\n)
|
1692
|
+
|
1693
|
+
expected << %(<div class="wrapper_select_month">\n)
|
1694
|
+
expected << %(<select id="date_first_month" name="date[first][month]">\n)
|
1695
|
+
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)
|
1696
|
+
expected << "</select>\n"
|
1697
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
1698
|
+
expected << %(</div>\n)
|
1699
|
+
|
1700
|
+
expected << %(<div class="wrapper_select_day">\n)
|
1701
|
+
expected << %(<select id="date_first_day" name="date[first][day]">\n)
|
1702
|
+
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)
|
1703
|
+
expected << "</select>\n"
|
1704
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
1705
|
+
expected << %(</div>\n)
|
1706
|
+
|
1707
|
+
expected << " — "
|
1708
|
+
|
1709
|
+
expected << %(<div class="wrapper_select_hour">\n)
|
1710
|
+
expected << %(<select id="date_first_hour" name="date[first][hour]">\n)
|
1711
|
+
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)
|
1712
|
+
expected << "</select>\n"
|
1713
|
+
expected << %(<span class="separator_hour">h</span>\n)
|
1714
|
+
expected << %(</div>\n)
|
1715
|
+
|
1716
|
+
expected << " : "
|
1717
|
+
|
1718
|
+
expected << %(<div class="wrapper_select_minute">\n)
|
1719
|
+
expected << %(<select id="date_first_minute" name="date[first][minute]">\n)
|
1720
|
+
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)
|
1721
|
+
expected << "</select>\n"
|
1722
|
+
expected << %(<span class="separator_minute">min</span>\n)
|
1723
|
+
expected << %(</div>\n)
|
1724
|
+
|
1725
|
+
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: { wrapper_select_tag: true })
|
1726
|
+
end
|
1727
|
+
|
1728
|
+
def test_select_datetime_with_custom_separator_and_wrapper_select_tag_with_options
|
1729
|
+
expected = %(<span class="foo_year">\n)
|
1730
|
+
expected << %(<select id="date_first_year" name="date[first][year]">\n)
|
1731
|
+
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
1732
|
+
expected << "</select>\n"
|
1733
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
1734
|
+
expected << %(</span>\n)
|
1735
|
+
|
1736
|
+
expected << %(<span class="foo_month">\n)
|
1737
|
+
expected << %(<select id="date_first_month" name="date[first][month]">\n)
|
1738
|
+
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)
|
1739
|
+
expected << "</select>\n"
|
1740
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
1741
|
+
expected << %(</span>\n)
|
1742
|
+
|
1743
|
+
expected << %(<span class="foo_day">\n)
|
1744
|
+
expected << %(<select id="date_first_day" name="date[first][day]">\n)
|
1745
|
+
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)
|
1746
|
+
expected << "</select>\n"
|
1747
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
1748
|
+
expected << %(</span>\n)
|
1749
|
+
|
1750
|
+
expected << " — "
|
1751
|
+
|
1752
|
+
expected << %(<span class="foo_hour">\n)
|
1753
|
+
expected << %(<select id="date_first_hour" name="date[first][hour]">\n)
|
1754
|
+
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)
|
1755
|
+
expected << "</select>\n"
|
1756
|
+
expected << %(<span class="separator_hour">h</span>\n)
|
1757
|
+
expected << %(</span>\n)
|
1758
|
+
|
1759
|
+
expected << " : "
|
1760
|
+
|
1761
|
+
expected << %(<span class="foo_minute">\n)
|
1762
|
+
expected << %(<select id="date_first_minute" name="date[first][minute]">\n)
|
1763
|
+
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)
|
1764
|
+
expected << "</select>\n"
|
1765
|
+
expected << %(<span class="separator_minute">min</span>\n)
|
1766
|
+
expected << %(</span>\n)
|
1767
|
+
|
1768
|
+
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: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
1769
|
+
end
|
1770
|
+
|
1522
1771
|
def test_select_time
|
1523
1772
|
expected = %(<input name="date[year]" id="date_year" value="2003" type="hidden" />\n)
|
1524
1773
|
expected << %(<input name="date[month]" id="date_month" value="8" type="hidden" />\n)
|
@@ -1782,8 +2031,8 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
1782
2031
|
expected << "</select>\n"
|
1783
2032
|
expected << %(<span class="foo_minute">min</span>\n)
|
1784
2033
|
|
1785
|
-
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { class_prefix: '
|
1786
|
-
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), include_seconds: false, use_separators: { class_prefix: '
|
2034
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { class_prefix: 'foo_' })
|
2035
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), include_seconds: false, use_separators: { class_prefix: 'foo_' })
|
1787
2036
|
end
|
1788
2037
|
|
1789
2038
|
def test_select_time_with_custom_separator_and_translation
|
@@ -1807,6 +2056,56 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
1807
2056
|
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), include_seconds: false, use_separators: { hour: 'hoge', minute: 'fuga' })
|
1808
2057
|
end
|
1809
2058
|
|
2059
|
+
def test_select_time_with_custom_separator_and_wrapper_select_tag
|
2060
|
+
expected = %(<input name="date[year]" id="date_year" value="2003" type="hidden" />\n)
|
2061
|
+
expected << %(<input name="date[month]" id="date_month" value="8" type="hidden" />\n)
|
2062
|
+
expected << %(<input name="date[day]" id="date_day" value="16" type="hidden" />\n)
|
2063
|
+
|
2064
|
+
expected << %(<div class="wrapper_select_hour">\n)
|
2065
|
+
expected << %(<select id="date_hour" name="date[hour]">\n)
|
2066
|
+
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)
|
2067
|
+
expected << "</select>\n"
|
2068
|
+
expected << %(<span class="separator_hour">h</span>\n)
|
2069
|
+
expected << %(</div>\n)
|
2070
|
+
|
2071
|
+
expected << " : "
|
2072
|
+
|
2073
|
+
expected << %(<div class="wrapper_select_minute">\n)
|
2074
|
+
expected << %(<select id="date_minute" name="date[minute]">\n)
|
2075
|
+
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)
|
2076
|
+
expected << "</select>\n"
|
2077
|
+
expected << %(<span class="separator_minute">min</span>\n)
|
2078
|
+
expected << %(</div>\n)
|
2079
|
+
|
2080
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { wrapper_select_tag: true })
|
2081
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), include_seconds: false, use_separators: { wrapper_select_tag: true })
|
2082
|
+
end
|
2083
|
+
|
2084
|
+
def test_select_time_with_custom_separator_and_wrapper_select_tag_with_options
|
2085
|
+
expected = %(<input name="date[year]" id="date_year" value="2003" type="hidden" />\n)
|
2086
|
+
expected << %(<input name="date[month]" id="date_month" value="8" type="hidden" />\n)
|
2087
|
+
expected << %(<input name="date[day]" id="date_day" value="16" type="hidden" />\n)
|
2088
|
+
|
2089
|
+
expected << %(<span class="foo_hour">\n)
|
2090
|
+
expected << %(<select id="date_hour" name="date[hour]">\n)
|
2091
|
+
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)
|
2092
|
+
expected << "</select>\n"
|
2093
|
+
expected << %(<span class="separator_hour">h</span>\n)
|
2094
|
+
expected << %(</span>\n)
|
2095
|
+
|
2096
|
+
expected << " : "
|
2097
|
+
|
2098
|
+
expected << %(<span class="foo_minute">\n)
|
2099
|
+
expected << %(<select id="date_minute" name="date[minute]">\n)
|
2100
|
+
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)
|
2101
|
+
expected << "</select>\n"
|
2102
|
+
expected << %(<span class="separator_minute">min</span>\n)
|
2103
|
+
expected << %(</span>\n)
|
2104
|
+
|
2105
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
2106
|
+
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), include_seconds: false, use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
2107
|
+
end
|
2108
|
+
|
1810
2109
|
def test_date_select
|
1811
2110
|
@post = Post.new
|
1812
2111
|
@post.written_on = Date.new(2004, 6, 15)
|
@@ -2422,7 +2721,7 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
2422
2721
|
expected << "</select>\n"
|
2423
2722
|
expected << %(<span class="foo_day">dd</span>\n)
|
2424
2723
|
|
2425
|
-
assert_dom_equal expected, date_select("post", "written_on", use_separators: { class_prefix: '
|
2724
|
+
assert_dom_equal expected, date_select("post", "written_on", use_separators: { class_prefix: 'foo_' })
|
2426
2725
|
end
|
2427
2726
|
|
2428
2727
|
def test_date_select_with_custom_separator_and_translation
|
@@ -2488,6 +2787,61 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
2488
2787
|
assert_dom_equal expected, date_select("post", "written_on", use_separators: { inline: true }, locale: :ja)
|
2489
2788
|
end
|
2490
2789
|
|
2790
|
+
def test_date_select_with_custom_separator_and_wrapper_select_tag
|
2791
|
+
@post = Post.new
|
2792
|
+
@post.written_on = Date.new(2004, 6, 15)
|
2793
|
+
|
2794
|
+
expected = %(<div class="wrapper_select_year">\n)
|
2795
|
+
expected << %{<select id="post_written_on_1i" name="post[written_on(1i)]">\n}
|
2796
|
+
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}
|
2797
|
+
expected << "</select>\n"
|
2798
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
2799
|
+
expected << %(</div>\n)
|
2800
|
+
|
2801
|
+
expected << %(<div class="wrapper_select_month">\n)
|
2802
|
+
expected << %{<select id="post_written_on_2i" name="post[written_on(2i)]">\n}
|
2803
|
+
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}
|
2804
|
+
expected << "</select>\n"
|
2805
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
2806
|
+
expected << %(</div>\n)
|
2807
|
+
|
2808
|
+
expected << %(<div class="wrapper_select_day">\n)
|
2809
|
+
expected << %{<select id="post_written_on_3i" name="post[written_on(3i)]">\n}
|
2810
|
+
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}
|
2811
|
+
expected << "</select>\n"
|
2812
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
2813
|
+
expected << %(</div>\n)
|
2814
|
+
|
2815
|
+
assert_dom_equal expected, date_select("post", "written_on", use_separators: { wrapper_select_tag: true })
|
2816
|
+
end
|
2817
|
+
|
2818
|
+
def test_date_select_with_custom_separator_and_wrapper_select_tag_with_options
|
2819
|
+
@post = Post.new
|
2820
|
+
@post.written_on = Date.new(2004, 6, 15)
|
2821
|
+
|
2822
|
+
expected = %(<span class="foo_year">\n)
|
2823
|
+
expected << %{<select id="post_written_on_1i" name="post[written_on(1i)]">\n}
|
2824
|
+
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}
|
2825
|
+
expected << "</select>\n"
|
2826
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
2827
|
+
expected << %(</span>\n)
|
2828
|
+
|
2829
|
+
expected << %(<span class="foo_month">\n)
|
2830
|
+
expected << %{<select id="post_written_on_2i" name="post[written_on(2i)]">\n}
|
2831
|
+
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}
|
2832
|
+
expected << "</select>\n"
|
2833
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
2834
|
+
expected << %(</span>\n)
|
2835
|
+
|
2836
|
+
expected << %(<span class="foo_day">\n)
|
2837
|
+
expected << %{<select id="post_written_on_3i" name="post[written_on(3i)]">\n}
|
2838
|
+
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}
|
2839
|
+
expected << "</select>\n"
|
2840
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
2841
|
+
expected << %(</span>\n)
|
2842
|
+
|
2843
|
+
assert_dom_equal expected, date_select("post", "written_on", use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
2844
|
+
end
|
2491
2845
|
|
2492
2846
|
def test_time_select
|
2493
2847
|
@post = Post.new
|
@@ -2796,7 +3150,7 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
2796
3150
|
expected << "</select>\n"
|
2797
3151
|
expected << %(<span class="foo_minute">min</span>\n)
|
2798
3152
|
|
2799
|
-
assert_dom_equal expected, time_select("post", "written_on", use_separators: { class_prefix: '
|
3153
|
+
assert_dom_equal expected, time_select("post", "written_on", use_separators: { class_prefix: 'foo_' })
|
2800
3154
|
end
|
2801
3155
|
|
2802
3156
|
def test_time_select_with_custom_separator_and_translation
|
@@ -2820,6 +3174,31 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
2820
3174
|
assert_dom_equal expected, time_select("post", "written_on", use_separators: { hour: 'foo', minute: 'bar' })
|
2821
3175
|
end
|
2822
3176
|
|
3177
|
+
def test_time_select_with_custom_separator_and_wrapper_select_tag
|
3178
|
+
@post = Post.new
|
3179
|
+
@post.written_on = Time.local(2004, 6, 15, 15, 16, 35)
|
3180
|
+
|
3181
|
+
expected = %{<input type="hidden" id="post_written_on_1i" name="post[written_on(1i)]" value="2004" />\n}
|
3182
|
+
expected << %{<input type="hidden" id="post_written_on_2i" name="post[written_on(2i)]" value="6" />\n}
|
3183
|
+
expected << %{<input type="hidden" id="post_written_on_3i" name="post[written_on(3i)]" value="15" />\n}
|
3184
|
+
|
3185
|
+
expected << %(<div class="wrapper_select_hour">\n)
|
3186
|
+
expected << %(<select id="post_written_on_4i" name="post[written_on(4i)]">\n)
|
3187
|
+
0.upto(23) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 15}>#{sprintf("%02d", i)}</option>\n) }
|
3188
|
+
expected << "</select>\n"
|
3189
|
+
expected << %(<span class="separator_hour">h</span>\n)
|
3190
|
+
expected << %(</div>\n)
|
3191
|
+
expected << " : "
|
3192
|
+
expected << %(<div class="wrapper_select_minute">\n)
|
3193
|
+
expected << %(<select id="post_written_on_5i" name="post[written_on(5i)]">\n)
|
3194
|
+
0.upto(59) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 16}>#{sprintf("%02d", i)}</option>\n) }
|
3195
|
+
expected << "</select>\n"
|
3196
|
+
expected << %(<span class="separator_minute">min</span>\n)
|
3197
|
+
expected << %(</div>\n)
|
3198
|
+
|
3199
|
+
assert_dom_equal expected, time_select("post", "written_on", use_separators: { wrapper_select_tag: true })
|
3200
|
+
end
|
3201
|
+
|
2823
3202
|
def test_datetime_select
|
2824
3203
|
@post = Post.new
|
2825
3204
|
@post.updated_at = Time.local(2004, 6, 15, 16, 35)
|
@@ -3208,7 +3587,7 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
3208
3587
|
expected << "</select>\n"
|
3209
3588
|
expected << %(<span class="foo_minute">min</span>\n)
|
3210
3589
|
|
3211
|
-
assert_dom_equal expected, datetime_select("post", "updated_at", use_separators: { class_prefix: '
|
3590
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", use_separators: { class_prefix: 'foo_' })
|
3212
3591
|
end
|
3213
3592
|
|
3214
3593
|
def test_datetime_select_with_custom_separator_and_translation
|
@@ -3308,6 +3687,94 @@ class DateSelectSeparatorTest < ActionView::TestCase
|
|
3308
3687
|
assert_dom_equal expected, datetime_select("post", "updated_at", use_separators: { inline: true }, locale: :ja)
|
3309
3688
|
end
|
3310
3689
|
|
3690
|
+
def test_datetime_select_with_custom_separator_and_wrapper_select_tag
|
3691
|
+
@post = Post.new
|
3692
|
+
@post.updated_at = Time.local(2004, 6, 15, 16, 35)
|
3693
|
+
|
3694
|
+
expected = %(<div class="wrapper_select_year">\n)
|
3695
|
+
expected << %{<select id="post_updated_at_1i" name="post[updated_at(1i)]">\n}
|
3696
|
+
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}
|
3697
|
+
expected << "</select>\n"
|
3698
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
3699
|
+
expected << %(</div>\n)
|
3700
|
+
|
3701
|
+
expected << %(<div class="wrapper_select_month">\n)
|
3702
|
+
expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
|
3703
|
+
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}
|
3704
|
+
expected << "</select>\n"
|
3705
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
3706
|
+
expected << %(</div>\n)
|
3707
|
+
|
3708
|
+
expected << %(<div class="wrapper_select_day">\n)
|
3709
|
+
expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
|
3710
|
+
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}
|
3711
|
+
expected << "</select>\n"
|
3712
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
3713
|
+
expected << %(</div>\n)
|
3714
|
+
|
3715
|
+
expected << " — "
|
3716
|
+
|
3717
|
+
expected << %(<div class="wrapper_select_hour">\n)
|
3718
|
+
expected << %{<select id="post_updated_at_4i" name="post[updated_at(4i)]">\n}
|
3719
|
+
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}
|
3720
|
+
expected << "</select>\n"
|
3721
|
+
expected << %(<span class="separator_hour">h</span>\n)
|
3722
|
+
expected << %(</div>\n)
|
3723
|
+
expected << " : "
|
3724
|
+
expected << %(<div class="wrapper_select_minute">\n)
|
3725
|
+
expected << %{<select id="post_updated_at_5i" name="post[updated_at(5i)]">\n}
|
3726
|
+
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}
|
3727
|
+
expected << "</select>\n"
|
3728
|
+
expected << %(<span class="separator_minute">min</span>\n)
|
3729
|
+
expected << %(</div>\n)
|
3730
|
+
|
3731
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", use_separators: { wrapper_select_tag: true })
|
3732
|
+
end
|
3733
|
+
|
3734
|
+
def test_datetime_select_with_custom_separator_and_wrapper_select_tag_with_options
|
3735
|
+
@post = Post.new
|
3736
|
+
@post.updated_at = Time.local(2004, 6, 15, 16, 35)
|
3737
|
+
|
3738
|
+
expected = %(<span class="foo_year">\n)
|
3739
|
+
expected << %{<select id="post_updated_at_1i" name="post[updated_at(1i)]">\n}
|
3740
|
+
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}
|
3741
|
+
expected << "</select>\n"
|
3742
|
+
expected << %(<span class="separator_year">yy</span>\n)
|
3743
|
+
expected << %(</span>\n)
|
3744
|
+
|
3745
|
+
expected << %(<span class="foo_month">\n)
|
3746
|
+
expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
|
3747
|
+
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}
|
3748
|
+
expected << "</select>\n"
|
3749
|
+
expected << %(<span class="separator_month">mm</span>\n)
|
3750
|
+
expected << %(</span>\n)
|
3751
|
+
|
3752
|
+
expected << %(<span class="foo_day">\n)
|
3753
|
+
expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
|
3754
|
+
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}
|
3755
|
+
expected << "</select>\n"
|
3756
|
+
expected << %(<span class="separator_day">dd</span>\n)
|
3757
|
+
expected << %(</span>\n)
|
3758
|
+
|
3759
|
+
expected << " — "
|
3760
|
+
|
3761
|
+
expected << %(<span class="foo_hour">\n)
|
3762
|
+
expected << %{<select id="post_updated_at_4i" name="post[updated_at(4i)]">\n}
|
3763
|
+
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}
|
3764
|
+
expected << "</select>\n"
|
3765
|
+
expected << %(<span class="separator_hour">h</span>\n)
|
3766
|
+
expected << %(</span>\n)
|
3767
|
+
expected << " : "
|
3768
|
+
expected << %(<span class="foo_minute">\n)
|
3769
|
+
expected << %{<select id="post_updated_at_5i" name="post[updated_at(5i)]">\n}
|
3770
|
+
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}
|
3771
|
+
expected << "</select>\n"
|
3772
|
+
expected << %(<span class="separator_minute">min</span>\n)
|
3773
|
+
expected << %(</span>\n)
|
3774
|
+
|
3775
|
+
assert_dom_equal expected, datetime_select("post", "updated_at", use_separators: { wrapper_select_tag: { html_tag: :span, class_prefix: 'foo_' }})
|
3776
|
+
end
|
3777
|
+
|
3311
3778
|
def test_date_select_with_zero_value_and_no_start_year
|
3312
3779
|
expected = %(<select id="date_first_year" name="date[first][year]">\n)
|
3313
3780
|
(Date.today.year-5).upto(Date.today.year+1) { |y| expected << %(<option value="#{y}">#{y}</option>\n) }
|