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