diff --git a/spec/build_tests_spec.rb b/spec/build_tests_spec.rb index 1c8836a..a85979a 100644 --- a/spec/build_tests_spec.rb +++ b/spec/build_tests_spec.rb @@ -15,9 +15,13 @@ describe Rscons do FileUtils.rm_rf('build_test') end + def clear_cache + Rscons::Cache.open.clear + end + before do $stdout.stub(:puts) { nil } - Rscons::Cache.open.clear + clear_cache end ########################################################################### @@ -53,4 +57,19 @@ describe Rscons do env.Program('simple', 'simple.c') end end + + it 'rebuilds the application when the source file changes' do + setup_testdir(['simple.c']) do + env = Rscons::Environment.new + env.Program('simple', 'simple.c') + `./simple`.should =~ /This is a simple C program/ + c = File.read('simple.c') + File.open('simple.c', 'w') do |fh| + fh.puts c.sub('simple', 'modified') + end + clear_cache + env.Program('simple', 'simple.c') + `./simple`.should =~ /This is a modified C program/ + end + end end