mirror of
https://github.com/pry/pry.git
synced 2022-11-09 12:35:05 -05:00
Deduce the test name from lib names for Guard
There will still be a need for manual coaching, but this is a quick start.
This commit is contained in:
parent
066725c471
commit
0b5b06d906
1 changed files with 19 additions and 2 deletions
21
Guardfile
21
Guardfile
|
@ -33,8 +33,24 @@ module ::Guard
|
|||
end
|
||||
|
||||
guard 'bacon' do
|
||||
# Example of mapping a lib file to one or more test files
|
||||
watch('lib/pry/indent.rb') { 'test/test_indent.rb' }
|
||||
def deduce_test_from(token)
|
||||
"test/test_#{token}.rb"
|
||||
end
|
||||
|
||||
Dir['lib/pry/*.rb'].each do |rb|
|
||||
rb[%r(lib/pry/(.+)\.rb$)]
|
||||
test_rb = deduce_test_from $1
|
||||
if File.exists?(test_rb)
|
||||
watch(rb) { test_rb }
|
||||
else
|
||||
exempt = %w(
|
||||
commands
|
||||
version
|
||||
).map {|token| deduce_test_from token}
|
||||
puts 'Missing ' + test_rb if
|
||||
ENV['WANT_TEST_COMPLAINTS'] and not exempt.include?(test_rb)
|
||||
end
|
||||
end
|
||||
|
||||
watch(%r{^lib/pry/commands/([^.]+)\.rb}) { |m| "test/test_commands/test_#{m[1]}.rb" }
|
||||
|
||||
|
@ -45,3 +61,4 @@ guard 'bacon' do
|
|||
watch(%r{^test.*/test_.+\.rb$})
|
||||
end
|
||||
|
||||
# vim:ft=ruby
|
||||
|
|
Loading…
Add table
Reference in a new issue