提交 21f7dadb 编写于 作者: A Annie-Claude Côté

Adds support to register directories and extensions to NotesCommand

* Require the application and environnement in the notes command in order to load the config files
* Adds tests for both register_directories and register_extensions added to a config file
上级 1996fbe2
......@@ -8,6 +8,8 @@ class NotesCommand < Base # :nodoc:
class_option :annotations, aliases: "-a", desc: "Filter by specific annotations, e.g. Foobar TODO", type: :array, default: %w(OPTIMIZE FIXME TODO)
def perform(*)
require_application_and_environment!
deprecation_warning
display_annotations
end
......
......@@ -77,6 +77,50 @@ class Rails::Command::NotesTest < ActiveSupport::TestCase
OUTPUT
end
test "displays results from additional directories added to the default directories from a config file" do
app_file "db/some_seeds.rb", "# FIXME: note in db directory"
app_file "lib/some_file.rb", "# TODO: note in lib directory"
app_file "spec/spec_helper.rb", "# TODO: note in spec"
app_file "spec/models/user_spec.rb", "# TODO: note in model spec"
add_to_config "config.annotations.register_directories \"spec\""
assert_equal <<~OUTPUT, run_notes_command
db/some_seeds.rb:
* [1] [FIXME] note in db directory
lib/some_file.rb:
* [1] [TODO] note in lib directory
spec/models/user_spec.rb:
* [1] [TODO] note in model spec
spec/spec_helper.rb:
* [1] [TODO] note in spec
OUTPUT
end
test "displays results from additional file extensions added to the default extensions from a config file" do
add_to_config "config.assets.precompile = []"
add_to_config %q{ config.annotations.register_extensions("scss", "sass") { |annotation| /\/\/\s*(#{annotation}):?\s*(.*)$/ } }
app_file "db/some_seeds.rb", "# FIXME: note in db directory"
app_file "app/assets/stylesheets/application.css.scss", "// TODO: note in scss"
app_file "app/assets/stylesheets/application.css.sass", "// TODO: note in sass"
assert_equal <<~OUTPUT, run_notes_command
app/assets/stylesheets/application.css.sass:
* [1] [TODO] note in sass
app/assets/stylesheets/application.css.scss:
* [1] [TODO] note in scss
db/some_seeds.rb:
* [1] [FIXME] note in db directory
OUTPUT
end
private
def run_notes_command(args = [])
rails "notes", args
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册