From 8497977cac09d0570e32dfe2dc32a68fbb6e2958 Mon Sep 17 00:00:00 2001 From: John Bintz Date: Fri, 3 Jun 2011 16:25:00 -0400 Subject: [PATCH] don't run on change if paths are empty --- Rakefile | 24 +++++++++++++++++++ lib/guard/jasmine-headless-webkit.rb | 6 ++++- .../lib/guard/jasmine-headless-webkit_spec.rb | 11 ++++++++- 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/Rakefile b/Rakefile index 94c88d7..3d78d95 100644 --- a/Rakefile +++ b/Rakefile @@ -6,3 +6,27 @@ task :push_everywhere do system %{git push origin master} system %{git push guard master} end + +namespace :spec do + desc "Run on three Rubies" + task :platforms do + current = %x{rvm-prompt v} + + fail = false + %w{1.8.7 1.9.2 ree}.each do |version| + puts "Switching to #{version}" + system %{rvm #{version}} + system %{bundle exec rspec spec} + if $?.exitstatus != 0 + fail = true + break + end + end + + system %{rvm #{current}} + + exit (fail ? 1 : 0) + end +end + +task :default => 'spec:platforms' diff --git a/lib/guard/jasmine-headless-webkit.rb b/lib/guard/jasmine-headless-webkit.rb index f69c546..a5fa445 100644 --- a/lib/guard/jasmine-headless-webkit.rb +++ b/lib/guard/jasmine-headless-webkit.rb @@ -26,7 +26,11 @@ module Guard @ran_jammit = false if run_before and run_jammit @ran_jammit = true - run_all if JasmineHeadlessWebkitRunner.run(paths) == 0 + do_run_all = true + if !paths.empty? + do_run_all = (JasmineHeadlessWebkitRunner.run(paths) == 0) + end + run_all if do_run_all end end diff --git a/spec/lib/guard/jasmine-headless-webkit_spec.rb b/spec/lib/guard/jasmine-headless-webkit_spec.rb index 4aaa8ef..a7dd50c 100644 --- a/spec/lib/guard/jasmine-headless-webkit_spec.rb +++ b/spec/lib/guard/jasmine-headless-webkit_spec.rb @@ -44,6 +44,15 @@ describe Guard::JasmineHeadlessWebkit do guard.run_on_change(%w{test}) end end + + context 'no files given, just run all' do + it 'should run all but not run once' do + Guard::JasmineHeadlessWebkitRunner.expects(:run).never + guard.expects(:run_all).once + + guard.run_on_change([]) + end + end end context 'with run_before' do @@ -97,7 +106,7 @@ describe Guard::JasmineHeadlessWebkit do let(:options) { { :jammit => true } } it "should run jammit only once" do - guard.run_on_change([]) + guard.run_on_change(%w{path.txt}) end end end