guard-konacha 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/Readme.md CHANGED
@@ -1,4 +1,4 @@
1
- # Guard::Konacha
1
+ # Guard::Konacha [![Build Status](https://travis-ci.org/alexgb/guard-konacha.png)](https://travis-ci.org/alexgb/guard-konacha)
2
2
 
3
3
  Automatically run your [Konacha](https://github.com/jfirebaugh/konacha) tests through [Guard](https://github.com/guard/guard/).
4
4
 
@@ -17,6 +17,7 @@ Or add to your Gemfile:
17
17
  Add guard definitions to your `Guardfile`
18
18
 
19
19
  guard :konacha do
20
+ watch(%r{^app/assets/javascripts/(.*)\.js(\.coffee)?$}) { |m| "#{m[1]}_spec.js" }
20
21
  watch(%r{^spec/javascripts/.+_spec(\.js|\.js\.coffee)$})
21
22
  end
22
23
 
@@ -55,8 +55,8 @@ module Guard
55
55
  :duration => 0
56
56
  }
57
57
 
58
- urls.each do |url|
59
- individual_result = run_tests(url)
58
+ urls.each_with_index do |url, index|
59
+ individual_result = run_tests(url, paths[index])
60
60
 
61
61
  test_results[:examples] += individual_result[:examples]
62
62
  test_results[:failures] += individual_result[:failures]
@@ -64,7 +64,6 @@ module Guard
64
64
  test_results[:duration] += individual_result[:duration]
65
65
  end
66
66
 
67
-
68
67
  result_line = "#{test_results[:examples]} examples, #{test_results[:failures]} failures"
69
68
  result_line << ", #{test_results[:pending]} pending" if test_results[:pending] > 0
70
69
  text = [
@@ -80,7 +79,21 @@ module Guard
80
79
  end
81
80
  end
82
81
 
83
- def run_tests(url)
82
+ EMPTY_RESULT = {
83
+ :examples => 0,
84
+ :failures => 0,
85
+ :pending => 0,
86
+ :duration => 0,
87
+ }
88
+
89
+ def run_tests(url, path)
90
+ session.visit url
91
+
92
+ if session.status_code == 404
93
+ UI.warning "No spec found for: #{path}"
94
+ return EMPTY_RESULT
95
+ end
96
+
84
97
  runner = ::Konacha::Runner.new session
85
98
  runner.run url
86
99
  return {
@@ -89,6 +102,9 @@ module Guard
89
102
  :pending => runner.reporter.pending_count,
90
103
  :duration => runner.reporter.duration
91
104
  }
105
+ rescue => e
106
+ UI.error e.inspect
107
+ @session = nil
92
108
  end
93
109
 
94
110
  def run_all
@@ -106,8 +122,6 @@ module Guard
106
122
  def session
107
123
  UI.info "Starting Konacha-Capybara session using #{@options[:driver]} driver, this can take a few seconds..." if @session.nil?
108
124
  @session ||= Capybara::Session.new @options[:driver]
109
- # @session.reset!
110
- # @session
111
125
  end
112
126
 
113
127
  def spawn_konacha_command
@@ -1,6 +1,7 @@
1
1
  ### Guard::Konacha
2
2
  # available options:
3
- # - :spec_dir
3
+ # - :spec_dir, defaults to 'spec/javascripts'
4
+ # - :driver, defaults to :selenium
4
5
  guard :konacha do
5
6
  watch(%r{^app/assets/javascripts/(.*)\.js(\.coffee)?$}) { |m| "#{m[1]}_spec.js" }
6
7
  watch(%r{^spec/javascripts/.+_spec(\.js|\.js\.coffee)$})
@@ -1,5 +1,5 @@
1
1
  module Guard
2
2
  module KonachaVersion
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guard-konacha
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-22 00:00:00.000000000 Z
12
+ date: 2013-01-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: guard
@@ -137,7 +137,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
137
137
  version: '0'
138
138
  segments:
139
139
  - 0
140
- hash: -3920563354405383513
140
+ hash: 735851984399923246
141
141
  required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  none: false
143
143
  requirements:
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  version: '0'
147
147
  segments:
148
148
  - 0
149
- hash: -3920563354405383513
149
+ hash: 735851984399923246
150
150
  requirements: []
151
151
  rubyforge_project:
152
152
  rubygems_version: 1.8.24