diff --git a/guard-jasmine-headless-webkit.gemspec b/guard-jasmine-headless-webkit.gemspec index 9ca9421..8f802df 100644 --- a/guard-jasmine-headless-webkit.gemspec +++ b/guard-jasmine-headless-webkit.gemspec @@ -20,5 +20,6 @@ Gem::Specification.new do |s| s.require_paths = ["lib"] s.add_dependency 'guard', '>= 0.4.0' - s.add_dependency 'jasmine-headless-webkit', '>= 0.3.0' + s.add_dependency 'jasmine-headless-webkit', '>= 0.7.0' end + diff --git a/lib/guard/jasmine-headless-webkit/runner.rb b/lib/guard/jasmine-headless-webkit/runner.rb index 9d99b61..4f7ff2b 100644 --- a/lib/guard/jasmine-headless-webkit/runner.rb +++ b/lib/guard/jasmine-headless-webkit/runner.rb @@ -1,5 +1,5 @@ require 'guard/notifier' -require 'jasmine/headless/runner' +require 'jasmine-headless-webkit' module Guard class JasmineHeadlessWebkitRunner @@ -14,14 +14,14 @@ module Guard end def notify(file) - if (data = File.read(file).strip).empty? - Notifier.notify('Spec runner interrupted!', :title => 'Jasmine results', :image => :failed) + if (report = Jasmine::Headless::Report.load(file)).valid? + Notifier.notify(message(report.total, report.failed, report.time, report.has_used_console?), :title => 'Jasmine results', :image => image(report.has_used_console?, report.failed)) + report.failed else - total, fails, any_console, secs = data.lines.first.strip.split('/') - - Notifier.notify(message(total, fails, secs, any_console == "T"), :title => 'Jasmine results', :image => image(any_console == "T", fails)) - fails.to_i + raise StandardError.new("invalid report") end + rescue Exception => e + Notifier.notify('Spec runner interrupted!', :title => 'Jasmine results', :image => :failed) end private diff --git a/lib/guard/jasmine-headless-webkit/version.rb b/lib/guard/jasmine-headless-webkit/version.rb index 2187f92..41f0a33 100644 --- a/lib/guard/jasmine-headless-webkit/version.rb +++ b/lib/guard/jasmine-headless-webkit/version.rb @@ -1,5 +1,5 @@ module Guard module JasmineHeadlessWebkitVersion - VERSION = "0.2.1" + VERSION = "0.3.0" end end diff --git a/spec/lib/guard/jasmine-headless-webkit/runner_spec.rb b/spec/lib/guard/jasmine-headless-webkit/runner_spec.rb index 472d12f..03a3bcf 100644 --- a/spec/lib/guard/jasmine-headless-webkit/runner_spec.rb +++ b/spec/lib/guard/jasmine-headless-webkit/runner_spec.rb @@ -13,20 +13,20 @@ describe Guard::JasmineHeadlessWebkitRunner do end context 'system run not interrupted' do - let(:data) { '1/0/F/5' } + let(:data) { 'TOTAL||1||0||5||F' } it 'should notify with the right information' do - Guard::Notifier.expects(:notify).with("1 test, 0 failures, 5 secs.", { :title => 'Jasmine results', :image => :success }) + Guard::Notifier.expects(:notify).with("1 test, 0 failures, 5.0 secs.", { :title => 'Jasmine results', :image => :success }) Guard::JasmineHeadlessWebkitRunner.notify(file) end end context 'with failures' do - let(:data) { "1/0/F/5\nThis||Is||A||Failure\n" } + let(:data) { "TOTAL||1||1||5||F" } it 'should notify with the right information' do - Guard::Notifier.expects(:notify).with("1 test, 0 failures, 5 secs.", { :title => 'Jasmine results', :image => :success }) + Guard::Notifier.expects(:notify).with("1 test, 1 failures, 5.0 secs.", { :title => 'Jasmine results', :image => :failed }) Guard::JasmineHeadlessWebkitRunner.notify(file) end