aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/generators/test_case.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails/generators/test_case.rb')
-rw-r--r--railties/lib/rails/generators/test_case.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/railties/lib/rails/generators/test_case.rb b/railties/lib/rails/generators/test_case.rb
index e8f5925ca5..ff9cf0087e 100644
--- a/railties/lib/rails/generators/test_case.rb
+++ b/railties/lib/rails/generators/test_case.rb
@@ -26,6 +26,7 @@ module Rails
# destination File.expand_path("../tmp", File.dirname(__FILE__))
# setup :prepare_destination
# end
+ #
class TestCase < ActiveSupport::TestCase
include FileUtils
@@ -42,6 +43,7 @@ module Rails
# Sets which generator should be tested:
#
# tests AppGenerator
+ #
def self.tests(klass)
self.generator_class = klass
end
@@ -50,6 +52,7 @@ module Rails
# invoking it.
#
# arguments %w(app_name --skip-active-record)
+ #
def self.arguments(array)
self.default_arguments = array
end
@@ -57,6 +60,7 @@ module Rails
# Sets the destination of generator files:
#
# destination File.expand_path("../tmp", File.dirname(__FILE__))
+ #
def self.destination(path)
self.destination_root = path
end
@@ -79,6 +83,7 @@ module Rails
# assert_match(/Product\.all/, index)
# end
# end
+ #
def assert_file(relative, *contents)
absolute = File.expand_path(relative, destination_root)
assert File.exists?(absolute), "Expected file #{relative.inspect} to exist, but does not"
@@ -101,6 +106,7 @@ module Rails
# path relative to the configured destination:
#
# assert_no_file "config/random.rb"
+ #
def assert_no_file(relative)
absolute = File.expand_path(relative, destination_root)
assert !File.exists?(absolute), "Expected file #{relative.inspect} to not exist, but does"
@@ -118,6 +124,7 @@ module Rails
# assert_file "db/migrate/003_create_products.rb"
#
# Consequently, assert_migration accepts the same arguments has assert_file.
+ #
def assert_migration(relative, *contents, &block)
file_name = migration_file_name(relative)
assert file_name, "Expected migration #{relative} to exist, but was not found"
@@ -128,6 +135,7 @@ module Rails
# path relative to the configured destination:
#
# assert_no_migration "db/migrate/create_products.rb"
+ #
def assert_no_migration(relative)
file_name = migration_file_name(relative)
assert_nil file_name, "Expected migration #{relative} to not exist, but found #{file_name}"
@@ -142,6 +150,7 @@ module Rails
# assert_match(/create_table/, up)
# end
# end
+ #
def assert_class_method(method, content, &block)
assert_instance_method "self.#{method}", content, &block
end
@@ -154,6 +163,7 @@ module Rails
# assert_match(/Product\.all/, index)
# end
# end
+ #
def assert_instance_method(method, content)
assert content =~ /def #{method}(\(.+\))?(.*?)\n end/m, "Expected to have method #{method}"
yield $2.strip if block_given?
@@ -164,6 +174,7 @@ module Rails
# properly:
#
# assert_field_type :date, :date_select
+ #
def assert_field_type(attribute_type, field_type)
assert_equal(field_type, create_generated_attribute(attribute_type).field_type)
end
@@ -171,6 +182,7 @@ module Rails
# Asserts the given attribute type gets a proper default value:
#
# assert_field_default_value :string, "MyString"
+ #
def assert_field_default_value(attribute_type, value)
assert_equal(value, create_generated_attribute(attribute_type).default)
end
@@ -204,6 +216,7 @@ module Rails
# attribute type and, optionally, the attribute name:
#
# create_generated_attribute(:string, 'name')
+ #
def create_generated_attribute(attribute_type, name = 'test', index = nil)
Rails::Generators::GeneratedAttribute.parse([name, attribute_type, index].compact.join(':'))
end