class TestApplicationGeneratorGenerator
Public Instance Methods
setup()
click to toggle source
# File test/test_application_generator_generator.rb, line 6 def setup bare_setup end
teardown()
click to toggle source
# File test/test_application_generator_generator.rb, line 10 def teardown bare_teardown end
test_generator_without_options()
click to toggle source
Some generator-related assertions:
assert_generated_file(name, &block) # block passed the file contents assert_directory_exists(name) assert_generated_class(name, &block) assert_generated_module(name, &block) assert_generated_test_for(name, &block)
The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
Other helper methods are:
app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files) bare_setup - place this in setup method to create the APP_ROOT folder for each test bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
# File test/test_application_generator_generator.rb, line 28 def test_generator_without_options name = "genname" run_generator('application_generator', [name], sources) assert_directory_exists "app_generators" assert_directory_exists "app_generators/#{name}" assert_directory_exists "app_generators/#{name}/templates" assert_generated_file "app_generators/#{name}/USAGE" assert_generated_class "app_generators/#{name}/#{name}_generator" do |body| assert_has_method "manifest" end assert_generated_test_for("#{name}_generator") do |body| assert_has_method body, "setup" assert_has_method body, "teardown" assert_has_method body, "test_generator_without_options" assert_has_method body, "sources" assert_has_method body, "generator_path" end assert_directory_exists "bin" assert_generated_file "bin/#{name}" end