support for jhw's duck-punch-sprockets branch, run rails asset compilation before running jhw
This commit is contained in:
parent
f093cdb813
commit
12d5d19b72
@ -22,15 +22,15 @@ module Guard
|
||||
|
||||
def run_all
|
||||
UI.info "Guard::JasmineHeadlessWebkit running all specs..."
|
||||
JasmineHeadlessWebkitRunner.run if run_before and run_jammit
|
||||
@ran_jammit = false
|
||||
JasmineHeadlessWebkitRunner.run if run_before and run_rails_assets and run_jammit
|
||||
@ran_before = false
|
||||
end
|
||||
|
||||
def run_on_change(paths)
|
||||
paths = filter_paths(paths)
|
||||
@ran_jammit = false
|
||||
if run_before and run_jammit
|
||||
@ran_jammit = true
|
||||
@ran_before = false
|
||||
if run_before and run_rails_assets and run_jammit
|
||||
@ran_before = true
|
||||
if !paths.empty?
|
||||
UI.info "Guard::JasmineHeadlessWebkit running the following: #{paths.join(' ')}"
|
||||
JasmineHeadlessWebkitRunner.run(paths)
|
||||
@ -50,16 +50,20 @@ module Guard
|
||||
end
|
||||
|
||||
def run_before
|
||||
if @options[:run_before]
|
||||
run_program(@options[:run_before])
|
||||
else
|
||||
true
|
||||
end
|
||||
run_a_thing_before(:run_before, @options[:run_before])
|
||||
end
|
||||
|
||||
def run_jammit
|
||||
if @options[:jammit] && !@ran_jammit
|
||||
run_program("Jammit", %{jammit -f 2>/dev/null})
|
||||
run_a_thing_before(:jammit, "Jammit", %{jammit -f 2>/dev/null})
|
||||
end
|
||||
|
||||
def run_rails_assets
|
||||
run_a_thing_before(:rails_assets, "Rails Assets", %{rake assets:precompile:for_testing})
|
||||
end
|
||||
|
||||
def run_a_thing_before(option, *args)
|
||||
if @options[option] && !@ran_before
|
||||
run_program(*args)
|
||||
else
|
||||
true
|
||||
end
|
||||
|
@ -97,7 +97,7 @@ describe Guard::JasmineHeadlessWebkit do
|
||||
describe 'run jammit first' do
|
||||
context 'run on run_all if called first' do
|
||||
before do
|
||||
guard.expects(:run_program).once.returns(true)
|
||||
guard.expects(:run_program).once.with('Jammit', regexp_matches(/jammit/)).returns(true)
|
||||
Guard::JasmineHeadlessWebkitRunner.expects(:run).once
|
||||
end
|
||||
|
||||
@ -110,7 +110,7 @@ describe Guard::JasmineHeadlessWebkit do
|
||||
|
||||
context 'only run once if run_on_change is successful' do
|
||||
before do
|
||||
guard.expects(:run_program).once.returns(true)
|
||||
guard.expects(:run_program).once.with('Jammit', regexp_matches(/jammit/)).returns(true)
|
||||
Guard::JasmineHeadlessWebkitRunner.expects(:run).once.returns(0)
|
||||
end
|
||||
|
||||
@ -121,4 +121,32 @@ describe Guard::JasmineHeadlessWebkit do
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'run rails_assets first' do
|
||||
context 'run on run_all if called first' do
|
||||
before do
|
||||
guard.expects(:run_program).with('Rails Assets', regexp_matches(/assets:precompile:for_testing/)).once.returns(true)
|
||||
Guard::JasmineHeadlessWebkitRunner.expects(:run).once
|
||||
end
|
||||
|
||||
let(:options) { { :rails_assets => true } }
|
||||
|
||||
it "should run rails assets first" do
|
||||
guard.run_all
|
||||
end
|
||||
end
|
||||
|
||||
context 'only run once if run_on_change is successful' do
|
||||
before do
|
||||
guard.expects(:run_program).with('Rails Assets', regexp_matches(/assets:precompile:for_testing/)).once.returns(true)
|
||||
Guard::JasmineHeadlessWebkitRunner.expects(:run).once.returns(0)
|
||||
end
|
||||
|
||||
let(:options) { { :rails_assets => true } }
|
||||
|
||||
it "should run rails assets only once" do
|
||||
guard.run_on_change(%w{path.js})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user