guard-jasmine 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 653c1770a0ee0afde89d96bc6b55e89523f9e6a7
4
- data.tar.gz: 9da1156f41c0da97723d2ab83b908b02b7588faf
3
+ metadata.gz: 12caddb0c39fa9e9eb322b6c951c89852701f973
4
+ data.tar.gz: f0cf28ed90b43983707498f0687bda3c13eae5b1
5
5
  SHA512:
6
- metadata.gz: 19f799979a9d26cc253abffd4e5ddf34d3c95e56ac0443f5d79242a3d6659eb31bdea642445c1edc52e836925ab4440647dda3c743a2e348201731dbc84f16b1
7
- data.tar.gz: 1bd4ab0e7aa91dd28e1f031fb113b2c95930a6b2bdcac7b9b8101a0494cda518f414565d9b800840402c34a4cc492dc29630cb1743be7e4d6380f9b2411e9b04
6
+ metadata.gz: 6e289b661a2d079a9da870b108afea5c1c3edb1da7e075ec09acfa000bd2ee25a5ef0b59f89a86b4e8e465d6da2765c38c2f16fb635f5798e548ea158c800696
7
+ data.tar.gz: 2399a04e13a740d2e1eaf8a4cf0452d16f6ccf37074a099449cca08c75a48a8d4c73eb7967250f26017d451b9e0c2e1857b9dffe6197a01f6535b3b9bd751cb5
@@ -7,7 +7,7 @@ require 'guard/jasmine/util'
7
7
  require 'guard/jasmine/server'
8
8
 
9
9
  module Guard
10
- class Jasmine
10
+ class Jasmine < Plugin
11
11
  # Small helper class to run the Jasmine runner_options once from the
12
12
  # command line. This can be useful to integrate guard-jasmine
13
13
  # into a continuous integration server.
@@ -225,7 +225,7 @@ module Guard
225
225
  end
226
226
 
227
227
  rescue => e
228
- ::Guard::UI.error "Something went wrong: #{e.message}"
228
+ Compat::UI.error "Something went wrong: #{e.message}"
229
229
  Process.exit 2
230
230
  ensure
231
231
  ::Guard::Jasmine::Server.stop
@@ -239,7 +239,7 @@ module Guard
239
239
  # @see Guard::Jasmine::VERSION
240
240
  #
241
241
  def version
242
- ::Guard::UI.info "Guard::Jasmine version #{ ::Guard::JasmineVersion::VERSION }"
242
+ Compat::UI.info "Guard::Jasmine version #{ ::Guard::JasmineVersion::VERSION }"
243
243
  end
244
244
  end
245
245
  end
@@ -1,5 +1,7 @@
1
+ require 'guard/compat/plugin'
2
+
1
3
  module Guard
2
- class Jasmine
4
+ class Jasmine < Plugin
3
5
  # The Guard::Jasmine formatter collects console and
4
6
  # system notification methods and enhances them with
5
7
  # some color information.
@@ -13,7 +15,7 @@ module Guard
13
15
  # @option options [Boolean] :reset reset the UI
14
16
  #
15
17
  def info(message, options = {})
16
- ::Guard::UI.info(message, options)
18
+ Compat::UI.info(message, options)
17
19
  end
18
20
 
19
21
  # Print a debug message to the console.
@@ -23,7 +25,7 @@ module Guard
23
25
  # @option options [Boolean] :reset reset the UI
24
26
  #
25
27
  def debug(message, options = {})
26
- ::Guard::UI.debug(message, options)
28
+ Compat::UI.debug(message, options)
27
29
  end
28
30
 
29
31
  # Print a red error message to the console.
@@ -33,7 +35,7 @@ module Guard
33
35
  # @option options [Boolean] :reset reset the UI
34
36
  #
35
37
  def error(message, options = {})
36
- ::Guard::UI.error(color(message, ';31'), options)
38
+ Compat::UI.error(color(message, ';31'), options)
37
39
  end
38
40
 
39
41
  # Print a green success message to the console.
@@ -43,7 +45,7 @@ module Guard
43
45
  # @option options [Boolean] :reset reset the UI
44
46
  #
45
47
  def success(message, options = {})
46
- ::Guard::UI.info(color(message, ';32'), options)
48
+ Compat::UI.info(color(message, ';32'), options)
47
49
  end
48
50
 
49
51
  # Print a yellow pending message to the console.
@@ -53,7 +55,7 @@ module Guard
53
55
  # @option options [Boolean] :reset reset the UI
54
56
  #
55
57
  def spec_pending(message, options = {})
56
- ::Guard::UI.info(color(message, ';33'), options)
58
+ Compat::UI.info(color(message, ';33'), options)
57
59
  end
58
60
 
59
61
  # Print a red spec failed message to the console.
@@ -62,7 +64,7 @@ module Guard
62
64
  # @param [Hash] options the output options
63
65
  #
64
66
  def spec_failed(message, options = {})
65
- ::Guard::UI.info(color(message, ';31'), options)
67
+ Compat::UI.info(color(message, ';31'), options)
66
68
  end
67
69
 
68
70
  # Print a red spec failed message to the console.
@@ -71,7 +73,7 @@ module Guard
71
73
  # @param [Hash] options the output options
72
74
  #
73
75
  def suite_name(message, options = {})
74
- ::Guard::UI.info(color(message, ';33'), options)
76
+ Compat::UI.info(color(message, ';33'), options)
75
77
  end
76
78
 
77
79
  # Outputs a system notification.
@@ -82,7 +84,7 @@ module Guard
82
84
  # @option options [String] :title the title of the system notification
83
85
  #
84
86
  def notify(message, options = {})
85
- ::Guard::Notifier.notify(message, options)
87
+ Compat::UI.notify(message, options)
86
88
  end
87
89
 
88
90
  private
@@ -93,7 +95,7 @@ module Guard
93
95
  # @param [String] color_code the color code
94
96
  #
95
97
  def color(text, color_code)
96
- ::Guard::UI.send(:color_enabled?) ? "\e[0#{ color_code }m#{ text }\e[0m" : text
98
+ Compat::UI.color_enabled? ? "\e[0#{ color_code }m#{ text }\e[0m" : text
97
99
  end
98
100
  end
99
101
  end
@@ -1,5 +1,7 @@
1
+ require 'guard/compat/plugin'
2
+
1
3
  module Guard
2
- class Jasmine
4
+ class Jasmine < Plugin
3
5
  # The inspector verifies if the changed paths are valid
4
6
  # for Guard::Jasmine. Please note that request to {.clean}
5
7
  # paths keeps the current valid files cached until {.clear} is
@@ -2,7 +2,7 @@
2
2
  var exitSuccessfully, jasmineAvailable, options, page, phantomExit, reportError, reporterMissing, reporterReady, specsDone, specsTimedout, waitFor;
3
3
 
4
4
  options = {
5
- url: phantom.args[0] || 'http://127.0.0.1:3000/jasmine',
5
+ url: phantom.args[0] || 'http://localhost:3000/jasmine',
6
6
  timeout: parseInt(phantom.args[1] || 10000)
7
7
  };
8
8
 
@@ -12,6 +12,11 @@
12
12
  return reportError("Javascript error encountered on Jasmine test page: " + message, trace);
13
13
  };
14
14
 
15
+ page.onResourceError = function(error) {
16
+ page.reason = error.errorString;
17
+ return page.reason_url = error.url;
18
+ };
19
+
15
20
  page.onInitialized = function() {
16
21
  page.injectJs('guard-reporter.js');
17
22
  return page.evaluate(function() {
@@ -26,7 +31,7 @@
26
31
 
27
32
  page.onLoadFinished = function(status) {
28
33
  if (status !== 'success') {
29
- return reportError("Unable to access Jasmine specs at " + options.url + ", page returned status: " + status);
34
+ return reportError("Unable to access Jasmine specs at " + page.reason_url + ". " + page.reason);
30
35
  } else {
31
36
  return waitFor(reporterReady, jasmineAvailable, options.timeout, reporterMissing);
32
37
  }
@@ -1,7 +1,7 @@
1
1
 
2
2
  # Set default values
3
3
  options =
4
- url: phantom.args[0] || 'http://127.0.0.1:3000/jasmine'
4
+ url: phantom.args[0] || 'http://localhost:3000/jasmine'
5
5
  timeout: parseInt(phantom.args[1] || 10000)
6
6
 
7
7
  # Create the web page.
@@ -12,6 +12,10 @@ page = require('webpage').create()
12
12
  page.onError = (message, trace) ->
13
13
  reportError "Javascript error encountered on Jasmine test page: #{ message }", trace
14
14
 
15
+ page.onResourceError = (error)->
16
+ page.reason = error.errorString
17
+ page.reason_url = error.url
18
+
15
19
  # Once the page is initialized, setup the script for
16
20
  # the GuardReporter class
17
21
  page.onInitialized = ->
@@ -24,7 +28,7 @@ page.onInitialized = ->
24
28
  # Once the page is finished loading
25
29
  page.onLoadFinished = (status)->
26
30
  if status isnt 'success'
27
- reportError "Unable to access Jasmine specs at #{ options.url }, page returned status: #{status}"
31
+ reportError "Unable to access Jasmine specs at #{page.reason_url}. #{page.reason}"
28
32
  else
29
33
  waitFor reporterReady, jasmineAvailable, options.timeout, reporterMissing
30
34
 
@@ -2,10 +2,13 @@
2
2
 
3
3
  require 'multi_json'
4
4
  require 'fileutils'
5
+
6
+ require 'guard/compat/plugin'
7
+ require 'guard/jasmine'
5
8
  require 'guard/jasmine/util'
6
9
 
7
10
  module Guard
8
- class Jasmine
11
+ class Jasmine < Plugin
9
12
  # The Jasmine runner handles the execution of the spec through the PhantomJS binary,
10
13
  # evaluates the JSON response from the PhantomJS Script `guard_jasmine.coffee`,
11
14
  # writes the result to the console and triggers optional system notifications.
@@ -5,8 +5,10 @@ require 'timeout'
5
5
  require 'childprocess'
6
6
  require 'jasmine'
7
7
 
8
+ require 'guard/compat/plugin'
9
+
8
10
  module Guard
9
- class Jasmine
11
+ class Jasmine < Plugin
10
12
  # Start and stop a Jasmine test server for requesting the specs
11
13
  # from PhantomJS.
12
14
  #
@@ -47,7 +49,7 @@ module Guard
47
49
  #
48
50
  def stop
49
51
  if process
50
- ::Guard::UI.info 'Guard::Jasmine stops server.'
52
+ Compat::UI.info 'Guard::Jasmine stops server.'
51
53
  process.stop(5)
52
54
  end
53
55
  end
@@ -105,7 +107,7 @@ module Guard
105
107
  rackup_config = options[:rackup_config]
106
108
  coverage = options[:coverage] ? 'on' : 'off'
107
109
 
108
- ::Guard::UI.info "Guard::Jasmine starts #{ server } spec server on port #{ port } in #{ environment } environment (coverage #{ coverage })."
110
+ Compat::UI.info "Guard::Jasmine starts #{ server } spec server on port #{ port } in #{ environment } environment (coverage #{ coverage })."
109
111
  execute(options, ['rackup', '-E', environment.to_s, '-p', port.to_s, '-s', server.to_s, rackup_config])
110
112
  end
111
113
 
@@ -121,7 +123,7 @@ module Guard
121
123
  environment = options[:server_env]
122
124
  coverage = options[:coverage] ? 'on' : 'off'
123
125
 
124
- ::Guard::UI.info "Guard::Jasmine starts Unicorn spec server on port #{ port } in #{ environment } environment (coverage #{ coverage })."
126
+ Compat::UI.info "Guard::Jasmine starts Unicorn spec server on port #{ port } in #{ environment } environment (coverage #{ coverage })."
125
127
  execute(options, ['unicorn_rails', '-E', environment.to_s, '-p', port.to_s])
126
128
  end
127
129
 
@@ -132,7 +134,7 @@ module Guard
132
134
  # @option options [Symbol] server the rack server to use
133
135
  #
134
136
  def start_rake_server(port, task, options)
135
- ::Guard::UI.info "Guard::Jasmine starts Jasmine Gem test server on port #{ port }."
137
+ Compat::UI.info "Guard::Jasmine starts Jasmine Gem test server on port #{ port }."
136
138
  execute(options, ['rake', task, "JASMINE_PORT=#{ port }"])
137
139
  end
138
140
 
@@ -151,8 +153,8 @@ module Guard
151
153
  process.io.inherit! if options[:verbose]
152
154
  process.start
153
155
  rescue => e
154
- ::Guard::UI.error "Cannot start server using command #{ cmd.join(' ') }."
155
- ::Guard::UI.error "Error was: #{ e.message }"
156
+ Compat::UI.error "Cannot start server using command #{ cmd.join(' ') }."
157
+ Compat::UI.error "Error was: #{ e.message }"
156
158
  end
157
159
 
158
160
  # Wait until the Jasmine test server is running.
@@ -164,7 +166,7 @@ module Guard
164
166
  Timeout.timeout(timeout) do
165
167
  loop do
166
168
  begin
167
- ::TCPSocket.new('127.0.0.1', port).close
169
+ ::TCPSocket.new('localhost', port).close
168
170
  break
169
171
  rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH
170
172
  # Ignore, server still not available
@@ -174,12 +176,12 @@ module Guard
174
176
  end
175
177
 
176
178
  rescue Timeout::Error
177
- ::Guard::UI.warning "Timeout while waiting for the server to startup"
178
- ::Guard::UI.warning "Most likely there is a configuration error that's preventing the server from starting"
179
- ::Guard::UI.warning "You may need to increase the `:server_timeout` option."
180
- ::Guard::UI.warning "The commandline that was used to start the server was:"
181
- ::Guard::UI.warning cmd.join(' ')
182
- ::Guard::UI.warning "You should attempt to run that and see if any errors occur"
179
+ Compat::UI.warning "Timeout while waiting for the server to startup"
180
+ Compat::UI.warning "Most likely there is a configuration error that's preventing the server from starting"
181
+ Compat::UI.warning "You may need to increase the `:server_timeout` option."
182
+ Compat::UI.warning "The commandline that was used to start the server was:"
183
+ Compat::UI.warning cmd.join(' ')
184
+ Compat::UI.warning "You should attempt to run that and see if any errors occur"
183
185
 
184
186
  throw :task_has_failed
185
187
  end
@@ -1,9 +1,10 @@
1
1
  require 'net/http'
2
2
  require 'timeout'
3
+ require 'guard/compat/plugin'
3
4
  require 'guard/jasmine/formatter'
4
5
 
5
6
  module Guard
6
- class Jasmine
7
+ class Jasmine < Plugin
7
8
  # Provider of some shared utility methods.
8
9
  #
9
10
  module Util
@@ -1,6 +1,6 @@
1
1
  module Guard
2
2
  module JasmineVersion
3
3
  # Guard::Jasmine version that is used for the Gem specification
4
- VERSION = '2.0.1'
4
+ VERSION = '2.0.2'
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guard-jasmine
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Kessler
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-12-21 00:00:00.000000000 Z
12
+ date: 2015-01-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: guard
@@ -31,14 +31,14 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '0.3'
34
+ version: '1.2'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '0.3'
41
+ version: '1.2'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: jasmine
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -123,48 +123,6 @@ dependencies:
123
123
  - - ">="
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: rake
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: '0'
133
- type: :development
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: '0'
140
- - !ruby/object:Gem::Dependency
141
- name: rack
142
- requirement: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - ">="
145
- - !ruby/object:Gem::Version
146
- version: '0'
147
- type: :development
148
- prerelease: false
149
- version_requirements: !ruby/object:Gem::Requirement
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- version: '0'
154
- - !ruby/object:Gem::Dependency
155
- name: yard
156
- requirement: !ruby/object:Gem::Requirement
157
- requirements:
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: '0'
161
- type: :development
162
- prerelease: false
163
- version_requirements: !ruby/object:Gem::Requirement
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- version: '0'
168
126
  description: Guard::Jasmine automatically tests your Jasmine specs on PhantomJS
169
127
  email:
170
128
  - michi@flinkfinger.com