From 08cb9812014b993c692a24f381e3030975811ddb Mon Sep 17 00:00:00 2001 From: Jeff Kreeftmeijer Date: Sat, 15 May 2010 22:29:06 +0200 Subject: [PATCH] using :time_select when the attribute type is :time in the scaffold generator. --- .../lib/rails/generators/generated_attribute.rb | 13 ++-- .../test/generators/generated_attribute_test.rb | 61 ++++++++++++++++++++ 2 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 railties/test/generators/generated_attribute_test.rb diff --git a/railties/lib/rails/generators/generated_attribute.rb b/railties/lib/rails/generators/generated_attribute.rb index e962308..f01934f 100644 --- a/railties/lib/rails/generators/generated_attribute.rb +++ b/railties/lib/rails/generators/generated_attribute.rb @@ -9,12 +9,13 @@ module Rails def field_type @field_type ||= case type - when :integer, :float, :decimal then :text_field - when :datetime, :timestamp, :time then :datetime_select - when :date then :date_select - when :string then :text_field - when :text then :text_area - when :boolean then :check_box + when :integer, :float, :decimal then :text_field + when :time then :time_select + when :datetime, :timestamp then :datetime_select + when :date then :date_select + when :string then :text_field + when :text then :text_area + when :boolean then :check_box else :text_field end diff --git a/railties/test/generators/generated_attribute_test.rb b/railties/test/generators/generated_attribute_test.rb new file mode 100644 index 0000000..3bc5612 --- /dev/null +++ b/railties/test/generators/generated_attribute_test.rb @@ -0,0 +1,61 @@ +require 'generators/generators_test_helper' +require 'rails/generators/generated_attribute' + +class GeneratedAttributeTest < Rails::Generators::TestCase + include GeneratorsTestHelper + + def test_field_type_returns_text_field + %w(integer float decimal string).each do |type| + assert_equal( + Rails::Generators::GeneratedAttribute.new('test', type).field_type, + :text_field + ) + end + end + + def test_field_type_returns_datetime_select + %w(datetime timestamp).each do |type| + assert_equal( + Rails::Generators::GeneratedAttribute.new('test', type).field_type, + :datetime_select + ) + end + end + + def test_field_type_returns_time_select + assert_equal( + Rails::Generators::GeneratedAttribute.new('test', 'time').field_type, + :time_select + ) + end + + def test_field_type_returns_date_select + assert_equal( + Rails::Generators::GeneratedAttribute.new('test', 'date').field_type, + :date_select + ) + end + + def test_field_type_returns_text_area + assert_equal( + Rails::Generators::GeneratedAttribute.new('test', 'text').field_type, + :text_area + ) + end + + def test_field_type_returns_check_box + assert_equal( + Rails::Generators::GeneratedAttribute.new('test', 'boolean').field_type, + :check_box + ) + end + + def test_field_type_with_unknown_type_returns_text_field + %w(foo bar baz).each do |type| + assert_equal( + Rails::Generators::GeneratedAttribute.new('test', type).field_type, + :text_field + ) + end + end +end -- 1.6.4.1