From 57d9f8b924039ed5f57fc3e9cad640c5c61eb84b Mon Sep 17 00:00:00 2001
From: Jan Dupal <dupal.j@gmail.com>
Date: Tue, 22 Nov 2011 23:07:22 +0100
Subject: fix Helpers::DateHelper with :use_hidden - hide separators

---
 actionpack/test/template/date_helper_test.rb | 32 ++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

(limited to 'actionpack/test')

diff --git a/actionpack/test/template/date_helper_test.rb b/actionpack/test/template/date_helper_test.rb
index af30ec9892..55a9fb4ace 100644
--- a/actionpack/test/template/date_helper_test.rb
+++ b/actionpack/test/template/date_helper_test.rb
@@ -930,6 +930,15 @@ class DateHelperTest < ActionView::TestCase
     assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), { :date_separator => " / ", :discard_month => true, :discard_day => true, :start_year => 2003, :end_year => 2005, :prefix => "date[first]"})
   end
 
+  def test_select_date_with_hidden
+    expected =  %(<input id="date_first_year" name="date[first][year]" type="hidden" value="2003"/>\n)
+    expected << %(<input id="date_first_month" name="date[first][month]" type="hidden" value="8" />\n)
+    expected << %(<input id="date_first_day" name="date[first][day]" type="hidden" value="16" />\n)
+
+    assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), { :prefix => "date[first]", :use_hidden => true })
+    assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), { :date_separator => " / ", :prefix => "date[first]", :use_hidden => true })
+  end
+
   def test_select_datetime
     expected =  %(<select id="date_first_year" name="date[first][year]">\n)
     expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
@@ -1167,6 +1176,18 @@ class DateHelperTest < ActionView::TestCase
       :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year', :hour => 'Choose hour', :minute => 'Choose minute'})
   end
 
+  def test_select_datetime_with_hidden
+    expected =  %(<input id="date_first_year" name="date[first][year]" type="hidden" value="2003" />\n)
+    expected << %(<input id="date_first_month" name="date[first][month]" type="hidden" value="8" />\n)
+    expected << %(<input id="date_first_day" name="date[first][day]" type="hidden" value="16" />\n)
+    expected << %(<input id="date_first_hour" name="date[first][hour]" type="hidden" value="8" />\n)
+    expected << %(<input id="date_first_minute" name="date[first][minute]" type="hidden" value="4" />\n)
+
+    assert_dom_equal expected, select_datetime(Time.mktime(2003, 8, 16, 8, 4, 18), :prefix => "date[first]", :use_hidden => true)
+    assert_dom_equal expected, select_datetime(Time.mktime(2003, 8, 16, 8, 4, 18), :datetime_separator => "&mdash;", :date_separator => "/",
+      :time_separator => ":", :prefix => "date[first]", :use_hidden => true)
+  end
+
   def test_select_time
     expected = %(<input name="date[year]" id="date_year" value="2003" type="hidden" />\n)
     expected << %(<input name="date[month]" id="date_month" value="8" type="hidden" />\n)
@@ -1342,6 +1363,17 @@ class DateHelperTest < ActionView::TestCase
       :prompt => {:hour => 'Choose hour', :minute => 'Choose minute', :second => 'Choose seconds'})
   end
 
+  def test_select_time_with_hidden
+    expected =  %(<input id="date_first_year" name="date[first][year]" type="hidden" value="2003" />\n)
+    expected << %(<input id="date_first_month" name="date[first][month]" type="hidden" value="8" />\n)
+    expected << %(<input id="date_first_day" name="date[first][day]" type="hidden" value="16" />\n)
+    expected << %(<input id="date_first_hour" name="date[first][hour]" type="hidden" value="8" />\n)
+    expected << %(<input id="date_first_minute" name="date[first][minute]" type="hidden" value="4" />\n)
+
+    assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :prefix => "date[first]", :use_hidden => true)
+    assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :time_separator => ":", :prefix => "date[first]", :use_hidden => true)
+  end
+
   def test_date_select
     @post = Post.new
     @post.written_on = Date.new(2004, 6, 15)
-- 
cgit v1.2.3