1
0
Fork 0
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:
☈king 2012-09-17 01:12:40 -06:00 committed by rking@sharpsaw.org
parent 066725c471
commit 0b5b06d906

View file

@ -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