aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/application
diff options
context:
space:
mode:
authorJason Noble & Ralph Shnelvar <perlwizard@gmail.com>2012-02-25 14:01:40 -0700
committerJason Noble <github+jasonn@jasonnoble.org>2012-04-30 07:48:36 -0600
commite053b415e7874b56c5ac788644c68e264a1cef33 (patch)
treed127dee22b0a6defe3af49ccbb002f654cddd38c /railties/test/application
parentb5472cf7f22cb6d06bfdb329b13b919998e4ad7b (diff)
downloadrails-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/application')
-rw-r--r--railties/test/application/rake/notes_test.rb42
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