Parent

Methods

Autotest::Merb

Attributes

controller_tests_dir[RW]

model_tests_dir

the directory to find model-centric tests

controller_tests_dir

the directory to find controller-centric tests

view_tests_dir

the directory to find view-centric tests

fixtures_dir

the directory to find fixtures in

fixtures_dir[RW]

model_tests_dir

the directory to find model-centric tests

controller_tests_dir

the directory to find controller-centric tests

view_tests_dir

the directory to find view-centric tests

fixtures_dir

the directory to find fixtures in

model_tests_dir[RW]

model_tests_dir

the directory to find model-centric tests

controller_tests_dir

the directory to find controller-centric tests

view_tests_dir

the directory to find view-centric tests

fixtures_dir

the directory to find fixtures in

view_tests_dir[RW]

model_tests_dir

the directory to find model-centric tests

controller_tests_dir

the directory to find controller-centric tests

view_tests_dir

the directory to find view-centric tests

fixtures_dir

the directory to find fixtures in

Public Class Methods

new() click to toggle source
# File lib/generators/templates/application/merb_stack/autotest/merb.rb, line 12
def initialize
  super
  
  initialize_test_layout
  
  # Ignore any happenings in these directories
  add_exception %^\./(?:doc|log|public|tmp|\.git|\.hg|\.svn|framework|gems|schema|\.DS_Store|autotest|bin|.*\.sqlite3)% 
  # Ignore SCM directories and custom Autotest mappings
  ].svn .hg .git .autotest].each { |exception| add_exception(exception) }
  
  
  # Ignore any mappings that Autotest may have already set up
  clear_mappings
  
  # Any changes to a file in the root of the 'lib' directory will run any 
  # model test with a corresponding name.
  add_mapping %^lib\/.*\.rb% do |filename, _|
    files_matching Regexp.new(["^#{model_test_for(filename)}$"])
  end
  
  # Any changes to a fixture will run corresponding view, controller and 
  # model tests
  add_mapping %^#{fixtures_dir}/(.*)s.yml% do |_, m|
    [
      model_test_for(m[1]), 
      controller_test_for(m[1]), 
      view_test_for(m[1])
    ]
  end
  
  # Any change to a test will cause it to be run
  add_mapping %^test/(unit|models|integration|controllers|views|functional)/.*rb$% do |filename, _|
    filename
  end
  
  # Any change to a model will cause it's corresponding test to be run
  add_mapping %^app/models/(.*)\.rb$% do |_, m|
    model_test_for(m[1])
  end
  
  # Any change to the global helper will result in all view and controller 
  # tests being run
  add_mapping %^app/helpers/global_helpers.rb% do
    files_matching %^test/(views|functional|controllers)/.*_test\.rb$%
  end
  
  # Any change to a helper will run it's corresponding view and controller 
  # tests, unless the helper is the global helper. Changes to the global 
  # helper run all view and controller tests.
  add_mapping %^app/helpers/(.*)_helper(s)?.rb% do |_, m|
    if m[1] == "global" then
      files_matching %^test/(views|functional|controllers)/.*_test\.rb$%
    else
      [
        view_test_for(m[1]), 
        controller_test_for(m[1])
      ]
    end
  end
  
  # Changes to views result in their corresponding view and controller test 
  # being run
  add_mapping %^app/views/(.*)/% do |_, m|
    [
      view_test_for(m[1]), 
      controller_test_for(m[1])
    ]
  end
  
  # Changes to a controller result in its corresponding test being run. If 
  # the controller is the exception or application controller, all 
  # controller tests are run.
  add_mapping %^app/controllers/(.*)\.rb$% do |_, m|
    if ["application", "exception"].include?(m[1])
      files_matching %^test/(controllers|views|functional)/.*_test\.rb$%
    else
      controller_test_for(m[1])
    end
  end

  # If a change is made to the router, run all controller and view tests
  add_mapping %^config/router.rb$% do # FIX
    files_matching %^test/(controllers|views|functional)/.*_test\.rb$%
  end

  # If any of the major files governing the environment are altered, run 
  # everything
  add_mapping %^test/test_helper.rb|config/(init|rack|environments/test.rb|database.yml)% do # FIX
    files_matching %^test/(unit|models|controllers|views|functional)/.*_test\.rb$%
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.