diff options
author | Jason Noble & Ralph Shnelvar <perlwizard@gmail.com> | 2012-02-25 14:01:40 -0700 |
---|---|---|
committer | Jason Noble <github+jasonn@jasonnoble.org> | 2012-04-30 07:48:36 -0600 |
commit | e053b415e7874b56c5ac788644c68e264a1cef33 (patch) | |
tree | d127dee22b0a6defe3af49ccbb002f654cddd38c /railties/test | |
parent | b5472cf7f22cb6d06bfdb329b13b919998e4ad7b (diff) | |
download | rails-e053b415e7874b56c5ac788644c68e264a1cef33.tar.gz rails-e053b415e7874b56c5ac788644c68e264a1cef33.tar.bz2 rails-e053b415e7874b56c5ac788644c68e264a1cef33.zip |
Add ability to specify custom annotation directories
SOURCE_ANNOTATION_DIRECTORIES='dir1,dir2' bundle exec rake notes
Searches app, config, lib, script, test (default)
Also searches dir1, dir2
References: #4536, #4540
Diffstat (limited to 'railties/test')
-rw-r--r-- | railties/test/application/rake/notes_test.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/railties/test/application/rake/notes_test.rb b/railties/test/application/rake/notes_test.rb index 9f7075248f..66f95bc821 100644 --- a/railties/test/application/rake/notes_test.rb +++ b/railties/test/application/rake/notes_test.rb @@ -60,6 +60,8 @@ module ApplicationTests app_file "script/run_something.rb", "# TODO: note in script directory" app_file "test/some_test.rb", 1000.times.map { "" }.join("\n") << "# TODO: note in test directory" + app_file "some_other_dir/blah.rb", "# TODO: note in some_other directory" + boot_rails require 'rake' @@ -77,6 +79,7 @@ module ApplicationTests assert_match /note in lib directory/, output assert_match /note in script directory/, output assert_match /note in test directory/, output + assert_no_match /note in some_other directory/, output assert_equal 5, lines.size @@ -87,6 +90,45 @@ module ApplicationTests end + test 'notes finds notes in custom directories' do + + app_file "app/controllers/some_controller.rb", "# TODO: note in app directory" + app_file "config/initializers/some_initializer.rb", "# TODO: note in config directory" + app_file "lib/some_file.rb", "# TODO: note in lib directory" + app_file "script/run_something.rb", "# TODO: note in script directory" + app_file "test/some_test.rb", 1000.times.map { "" }.join("\n") << "# TODO: note in test directory" + + app_file "some_other_dir/blah.rb", "# TODO: note in some_other directory" + + boot_rails + + require 'rake' + require 'rdoc/task' + require 'rake/testtask' + + Rails.application.load_tasks + + Dir.chdir(app_path) do + output = `SOURCE_ANNOTATION_DIRECTORIES='some_other_dir' bundle exec rake notes` + lines = output.scan(/\[([0-9\s]+)\]/).flatten + + assert_match /note in app directory/, output + assert_match /note in config directory/, output + assert_match /note in lib directory/, output + assert_match /note in script directory/, output + assert_match /note in test directory/, output + + assert_match /note in some_other directory/, output + + assert_equal 6, lines.size + + lines.each do |line_number| + assert_equal 4, line_number.size + end + end + + end + private def boot_rails super |