pass other options into jhw
This commit is contained in:
parent
c2a3635083
commit
9b6cb02d06
|
@ -12,13 +12,18 @@ module Guard
|
||||||
|
|
||||||
attr_reader :files_to_rerun
|
attr_reader :files_to_rerun
|
||||||
|
|
||||||
|
DEFAULT_OPTIONS = {
|
||||||
|
:all_on_start => true,
|
||||||
|
:run_before => false,
|
||||||
|
:valid_extensions => DEFAULT_EXTENSIONS
|
||||||
|
}
|
||||||
|
|
||||||
def initialize(watchers = [], options = {})
|
def initialize(watchers = [], options = {})
|
||||||
super
|
super
|
||||||
@options = {
|
|
||||||
:all_on_start => true,
|
@options = DEFAULT_OPTIONS.merge(options)
|
||||||
:run_before => false,
|
@filtered_options = options
|
||||||
:valid_extensions => DEFAULT_EXTENSIONS
|
DEFAULT_OPTIONS.keys.each { |key| @filtered_options.delete(key) }
|
||||||
}.merge(options)
|
|
||||||
|
|
||||||
UI.deprecation ":run_before is deprecated. Use guard-shell to do something beforehand. This will be removed in a future release." if @options[:run_before]
|
UI.deprecation ":run_before is deprecated. Use guard-shell to do something beforehand. This will be removed in a future release." if @options[:run_before]
|
||||||
|
|
||||||
|
@ -68,7 +73,7 @@ module Guard
|
||||||
UI.info(SOME_SPECS_MESSAGE % paths.join(' '))
|
UI.info(SOME_SPECS_MESSAGE % paths.join(' '))
|
||||||
end
|
end
|
||||||
|
|
||||||
if failed_files = JasmineHeadlessWebkitRunner.run(paths)
|
if failed_files = JasmineHeadlessWebkitRunner.run(paths, @filtered_options)
|
||||||
@files_to_rerun = failed_files
|
@files_to_rerun = failed_files
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -4,11 +4,13 @@ require 'jasmine-headless-webkit'
|
||||||
module Guard
|
module Guard
|
||||||
class JasmineHeadlessWebkitRunner
|
class JasmineHeadlessWebkitRunner
|
||||||
class << self
|
class << self
|
||||||
def run(paths = [])
|
def run(paths = [], options = {})
|
||||||
file = Tempfile.new('guard-jasmine-headless-webkit')
|
file = Tempfile.new('guard-jasmine-headless-webkit')
|
||||||
file.close
|
file.close
|
||||||
|
|
||||||
Jasmine::Headless::Runner.run(:report => file.path, :colors => true, :files => paths)
|
options.merge!(:report => file.path, :colors => true, :files => paths)
|
||||||
|
|
||||||
|
Jasmine::Headless::Runner.run(options)
|
||||||
|
|
||||||
notify(file.path)
|
notify(file.path)
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,6 +3,14 @@ require 'guard/jasmine-headless-webkit/runner'
|
||||||
require 'fakefs/spec_helpers'
|
require 'fakefs/spec_helpers'
|
||||||
|
|
||||||
describe Guard::JasmineHeadlessWebkitRunner do
|
describe Guard::JasmineHeadlessWebkitRunner do
|
||||||
|
describe '.run' do
|
||||||
|
it 'should pass along options' do
|
||||||
|
Jasmine::Headless::Runner.expects(:run).with(has_key(:full_run))
|
||||||
|
|
||||||
|
Guard::JasmineHeadlessWebkitRunner.run([], :full_run => false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe '.notify' do
|
describe '.notify' do
|
||||||
include FakeFS::SpecHelpers
|
include FakeFS::SpecHelpers
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,16 @@ describe Guard::JasmineHeadlessWebkit do
|
||||||
guard.files_to_rerun.should == []
|
guard.files_to_rerun.should == []
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'pass along jhw options' do
|
||||||
|
let(:options) { { :all_on_start => false, :full_run => false } }
|
||||||
|
|
||||||
|
it 'should only pass along jhw options' do
|
||||||
|
Guard::JasmineHeadlessWebkitRunner.expects(:run).with([], :full_run => false)
|
||||||
|
|
||||||
|
guard.run_all
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#run_on_change' do
|
describe '#run_on_change' do
|
||||||
|
@ -64,7 +74,7 @@ describe Guard::JasmineHeadlessWebkit do
|
||||||
|
|
||||||
context 'two files' do
|
context 'two files' do
|
||||||
it "should only run one" do
|
it "should only run one" do
|
||||||
Guard::JasmineHeadlessWebkitRunner.expects(:run).with(one_file).returns(one_file)
|
Guard::JasmineHeadlessWebkitRunner.expects(:run).with(one_file, {}).returns(one_file)
|
||||||
|
|
||||||
guard.run_on_change(%w{test.js test.js}).should be_false
|
guard.run_on_change(%w{test.js test.js}).should be_false
|
||||||
guard.files_to_rerun.should == one_file
|
guard.files_to_rerun.should == one_file
|
||||||
|
@ -83,7 +93,7 @@ describe Guard::JasmineHeadlessWebkit do
|
||||||
context 'one file one prior' do
|
context 'one file one prior' do
|
||||||
it "should not run all" do
|
it "should not run all" do
|
||||||
guard.instance_variable_set(:@files_to_rerun, [ "two.js" ])
|
guard.instance_variable_set(:@files_to_rerun, [ "two.js" ])
|
||||||
Guard::JasmineHeadlessWebkitRunner.expects(:run).with(one_file + [ "two.js" ]).returns(one_file)
|
Guard::JasmineHeadlessWebkitRunner.expects(:run).with(one_file + [ "two.js" ], {}).returns(one_file)
|
||||||
|
|
||||||
guard.run_on_change(one_file).should be_false
|
guard.run_on_change(one_file).should be_false
|
||||||
guard.files_to_rerun.should == one_file
|
guard.files_to_rerun.should == one_file
|
||||||
|
@ -93,7 +103,7 @@ describe Guard::JasmineHeadlessWebkit do
|
||||||
context 'failed hard' do
|
context 'failed hard' do
|
||||||
it "should not run all" do
|
it "should not run all" do
|
||||||
guard.instance_variable_set(:@files_to_rerun, one_file)
|
guard.instance_variable_set(:@files_to_rerun, one_file)
|
||||||
Guard::JasmineHeadlessWebkitRunner.expects(:run).with(one_file).returns(nil)
|
Guard::JasmineHeadlessWebkitRunner.expects(:run).with(one_file, {}).returns(nil)
|
||||||
|
|
||||||
guard.run_on_change(one_file).should be_false
|
guard.run_on_change(one_file).should be_false
|
||||||
guard.files_to_rerun.should == one_file
|
guard.files_to_rerun.should == one_file
|
||||||
|
|
Loading…
Reference in New Issue