-
-
Save rohitarondekar/4b0028201b5fe613baba to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From ae592615b001a8cbb6a0e04f7895bcff51727dbf Mon Sep 17 00:00:00 2001 | |
From: rohit <rohit.arondekar@gmail.com> | |
Date: Thu, 2 Sep 2010 15:11:58 +0530 | |
Subject: [PATCH 1/3] Failing test for GeneratedAttribute [#5461 state:open] | |
--- | |
.../test/generators/generated_attribute_test.rb | 12 ++++++++++++ | |
1 files changed, 12 insertions(+), 0 deletions(-) | |
diff --git a/railties/test/generators/generated_attribute_test.rb b/railties/test/generators/generated_attribute_test.rb | |
index de7e4de..272e179 100644 | |
--- a/railties/test/generators/generated_attribute_test.rb | |
+++ b/railties/test/generators/generated_attribute_test.rb | |
@@ -108,4 +108,16 @@ class GeneratedAttributeTest < Rails::Generators::TestCase | |
) | |
end | |
end | |
+ | |
+ def test_nil_type_raises_exception | |
+ assert_raise Thor::Error do | |
+ create_generated_attribute(nil, 'title') | |
+ end | |
+ end | |
+ | |
+ def test_missing_type_raises_exception | |
+ assert_raise Thor::Error do | |
+ create_generated_attribute(:'', 'title') | |
+ end | |
+ end | |
end | |
-- | |
1.7.0.4 | |
From 552a6dee14c8d66e736dcbf7b84710ce7cef0003 Mon Sep 17 00:00:00 2001 | |
From: rohit <rohit.arondekar@gmail.com> | |
Date: Thu, 2 Sep 2010 15:28:00 +0530 | |
Subject: [PATCH 2/3] Output a friendly message when no type given for GeneratedAttribute [#5461 state:resolved] | |
--- | |
.../lib/rails/generators/generated_attribute.rb | 1 + | |
1 files changed, 1 insertions(+), 0 deletions(-) | |
diff --git a/railties/lib/rails/generators/generated_attribute.rb b/railties/lib/rails/generators/generated_attribute.rb | |
index 3b9fff2..64273e4 100644 | |
--- a/railties/lib/rails/generators/generated_attribute.rb | |
+++ b/railties/lib/rails/generators/generated_attribute.rb | |
@@ -6,6 +6,7 @@ module Rails | |
attr_accessor :name, :type | |
def initialize(name, type) | |
+ raise Thor::Error, "Missing type for attribute '#{name}'.\nExample: '#{name}:string' where string is the type." if type.blank? | |
@name, @type = name, type.to_sym | |
end | |
-- | |
1.7.0.4 | |
From dde72c4206fe220ee275eaab604bdf3d378b322b Mon Sep 17 00:00:00 2001 | |
From: rohit <rohit.arondekar@gmail.com> | |
Date: Thu, 2 Sep 2010 16:15:22 +0530 | |
Subject: [PATCH 3/3] Add two integration tests for GeneratedAttribute missing type error. [#5461 state:resolved] | |
--- | |
railties/test/generators/model_generator_test.rb | 6 ++++++ | |
.../test/generators/scaffold_generator_test.rb | 6 ++++++ | |
2 files changed, 12 insertions(+), 0 deletions(-) | |
diff --git a/railties/test/generators/model_generator_test.rb b/railties/test/generators/model_generator_test.rb | |
index ef415a4..f4a9a15 100644 | |
--- a/railties/test/generators/model_generator_test.rb | |
+++ b/railties/test/generators/model_generator_test.rb | |
@@ -11,6 +11,12 @@ class ModelGeneratorTest < Rails::Generators::TestCase | |
assert_match /TestUnit options:/, content | |
end | |
+ def test_model_with_missing_attribute_type | |
+ content = capture(:stderr) { run_generator ["post", "title:string", "body"] } | |
+ assert_match /Missing type for attribute 'body'/, content | |
+ assert_match /Example: 'body:string' where string is the type/, content | |
+ end | |
+ | |
def test_invokes_default_orm | |
run_generator | |
assert_file "app/models/account.rb", /class Account < ActiveRecord::Base/ | |
diff --git a/railties/test/generators/scaffold_generator_test.rb b/railties/test/generators/scaffold_generator_test.rb | |
index f12445a..446bed3 100644 | |
--- a/railties/test/generators/scaffold_generator_test.rb | |
+++ b/railties/test/generators/scaffold_generator_test.rb | |
@@ -231,4 +231,10 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase | |
assert_file "config/routes.rb", /\.routes\.draw do\s*\|map\|\s*$/ | |
end | |
+ | |
+ def test_scaffold_generator_outputs_error_message_on_missing_attribute_type | |
+ content = capture(:stderr) { run_generator ["post", "title:string", "body"]} | |
+ assert_match /Missing type for attribute 'body'/, content | |
+ assert_match /Example: 'body:string' where string is the type/, content | |
+ end | |
end | |
-- | |
1.7.0.4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment